1- #!/usr/bin/env bash
1+ #! /usr/bin/env bash
22set -e
33
4- # check if code-server is installed, and then install extensions into specified directory
4+ # install updated version of code-server
5+ VERSION=4.100.3
6+ mkdir /.code-server
7+ cd /.code-server
8+ curl -fL " https://github.com/coder/code-server/releases/download/v$VERSION /code-server-$VERSION -linux-amd64.tar.gz" \
9+ | tar -xz
10+ ln -s /.code-server/code-server-$VERSION -linux-amd64/bin/code-server /usr/bin/code-server
11+ cd -
12+
13+ # Check if code-server is installed, then install extensions into specified directory
514if code-server --disable-telemetry --version; then
6- if [ ! -d "/.vscode/extensions" ]
7- then
8- echo "Directory /.vscode/extensions DOES NOT exists."
9- mkdir -p /.vscode/extensions/
10- fi
11-
12- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension ms-python.python
13- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension njpwerner.autodocstring
14- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension KevinRose.vsc-python-indent
15- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension mhutchie.git-graph
16- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension zhuangtongfa.material-theme
17- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension ms-python.black-formatter
18- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension eamodio.gitlens
19- code-server --disable-telemetry --extensions-dir=/.vscode/extensions --install-extension ryanluker.vscode-coverage-gutters
20-
21- curl -L -o copilot_1.161.zip https://github.com/user-attachments/files/16859733/copilot_1.161.zip
22- unzip copilot_1.161.zip
23- code-server --extensions-dir=/.vscode/extensions --install-extension GitHub.copilot-1.161.0.vsix
24- rm copilot_1.161.zip GitHub.copilot-1.161.0.vsix
15+ EXT_DIR=" /.vscode/extensions"
16+ if [ ! -d " $EXT_DIR " ]; then
17+ echo " Directory $EXT_DIR does not exist."
18+ mkdir -p " $EXT_DIR "
19+ fi
20+
21+ # --- For extensions available in the default open-vsx registry ---
22+ EXTENSIONS=(
23+ ms-python.python
24+ njpwerner.autodocstring
25+ KevinRose.vsc-python-indent
26+ mhutchie.git-graph
27+ zhuangtongfa.material-theme
28+ ms-python.black-formatter
29+ eamodio.gitlens
30+ ryanluker.vscode-coverage-gutters
31+ )
32+
33+ for EXT in " ${EXTENSIONS[@]} " ; do
34+ code-server --disable-telemetry --extensions-dir=" $EXT_DIR " --install-extension " $EXT "
35+ done
36+
37+ # --- For extensions not available in the default open-vsx registry ---
38+ download_and_install_extension () {
39+ publisher=$1
40+ name=$2
41+ version=$3
42+ file=/tmp/$publisher .$name .$version .vsix
43+ curl -fL http://${publisher} .gallery.vsassets.io/_apis/public/gallery/publisher/${publisher} /extension/${name} /${version} /assetbyname/Microsoft.VisualStudio.Services.VSIXPackage \
44+ --output $file
45+ code-server --extensions-dir=/.vscode/extensions --install-extension $file
46+ }
47+
48+ download_and_install_extension github copilot 1.326.0
49+ download_and_install_extension github copilot-chat 0.27.3
2550
26- else
27- echo "code-server not found"
28- fi
51+ else
52+ echo " code-server not found"
53+ fi
0 commit comments