vscode不会自动处理git冲突或离线下载插件,二者均需显式操作:git冲突须手动点击按钮后执行git add暂存,语言插件离线安装后还需补全lsp服务器等网络依赖。

VSCode 不会自动处理 Git 代码冲突,也不会离线下载插件——这两件事都依赖明确的外部动作和环境准备,缺一不可。
vscode --install-extension 命令不生效?先确认 CLI 和路径
报 command not found: code 不是插件问题,而是 VSCode 的命令行工具没注册进系统 PATH。这在离线环境中尤其容易被忽略。
- 在 VSCode 中按
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入并执行Shell Command: Install 'code' command in PATH - Windows 下路径含空格必须用双引号包裹:
code --install-extension "C:\my ext\prettier-3.2.5.vsix" - macOS/Linux 必须用绝对路径:
code --install-extension /opt/vscode-ext/ms-python.python-2024.6.0.vsix - 安装后不重启 VSCode,插件不会加载;若仍不生效,检查右下角状态栏是否显示
Extensions disabled by policy(企业策略禁用)
装上 vsix 却提示 “not compatible with Code”?版本和架构要对齐
这个错误不是“装不了”,而是 VSCode 主版本号、架构(x64/arm64)、甚至 package.json 中声明的 engines.vscode 范围不匹配。
- 运行
code --version查主版本(如1.85.2→ 取1.85) - 用
unzip -p your-extension.vsix extension/package.json | grep engines查插件要求的最低版本(如"^1.80.0") - Help → About 里括号内容(如
arm64)必须与插件构建目标一致;ARM Mac 上装 x64 插件会导致 native 模块加载失败 - 别用 Windows 右键“重命名”改后缀,用 PowerShell 执行
Copy-Item "old.zip" "new.vsix" -Force生成干净文件
冲突文件点了 “Accept Current Change” 还报冲突?Git 状态机不认 UI
VSCode 的按钮只改文件内容,不触发 Git 的状态变更。Git 完全无视编辑器界面,只看 git add 是否执行。
- 每个冲突块独立处理:一个
Accept Current Change按钮只影响当前光标所在区域,不会扫全文件 - 点完按钮后,必须手动执行
git add <file></file>,或在源代码管理视图中点击文件旁的+号暂存 - 如果用了
git mergetool唤起 VSCode,关掉窗口前 Git 会一直阻塞;切终端就卡住,不是崩溃 -
git status显示Unmerged paths就说明合并流程没走完,哪怕你删光了所有标记
Python/ESLint 插件装上了但功能灰掉?LSP 服务器没离线到位
语言类插件(如 ms-python.python)离线安装后首次启用,会尝试下载 pyright、eslint 等二进制依赖,默认走外网,结果卡在“Downloading…”或报 spawn ENOENT。
- 正确做法:在外网机器上完整启用一次该插件(打开 .py 文件 → 等下载完成 → 不卸载),再拷整个插件目录(如
ms-python.python-2024.6.0/)到内网对应extensions/路径 - 不能只拷
.vsix,也不能只拷node_modules;native 二进制(如pyright-server)藏在子目录里,漏一个就启动失败 - 验证方式:打开 Output 面板 → 切换到 Python 或 ESLint 通道 → 看是否有
Failed to fetch或spawn ENOENT
离线场景下最麻烦的从来不是“怎么装”,而是“装完之后谁来补上那些默认走网络的后续动作”——比如 LSP 启动、schema 加载、依赖下载。这些步骤没有 UI 提示,失败时往往只表现为功能缺失,排查起来需要直奔日志和路径结构。











