Este script baixa um tar do VS Code Server/CLI e, em seguida, extrai-o para um local esperado por túneis feitos por clientes do VS Code.
A intenção deste script é pré-instalar o binário do VS Code durante a construção da imagem do contêiner. Isso ajuda a garantir, em determinados cenários, que o binário esteja presente quando a Internet não estiver; enquanto ainda permite que seu cliente VS Code faça um túnel para o contêiner.
Quando o binário do VS Code estiver desatualizado, para obter a versão mais recente, execute novamente o script.
O motivo original foi e ainda é evitar o download e a instalação constantes do servidor VS Code quando o contêiner é removido e executado novamente mais tarde. Com o servidor incorporado na imagem, também deve reduzir o tempo para o contêiner de desenvolvimento ficar pronto.
Originalmente começou como um Gist; que você pode revisar versões anteriores do script em 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
Muda para a versão pré-lançada do binário escolhido (servidor ou CLI).
--dump-sha
Irá imprimir o sha de commit mais recente para o VS Code (servidor e CLI estão atualmente sincronizados e sempre iguais)
--cli
Alterna o download binário do VS Code CLI.
--alpine
Funciona apenas ao baixar o VS Code Server, forçará PLATFORM=linux e ARCH=alpine, pois os desenvolvedores se desviaram do formato padrão usado para todos os outros.
-h, --help
Imprime estas informações de uso
--extensions
especifica quais extensões instalar. espera uma sequência de nomes completos de extensões separados por um espaço, por exemplo, "ms-vscode.PowerShell redhat.ansible ms-python.vscode-pylance"
Exemplo
download-vs-code.sh " linux " " x64 " --extensions " ms-vscode.cpptools ms-vscode.cpptools-extension-pack "
--use-commit
Baixe o VS Code Server/CLI com o commit sha fornecido. Isso permite baixar o VS Code Server correspondente para uma instalação existente do VS Code que não seja a versão de commit mais recente.