最稳方式是设置环境变量VSCODE_EXTENSIONS——Windows设系统变量,macOS/Linux加export到shell配置文件,重启VS Code后新插件自动装入指定路径,旧插件需手动复制且不可剪切。

VSCode插件路径不能混用波浪号和反斜杠
Windows 用户常在 settings.json 里写 "extensions.installDir": "~\.vscode\extensions",这会导致插件安装失败——VSCode 不解析 ~,也不兼容 Windows 原生的反斜杠转义。它只接受绝对路径或环境变量展开后的路径。
- 正确写法(Windows):
"extensions.installDir": "C:\Users\Alice\.vscode\extensions"或"extensions.installDir": "${env:USERPROFILE}\.vscode\extensions" - 正确写法(macOS/Linux):
"extensions.installDir": "/Users/Alice/.vscode/extensions"或"extensions.installDir": "${env:HOME}/.vscode/extensions" -
${env:...}是唯一被 VSCode 原生支持的变量语法,~、$HOME、%USERPROFILE%在 JSON 配置中均无效 - 路径末尾不要加斜杠,否则某些插件可能创建嵌套空目录
启动参数 --extensions-dir 的路径必须真实存在且可写
用 code --extensions-dir /path/to/ext 启动时,VSCode 不会自动创建父目录,也不会提示“目录不存在”。它静默失败,回退到默认路径,但不报错——你看到插件装上了,其实全在 ~/.vscode/extensions 里。
- 务必提前执行
mkdir -p /path/to/ext(Linux/macOS)或mkdir /path/to/ext(Windows CMD) - 检查权限:
ls -ld /path/to/ext确保当前用户有读写权;Windows 上注意是否被 OneDrive 或策略组策略重定向 - 路径中避免空格和中文(尤其在 Windows PowerShell 中),否则部分 shell 会截断参数
- 该参数优先级高于
settings.json中的extensions.installDir,二者共存时后者被忽略
多工作区下插件路径不会按工作区隔离
VSCode 没有“每个工作区独立插件目录”的机制。无论你打开多少个文件夹、使用多少个 .code-workspace,所有插件都从同一个 extensions 目录加载。所谓“工作区禁用插件”,只是 UI 层面的开关,不影响实际安装位置。
- 想实现插件隔离?只能靠多个 VSCode 实例 + 不同的
--extensions-dir启动参数 - 例如测试某插件兼容性:启动一个干净实例
code --extensions-dir /tmp/vscode-test-ext --user-data-dir /tmp/vscode-test-user - 注意:
--user-data-dir和--extensions-dir必须配对使用,否则扩展可能加载失败(因配置与插件状态不匹配) - 不要试图用符号链接把
.vscode/extensions指向不同位置来“欺骗”多工作区——VSCode 启动时扫描的是物理路径,不是链接目标
插件目录名含版本号,手动删错文件夹会导致残留注册
插件卸载不等于文件删除。VSCode 卸载时会删插件目录,但若你手动删了 ms-python.python-2025.8.1 这类文件夹,而 package.json 缓存或扩展管理器 UI 还记着它,就可能出现“已卸载却仍显示启用中”或“重装后报校验失败”。
- 安全删除方式:在 VSCode 内右键插件 → “卸载”,再重启编辑器
- 若已手动删了,运行
Developer: Reload Window(Ctrl+Shift+P)后,再进Extensions视图刷新列表 - 极端情况可清空
~/.vscode/extensions并重装,但必须同步备份settings.json和已启用状态(导出扩展列表:code --list-extensions > ext-list.txt) - 插件目录名中的版本号不是语义化版本,而是 Marketplace 发布时打的 tag,不可随意修改或重命名
settings.json 的路径修改不会生效,必须重启。哪怕你改完 extensions.installDir 并保存,不关掉所有 VSCode 窗口再重开,它还是用老路径。


















