VSCode离线安装插件必须使用.vsix文件,唯一可靠入口是命令面板中“Extensions: Install from VSIX...”,需从官方市场下载带版本号的.vsix文件,安装后须重启VSCode才生效。

VSCode 离线安装插件必须用 .vsix 文件
没有网络时,VSCode 完全无法访问 Marketplace,Extensions: Install from VSIX... 是唯一可行入口。别指望拖拽或双击打开 —— 必须通过命令面板触发。
实操要点:
- 提前在有网机器上从
https://marketplace.visualstudio.com/items?itemName=xxx页面点击「Download Extension」获取.vsix文件(注意不是网页源码) - 文件名通常含版本号,如
esbenp.prettier-vscode-9.10.3.vsix,不同版本可能有 API 兼容差异 - 离线机上打开 VSCode →
Ctrl+Shift+P→ 输入并选择Extensions: Install from VSIX...→ 选中文件 - 安装后需手动重启 VSCode 才能启用,仅重载窗口不生效
git diff 是 VSCode 内置对比的底层依赖
VSCode 的「Compare Active File with Branch」或右键「Select for Compare」功能,本质调用的是本地 git diff 命令。如果没装 Git 或 PATH 未配置,所有对比操作都会静默失败,界面无报错提示。
验证与修复方式:
- 终端执行
git --version,确认返回类似git version 2.39.0 - 若报
command not found: git,需安装 Git 并勾选「Add Git to the system PATH」(Windows 安装器选项;macOS 用brew install git;Linux 用apt install git) - VSCode 设置里检查
git.path是否为空 —— 大多数情况留空即可自动发现,除非 Git 装在非标路径 - 对比大文件(>5MB)时,VSCode 可能卡顿或截断显示,这是
git diff默认限制,可临时加参数:git config --global pager.diff false
「文件对比」和「暂存区对比」走的是两套逻辑
右键菜单里的「Compare with Saved」是和磁盘文件比,而「Compare with HEAD」或「Compare with Branch」是和 Git 仓库状态比 —— 后者依赖 git index,未 git add 的修改不会出现在暂存区对比中。
常见困惑点:
- 改完文件但没
git add,点「Compare with HEAD」看到的是「No changes」—— 实际是 Git 认为工作区和 HEAD 一致(因为未暂存) - 想对比未暂存修改,应选「Compare with Saved」或直接用命令
git diff --no-index <file1> <file2> - VSCode 内置的「Open Changes」视图(
Ctrl+Shift+G→ 点文件旁的⋯)只显示已暂存/未暂存的变更列表,不等于实时 diff 面板
离线环境下的 diff 工具链要精简可靠
一旦断网,基于 Web 的 diff 插件(如某些 YAML/JSON 格式化对比工具)会彻底不可用;而纯本地型插件如 GitLens 或原生 diff 功能仍可运行,但部分高级特性(如 commit graph 远程同步、PR 关联)会降级。
建议策略:
- 离线主力用 VSCode 原生对比(
Ctrl+K Ctrl+D)+git diff终端命令,稳定无依赖 - 避免安装带「cloud」「sync」「AI」字样的插件,这类基本都要求联网校验 license 或 fetch 模型
- 若必须用第三方 diff,优先选标注「offline support」且发布包含完整
.vsix的插件(例如vscode-diff的旧版 0.0.3) - 离线前导出常用 diff 配置:在
settings.json中保留"diffEditor.ignoreTrimWhitespace": true等关键项,避免每次重装重配
离线场景下最易被忽略的其实是 Git 索引状态和 VSCode 缓存之间的错位 —— 修改文件后不刷新资源管理器,或未触发保存就点对比,会导致看到的不是最新内容。养成 Ctrl+S 后再操作的习惯,比任何插件都管用。



















