このスクリプトは、VS Code サーバー/CLI の tar をダウンロードし、それを VS Code クライアントによって作成されたトンネルによって予期される場所に抽出します。
このスクリプトの目的は、コンテナー イメージのビルド中に VS Code バイナリをプレインストールすることです。これは、特定のシナリオで、インターネットが接続されていないときにバイナリが確実に存在するようにするのに役立ちます。同時に、VS Code クライアントがコンテナーにトンネルできるようになります。
VS Code バイナリが古い場合、最新バージョンを取得するには、スクリプトを再実行します。
元々の理由は、コンテナーが削除され、後で再度実行されるときに VS Code サーバーが継続的にダウンロードおよびインストールされるのを防ぐためであり、現在もその理由です。サーバーがイメージに埋め込まれているため、開発コンテナの準備が整うまでの時間も短縮されます。
もともとは Gist として始まりました。 b01/download-vs-code-server.sh でスクリプトの以前のバージョンを確認できます。
curl -L https://raw.githubusercontent.com/b01/dl-vscode-server/main/download-vs-code-server.sh
| bash -s -- " linux "
DL_VER= "0.2.1"
# Install VS Code Server
RUN curl -LO https://raw.githubusercontent.com/b01/dl-vscode-server/refs/tags/${DL_VER}/download-vs-code.sh
&& chmod +x download-vs-code.sh
&& ./download-vs-code.sh "linux" "x64" --extensions "dbaeumer.vscode-eslint"
download-vs-code.sh [options]
download-vs-code.sh " linux " " x64 " --extensions " dbaeumer.vscode-eslint " --use-commit 384ff7382de624fb94dbaf6da11977bba1ecd427
--insider
選択したバイナリ (サーバーまたは CLI) のプレリリース バージョンに切り替えます。
--dump-sha
VS Code の最新のコミット SHA を出力します (サーバーと CLI は現在同期されており、常に同じです)
--cli
バイナリ ダウンロード VS Code CLI を切り替えます。
--alpine
VS Code Server をダウンロードする場合にのみ機能します。開発者が他のすべてで使用される標準形式から逸脱しているため、PLATFORM=linux および ARCH=alpine が強制されます。
-h, --help
この使用法情報を出力します
--extensions
インストールする拡張機能を指定します。スペースで区切られた完全な拡張子の文字列が必要です (例: "ms-vscode.PowerShell redhat.ansible ms-python.vscode-pylance")。
例
download-vs-code.sh " linux " " x64 " --extensions " ms-vscode.cpptools ms-vscode.cpptools-extension-pack "
--use-commit
提供されたコミット SHA を使用して VS Code サーバー/CLI をダウンロードします。これにより、最新のコミット バージョンではない既存の VS Code インストールに一致する VS Code サーバーをダウンロードできます。