打开你的本地vscode, Help-About 查看自己版本
用自己电脑替换下方commit值,下载后上传到linux 的/tmp/目录
将你的commit值填到下面代码中,复制代码,保存到linxu下如 vs.sh文件
再 bash vs.sh 执行即可,执行完后重启vscode
#!/usr/bin/env bash
set -euo pipefail
COMMIT=你的值
TMP=/tmp/vscode_deploy
rm -rf "$TMP"; mkdir -p "$TMP"
echo "==> 1. 清理旧残包"
rm -f ~/.vscode-server/code-$COMMIT
rm -f ~/.vscode-server/vscode-cli-*.tar.gz
rm -rf ~/.vscode-server/cli/servers/Stable-$COMMIT
echo "==> 2. 下载 Server 包(官方原始源)"
curl -fL --retry 10 --retry-all-errors --connect-timeout 20 \
"https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT/vscode-server-linux-x64.tar.gz" \
-o "$TMP/vscode-server.tar.gz" \
|| curl -fL --retry 10 --retry-all-errors \
"https://update.code.visualstudio.com/commit:$COMMIT/server-linux-x64/stable" \
-o "$TMP/vscode-server.tar.gz"
echo "==> 3. 下载 CLI 包(官方原始源)"
curl -fL --retry 10 --retry-all-errors --connect-timeout 20 \
"https://vscode.download.prss.microsoft.com/dbazure/download/stable/$COMMIT/vscode_cli_alpine_x64_cli.tar.gz" \
-o "$TMP/vscode-cli.tar.gz" \
|| curl -fL --retry 10 --retry-all-errors \
"https://update.code.visualstudio.com/commit:$COMMIT/cli-alpine-x64/stable" \
-o "$TMP/vscode-cli.tar.gz"
echo "==> 4. 校验 gzip 完整性(不完整直接退出)"
gzip -t "$TMP/vscode-server.tar.gz"
gzip -t "$TMP/vscode-cli.tar.gz"
echo "gzip 校验通过"
echo "==> 5. 部署 Server"
mkdir -p ~/.vscode-server/cli/servers/Stable-$COMMIT/server
tar -xzf "$TMP/vscode-server.tar.gz" \
-C ~/.vscode-server/cli/servers/Stable-$COMMIT/server \
--strip-components=1
touch ~/.vscode-server/cli/servers/Stable-$COMMIT/0
echo "==> 6. 部署 CLI"
rm -rf "$TMP/cli_ext"; mkdir -p "$TMP/cli_ext"
tar -xzf "$TMP/vscode-cli.tar.gz" -C "$TMP/cli_ext"
CLI_BIN=$(find "$TMP/cli_ext" -type f -name code | head -1)
[ -z "$CLI_BIN" ] && { echo "找不到 cli 二进制"; exit 1; }
cp "$CLI_BIN" ~/.vscode-server/code-$COMMIT
chmod +x ~/.vscode-server/code-$COMMIT
echo "==> 7. 取消镜像变量(避免指向不通的 cdn)"
sed -i '/VSCODE_SERVER_MIRROR/d' ~/.bashrc
echo "==> 8. 权限"
chmod 700 ~/.vscode-server
chmod -R u+rwX ~/.vscode-server/cli
echo "==> 9. 校验关键文件"
ls -lh ~/.vscode-server/cli/servers/Stable-$COMMIT/server/bin/code-server
ls -lh ~/.vscode-server/code-$COMMIT
echo "DONE. 完全关闭 VS Code 后重连。"


鄂公网安备 42018502001427号
发表评论