登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

VS Code 工作区设置怎么只影响当前项目

来源:17golang原创

时间:2026-09-09 06:17:06 156浏览 收藏

如果你只想让某个项目隐藏 node_modules、保存时自动格式化,或者给某个仓库使用不同的编辑器行为,不要直接改 User Settings。VS Code 的正确做法是切到当前窗口的 Workspace 范围,把配置写进项目根目录的 .vscode/settings.json;这样它只在打开这个项目时生效。

要点速览
  • User Settings 影响所有 VS Code 项目,Workspace Settings 只跟随当前项目或工作区。
  • 入口是设置编辑器的 Workspace 标签,或命令面板中的 Preferences: Open Workspace Settings
  • 项目级设置通常保存在项目根目录的 .vscode/settings.json,多根工作区有单独的配置边界。
  • @modified 找修改项,必要时从齿轮菜单执行 Reset Setting

步骤一:先切到 Workspace 设置范围

先在 VS Code 中打开目标项目文件夹,然后按 ⌘,(Windows/Linux 是 Ctrl+,)进入设置编辑器。观察顶部的 UserWorkspace 标签,点击 Workspace。也可以按 ⇧⌘P 打开命令面板,执行 Preferences: Open Workspace Settings

VS Code 工作区设置入口,Workspace 标签在当前项目设置编辑器中被选中
图1:从当前项目打开设置编辑器,并确认修改范围是 Workspace。

官方文档把 Workspace 定义为当前项目或工作区范围;它的优先级高于普通 User Settings。因此,看到 Workspace 标签后再改值,才不会把项目规则写成全局习惯。

步骤二:搜索设置并写入项目文件

在设置搜索框输入目标设置,例如 files.exclude。如果要隐藏依赖目录,找到对应设置后在右侧齿轮菜单中选择项目范围;更明确的方式是继续按 ⇧⌘P,执行 Preferences: Open Workspace Settings (JSON),在项目文件里写入配置。

{
  "files.exclude": {
    "**/node_modules": true
  },
  "editor.formatOnSave": true
}

上面的 JSON 只表达项目行为,不会改变其他仓库的文件树。写入后,资源管理器中应看到项目根目录下的 .vscode/settings.json;设置编辑器对应条目左侧也会出现已修改的提示。

VS Code 项目树中的 .vscode/settings.json 与 Workspace 范围的项目级设置内容
图2:项目级设置落在 .vscode/settings.json,并在 Workspace 范围显示已修改。

步骤三:检查范围,再切换到另一个项目验证

不要只看设置值,要确认它保存在哪里。先在当前项目执行 Preferences: Open Workspace Settings (JSON),确认键值位于项目的 settings 文件,而不是 User Settings。关闭当前项目,再打开另一个项目,搜索同一个设置:如果另一个项目没有自己的配置,它应该回到用户级或默认值。

如果使用多根工作区,情况会不同:Workspace Settings 可能保存在工作区配置文件中,而不是某个根目录的 .vscode/settings.json。这时要先确认你修改的是整个工作区,还是某个 Workspace Folder 的设置。

VS Code 两个项目分别显示独立 Workspace 设置,当前项目隐藏 node_modules 而另一个项目保持独立
图3:重新打开当前项目后设置仍生效,切换到另一个项目不会继承同一项目值。
你看到的现象优先检查位置说明
所有项目都变了User 标签可能误改了全局 User Settings
当前项目没变化Workspace 标签和 JSON 文件确认打开的是目标项目,而不是空窗口
多根工作区行为不一致工作区文件与 Folder 范围不同根目录可能有不同的覆盖关系

步骤四:用 @modified 验收,必要时回退

回到设置编辑器,在搜索框输入 @modified,可以列出当前范围中已经修改的设置。这个过滤器适合排查“我到底改过什么”。找到目标项后点击右侧齿轮,选择 Reset Setting,即可移除这一层的项目级值,让它重新使用更低优先级的 User 或默认值。

VS Code Workspace 设置使用 @modified 筛选修改项并打开 Reset Setting 回退菜单
图4:用 @modified 找到项目级改动,需要撤销时从齿轮菜单执行 Reset Setting

常见问题

Workspace 设置会不会覆盖 User Settings?

会。普通 Workspace Settings 的优先级高于 User Settings,但不是所有用户级设置都允许在工作区覆盖;更新、安全和部分可执行程序路径有额外限制。

为什么我找不到 .vscode/settings.json?

可能还没有保存项目级设置,或者当前打开的是多根工作区。先执行 Open Workspace Settings (JSON),再看 VS Code 打开的文件位置;多根工作区应检查工作区配置文件。

改完设置后必须重启 VS Code 吗?

通常不需要。设置编辑器会直接应用改动;如果某个扩展没有立即响应,再按该扩展的提示重新加载窗口,并先确认设置确实写在正确范围。

判断 VS Code 工作区设置是否隔离,只看三件事就够了:顶部是否选中 Workspace,配置是否落在当前项目边界内,以及切换项目后同名设置是否保持独立。最后用 @modified 做一次收尾检查,能有效避免把一次项目例外变成全局配置。

声明:本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>