此脚本下载 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 服务器。