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

VS Code 搜索怎样排除 node_modules 和构建目录

来源:17golang原创

时间:2026-10-20 23:59:01 288浏览 收藏

在 VS Code 的全局搜索面板展开搜索详细信息,把 **/node_modules, **/dist, **/build 填进“要排除的文件”(files to exclude),就能对当前搜索排除这些目录。需要项目长期生效时,保存到工作区的 search.exclude;只是不想看搜索结果,不必同时把目录从资源管理器隐藏。

VS Code 官方地址:https://code.visualstudio.com/

下面以单文件夹项目为例。dist 和 build 只是示例名称,请换成项目真实的生成目录。文中界面均为原创操作说明图,不是软件截图或实际搜索记录;按钮翻译可能随语言包变化,括号内英文名称便于识别。

步骤一:在搜索面板先排除一次

打开项目后,点击左侧活动栏的搜索图标;默认快捷键为 Windows/Linux 的 Ctrl+Shift+F、macOS 的 Command+Shift+F。使用全局搜索,而不是当前编辑文件内的查找。点击搜索面板的“切换搜索详细信息”(Toggle Search Details),找到“要排除的文件”(files to exclude)。

保持“要包含的文件”(files to include)为空,在排除框填写 **/node_modules, **/dist, **/build,多个模式用逗号隔开;查询框输入项目源码里已知存在的一段独特文本。模式是 glob,不是正则表达式,目录路径使用正斜杠。

原创搜索面板说明图,展开排除输入框并填写三个目录模式
图1:操作示意图。搜索详细信息展开,排除框用于本次搜索范围,不是替换文本输入框。

继续前确认:排除框中能看到三个模式,源码命中路径仍在;如果全部为空,先确认查询文本确实存在,再排查是否误填到包含框。结果少了不自动等于配置正确。此处不使用“全部替换”,避免把配置任务变成内容修改。

临时输入适合单次查找;要换回原范围,清空这栏即可。全局搜索面板的输入规则和排除开关见 官方搜索选项说明。

步骤二:将排除规则保存到当前项目

按 Ctrl+Shift+P(macOS 为 Command+Shift+P)打开命令面板,执行 Preferences: Open Workspace Settings (JSON)。单文件夹项目对应根目录下的 .vscode/settings.json。别误选 Open User Settings,否则会影响其他项目。

在已有配置对象里合并以下条目;如果已存在 search.exclude,就把目录加进原对象,不再创建第二个同名字段,也不要整文件覆盖。示例以 JSONC 展示,中文注释可用于 VS Code 设置文件。

{
  // 仅过滤工作区搜索,保留资源管理器中的目录
  "search.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/build": true
  }
}

true 表示启用该条排除。设置里的 **/ 让同名目录在嵌套项目中也能匹配;例如 packages/web/dist 也属于此规则的覆盖范围。如果项目中有名为 build 的手写源码目录,不要盲目排除所有同名目录,应改用经过确认的具体路径。模式匹配规则可参考 Glob Patterns Reference。

原创工作区设置说明图,settings.json 中保存 search.exclude 目录规则
图2:操作示意图。工作区设置保存目录与布尔值的对应关系;这是项目配置,不是用户全局配置。

保存设置文件。继续前确认:文件没有未保存标记,也没有 JSON 语法错误提示;原有项目配置仍保留。设置入口、作用范围和单文件夹存储位置见 官方设置文档。多根工作区的工作区级设置位于工作区配置文件中,不能直接照搬单文件夹路径判断范围。

需求对应位置
这次搜索暂时跳过files to exclude 输入框
项目搜索长期跳过工作区 search.exclude
资源管理器也不显示另行考虑 files.exclude

files.exclude 不只是搜索专用设置,它还影响资源管理器可见性;当搜索采用排除设置时,它也会参与搜索过滤。不要把“树里看不到”误当成“文件删除了”,也不要为了搜索干净而扩大隐藏范围。

步骤三:回到搜索面板确认范围

返回左侧搜索面板,清空第一步的临时排除内容,避免把临时输入的效果误认成持久设置的效果。将鼠标停在排除框右侧的按钮上,找到 Use Exclude Settings and Ignore Files(使用排除设置和忽略文件),确认它处于启用状态,再搜索同一段源码文本。

保持包含框为空,对照结果路径是否仍能找到预期源码、是否不再出现目标生成目录。完成状态:源码命中仍可打开,排除开关启用,临时排除框为空,工作区配置中保留了三条规则。示意图只展示应关注的位置,不代表任何项目都应得到相同文件数量。

原创结果范围说明图,临时排除框为空,排除设置开关启用,结果指向源码文件
图3:结果示意图。确认使用持久排除设置,而不是依赖残留的临时模式;图中的文件名仅为教程示例。

若原本就没有 node_modules 结果,也可能是默认排除或 Git 忽略规则已在起作用,不需要为了证明配置而修改依赖文件。需要共享团队规则时,审阅后随项目保存 .vscode/settings.json;这份配置才是交接材料,不是导出搜索结果文件。

为什么排除后目录还在左侧?

search.exclude 的目标是搜索范围,保留目录可见恰好符合“只过滤搜索”的需求。若另有隐藏需求,再单独决定 files.exclude。

为什么关闭开关后又搜到了生成目录?

该按钮控制是否采用排除设置及忽略文件。临时输入与持久设置是不同来源,排查时要分别看,不要只检查 settings.json。

配置了却漏掉源码怎么办?

先检查包含框、目录模式和忽略规则。撤回本次误加的规则再搜,不要清空整个设置文件;工作区对象型设置还会与其他层级合并,必要时核对同一模式在当前范围的值。

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