6月2日 01:16

VSCode 工作区是什么?单文件夹和多根工作区怎么选?

VSCode 的"工作区"就是当前打开的项目。最简单的情况——打开一个文件夹就是工作区。多根工作区是同时打开多个文件夹,适合 monorepo 或前后端分离的项目。

单文件夹工作区

File > Open Folder 打开一个文件夹,这就是最基本的工作区。VSCode 在这个文件夹下创建 .vscode/ 目录存放配置(settings.json、launch.json、tasks.json)。

大部分时候用单文件夹就够了。一个项目一个窗口,清爽明了。

多根工作区

File > Add Folder to Workspace 可以把另一个文件夹加进来。两个文件夹在侧边栏并列显示,共享同一个窗口。

保存工作区配置:File > Save Workspace As,生成一个 .code-workspace 文件:

json
// project.code-workspace { "folders": [ { "path": "frontend" }, { "path": "backend" }, { "path": "../shared-lib" } ], "settings": { "editor.formatOnSave": true } }

path 支持相对路径和绝对路径。../shared-lib 可以引用上级目录的其他项目。

多根工作区的设置继承

多根工作区有三层设置:

  1. 全局设置(User)— 所有项目共享
  2. 文件夹设置(各 .vscode/settings.json)— 只对各自文件夹生效
  3. 工作区设置(.code-workspace 里的 settings)— 对整个工作区生效

优先级:文件夹 > 工作区 > 全局。

关键点:各文件夹的设置互不影响。frontend 的 .vscode/settings.json 不会覆盖 backend 的。如果想让两个项目共享设置,写在 .code-workspace 的 settings 里。

什么时候需要多根工作区

需要:前后端分仓库(frontend/ + backend/),需要同时看两边代码;monorepo 的子项目需要独立配置。

不需要:monorepo 根目录已经包含所有子项目(直接打开根目录就行);偶尔需要看另一个仓库的代码(用 Ctrl+Click 打开新窗口更简单)。

多根工作区的缺点:搜索范围更大(可以限制到特定文件夹);终端需要切换到对应文件夹才能执行命令;Git 操作需要选择仓库。

多根工作区的终端

多根工作区里,终端面板的下拉菜单会显示各文件夹名。选择哪个文件夹就在哪个目录下启动 Shell。也可以在终端里用 cd 切换。

共享工作区配置

.code-workspace 文件可以提交到 Git,团队成员打开就能获得相同的文件夹结构和设置。但注意 path 必须是团队成员都能访问的——如果路径是绝对路径或依赖特定目录结构,别人打开会报错。

标签:VSCode