如何判断Visual Studio Code扩展是本地安装还是全局安装?
如何判断Visual Studio Code扩展是本地安装还是全局安装?
确实,VS Code Extension Marketplace和code --help里都没明确说明这个判断方法,不过我们可以从存储路径和VS Code界面操作两个维度来区分:
1. 通过存储路径判断
- 全局安装的扩展:默认存放在用户个人目录下的
.vscode/extensions文件夹中:- macOS/Linux:
~/.vscode/extensions - Windows:
C:\Users\<你的用户名>\.vscode\extensions
这类扩展对当前用户打开的所有VS Code工作区都生效。
- macOS/Linux:
- 本地(工作区/项目)安装的扩展:分为两种情况:
- 直接绑定到特定项目的扩展:存放在项目根目录的
.vscode/extensions文件夹下,仅对当前项目生效; - 作为项目开发依赖安装的扩展(比如你写JavaScript时遇到的情况):会存放在项目的
node_modules目录中,这类扩展通常是配合项目的构建、代码检查工具使用,仅在当前项目环境中被VS Code识别。
- 直接绑定到特定项目的扩展:存放在项目根目录的
2. 通过VS Code界面直接判断
打开VS Code的扩展面板(快捷键Ctrl+Shift+X或Cmd+Shift+X),找到你要确认的扩展:
- 点击扩展右下角的齿轮图标,若出现**“从工作区卸载”**选项,说明该扩展是本地(工作区)安装的;
- 若只有**“从当前用户卸载”**选项,则该扩展是全局安装的。
关于你的猜测验证
你的部分判断是正确的:~/.vscode/extensions下的扩展确实是全局安装的,对所有工作区生效。不过关于node_modules的部分,要注意只有那些作为项目开发依赖安装的VS Code相关扩展才会放在这里,属于本地范畴;而直接通过VS Code为当前项目安装的扩展,会存在项目的.vscode/extensions目录下,同样是本地生效的。
内容的提问来源于stack exchange,提问作者Jim




