此腳本下載 VS Code 伺服器/CLI 的 tar,然後將其解壓縮到 VS Code 用戶端建立的隧道所需的位置。
此腳本的目的是在容器映像建置期間預先安裝 VS Code 二進位。在某些情況下,這有助於確保在沒有網路的情況下二進位檔案仍然存在;同時仍允許 VS Code 用戶端透過隧道連接到容器。
當 VS Code 二進位檔案已過期時,若要取得最新版本,請重新執行腳本。
最初的原因過去是,現在仍然是為了防止在容器被刪除然後再次運行時不斷下載和安裝 VS Code 伺服器。隨著伺服器嵌入到鏡像中,它還應該減少開發容器的準備時間。
它最初是作為一個要點開始的;您可以在 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 Server/CLI。這允許為不是最新提交版本的現有 VS Code 安裝下載匹配的 VS Code 伺服器。