VS Code 多项目应使用工作区(.code-workspace 文件)而非反复打开文件夹,它可并存多个文件夹、保存专属设置;需手动管理扩展启用范围、谨慎配置 settings.json 并排除敏感项。

VS Code 里打开多个项目,别用“文件 > 打开文件夹”反复覆盖
直接用 File > Open Folder 打开第二个文件夹时,当前窗口会关闭原有项目——这不是多项目,是替换。真正支持并存多个项目的机制叫「工作区(Workspace)」,它本质是一个 .code-workspace 文件,记录了多个文件夹路径和各自设置。
- 手动创建:菜单
File > Save Workspace As…,保存为my-project.code-workspace - 添加文件夹:打开工作区后,右键资源管理器空白处 →
Add Folder to Workspace… - 移除文件夹:右键某个文件夹 →
Remove Folder from Workspace - 工作区文件可提交到 Git(但注意排除
settings.json中的用户敏感配置)
切换工作区不能只靠「最近打开」,要用命令面板或工作区文件关联
VS Code 的「最近打开」列表默认只显示文件夹,不区分是否属于某工作区;点进去可能只是单文件夹视图,丢失其他已添加的文件夹和工作区级设置。
- 快捷切换:按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(Mac),输入Workspaces: Open Workspace,选择已保存的.code-workspace文件 - 更省事:把
.code-workspace文件和对应项目放一起,双击它即可用 VS Code 启动完整工作区 - 终端启动:在终端中运行
code my-project.code-workspace,确保已配置code命令(见 VS Code 文档「Shell Command」)
工作区设置(settings.json)优先级高于用户设置,但别乱改共享配置
每个工作区根目录下的 .vscode/settings.json 会覆盖全局设置,比如你想让「前端项目」默认启用 ESLint,而「脚本工具」禁用它,就得在这里写:
{
"eslint.enable": true,
"files.autoSave": "onFocusChange",
"editor.tabSize": 2
}
- 多人协作时,避免写入机器相关路径(如
"python.defaultInterpreterPath")、密钥、绝对路径 - 若需差异化 Python 解释器,改用
.vscode/pythonPath或更推荐的「Python 扩展的环境选择器」(右下角点击 Python 版本,选对应 venv) - 想让某些设置仅对当前工作区生效且不提交?加
// @ts-ignore注释没用;正确做法是设为"editor.fontFamily": "Consolas, 'Courier New', monospace"这类安全项,或用settings.json+.gitignore排除
扩展启用范围不自动随工作区切换,得手动开关
装了 50 个插件,但只有 3 个在数据库项目里有用?VS Code 默认全局启用所有已安装扩展,不会因为你切到某个工作区就自动禁用无关插件——这既影响启动速度,也可能引发冲突(比如两个 LSP 插件同时尝试处理同一类文件)。
- 右键扩展面板里的某个插件 →
Extension Settings→ 切换「Workspace」选项卡 → 开关「Enable in Workspace」 - 常见要限制的:Docker、Kubernetes、Python、Remote-SSH、GitLens(部分功能在纯前端项目里没必要)
- 检查当前工作区启用了哪些扩展:命令面板输入
Extensions: Show Enabled Extensions in This Workspace










