code --install-extension 是离线安装 VSIX 插件最可靠的命令,要求绝对路径、需先配置 CLI 并验证版本兼容性,失败时明确报错;拖拽虽常用但易受焦点、全屏或远程环境影响;自动缩进纠正依赖 editor.formatOnSave 与 .editorconfig,与插件安装无关。

code --install-extension 是离线安装插件最可靠的命令,比拖拽更明确、可复现,且失败时会直接输出错误原因;而自动纠正缩进靠的是 editor.formatOnSave 配合 .editorconfig,两者完全独立,别指望装个插件就能自动修缩进。
用 code --install-extension 安装 .vsix 时路径必须绝对
相对路径在终端里几乎必然失败,VSCode CLI 不做路径补全。常见错误现象是执行后无输出、无提示、插件没出现——其实根本没读到文件。
- Linux/macOS:写成
code --install-extension /home/user/ext/ms-python.python-2024.6.0.vsix,不能用./xxx.vsix - Windows:推荐正斜杠写法
code --install-extension C:/ext/prettier-9.10.3.vsix;若用反斜杠,必须双写C:\ext\prettier.vsix - 路径含空格或中文:必须加英文双引号,例如
code --install-extension "/mnt/backup/my ext.vsix" - 先确认
code命令可用:终端运行code --version,若报错就去 VSCode 里按Ctrl+Shift+P输入Shell Command: Install 'code' command in PATH启用
拖拽 .vsix 文件没反应?大概率不是插件问题
拖拽是最常用方式,但失效原因几乎都和环境状态有关,和文件本身无关。VSCode 只在特定条件下响应拖放。
- VSCode 必须已加载一个工作区(哪怕只是打开一个空文件夹),纯启动页或远程 SSH 窗口不响应
- 窗口必须有系统焦点:任务栏图标未高亮、鼠标悬停无反应,就说明没焦点,点一下编辑区再试
- 别拖解压后的文件夹或重命名过的
.zip,用unzip -l xxx.vsix确认顶层是extension/目录 - 全屏模式、某些远程桌面(如 RDP)会拦截拖放事件,退出全屏再试
插件显示“已安装”但 Python 补全/格式化不生效
这是离线环境最典型的假成功。VSCode 安装 .vsix 只是把代码放进去,但像 ms-python.python 这类插件首次启用时,会自动下载 pyright 或 debugpy —— 这些二进制工具默认走外网,离线就会卡住或静默失败。
- 验证方法:打开一个
.py文件,看状态栏是否卡在Downloading pyright...;或者打开View → Output,切换到Python面板,查Failed to fetch或spawn ENOENT - 正确做法:提前在有网机器上打开同版本 VSCode + 同架构(x64/arm64),装好插件并打开一次
.py文件,等下载完成、状态栏变绿,再把整个~/.vscode/extensions/ms-python.python-2024.6.0/目录拷到内网机对应位置 - 注意:不能只拷
.vsix,也不能只拷node_modules,要整个扩展目录原样迁移
editor.formatOnSave 和 .editorconfig 才管缩进自动纠正
缩进风格纠正跟插件安装无关,是编辑器内置机制。装再多插件,没开这个设置或没配对 .editorconfig,保存时照样不会动缩进。
- 必须在设置中开启:
"editor.formatOnSave": true(推荐全局设,也可在工作区单独设) -
.editorconfig文件要放在项目根目录,且内容严格匹配语法,比如indent_style = space有效,但indent_style = "space"或indent_style = spaces会失效 - 某些后缀如
.jsx、.astro不被默认识别,需在.editorconfig中显式加段落:[*.jsx] - 改完
.editorconfig后必须保存文件(Ctrl+S),VSCode 才会重新加载规则
package.json 里写着 "engines": {"vscode": "^1.80.0"},而你本地是 1.79.2,VSCode 就会跳过加载它,既不报错也不提示——你得自己解压 .vsix 去翻那个字段。


















