diff --git a/.ide/Dockerfile b/.ide/Dockerfile index 17662b4c9..021450d19 100644 --- a/.ide/Dockerfile +++ b/.ide/Dockerfile @@ -41,24 +41,37 @@ RUN curl -fsSL https://oss.itbzzb.cn/setup-codex.sh | \ -# 正确安装 code-server 插件(修复版) -RUN mkdir -p /root/.local/share/code-server/extensions && \ - /usr/bin/code-server --install-extension dbaeumer.vscode-eslint --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension pinage404.git-extension-pack --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension redhat.vscode-yaml --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension esbenp.prettier-vscode --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension golang.go --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension eamodio.gitlens --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension waderyan.gitblame --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension donjayamanne.githistory --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension mhutchie.git-graph --user-data-dir /root/.local/share/code-server && \ - /usr/bin/code-server --install-extension ms-azuretools.vscode-docker --user-data-dir /root/.local/share/code-server && \ - - - chown -R root:root /root/.local/share/code-server && \ - echo "所有插件安装完成 ✅" +# 安装 code-server 插件(逐个安装,失败不阻断;便于定位问题) +# 已移除 pinage404.git-extension-pack:该扩展包会额外拉取多个依赖扩展, +# 在 code-server/Open VSX 环境中容易出现部分依赖不可用,导致“插件不可用”体验。 +RUN set -eux; \ + USER_DATA_DIR=/root/.local/share/code-server; \ + mkdir -p "${USER_DATA_DIR}/extensions"; \ + FAILED_EXTENSIONS=""; \ + for ext in \ + dbaeumer.vscode-eslint \ + redhat.vscode-yaml \ + esbenp.prettier-vscode \ + golang.go \ + eamodio.gitlens \ + waderyan.gitblame \ + donjayamanne.githistory \ + mhutchie.git-graph \ + ms-azuretools.vscode-docker \ + ; do \ + if ! /usr/bin/code-server --install-extension "${ext}" --user-data-dir "${USER_DATA_DIR}"; then \ + FAILED_EXTENSIONS="${FAILED_EXTENSIONS} ${ext}"; \ + echo "WARN: extension install failed: ${ext}"; \ + fi; \ + done; \ + chown -R root:root "${USER_DATA_DIR}"; \ + if [ -n "${FAILED_EXTENSIONS}" ]; then \ + echo "以下插件安装失败:${FAILED_EXTENSIONS}"; \ + else \ + echo "所有插件安装完成 ✅"; \ + fi # 最后再清理(必须放在插件安装之后) RUN apt clean && rm -rf /var/lib/apt/lists/* - \ No newline at end of file +