当前位置:首页 > 文章列表 > 文章 > 软件教程 > VS Code 搜索怎样排除生成目录

VS Code 搜索怎样排除生成目录

来源:17golang原创 2026-11-14 20:25:58 0浏览 收藏

项目一旦生成了 dist、build 或 coverage,VS Code 的跨文件搜索就可能把源码和构建产物混在一起。最稳妥的做法是:临时排查时在搜索视图填写 Files to exclude,长期使用则把规则写进工作区的 settings.json。search.exclude 负责搜索规则,files.exclude 还会影响资源管理器显示,而且搜索默认会继承它的排除项。

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

本文只处理“搜索怎样排除生成目录”这个问题,不把生成目录删除,也不改变构建工具本身的输出位置。

先区分三种排除入口

VS Code 里有三个容易混淆的入口:

入口作用适合场景
Files to exclude只影响当前搜索操作临时排查、一次性跳过大目录
search.exclude为工作区设置搜索排除规则不想让构建产物进入搜索结果
files.exclude控制资源管理器显示,也会被搜索继承项目中始终隐藏生成目录

如果只是今天排查一个问题,先用搜索视图的排除框;如果每次打开项目都需要相同规则,再写工作区设置。这样不会为了临时搜索修改团队共享配置。

在搜索视图临时排除生成目录

按 ⇧⌘F(Windows/Linux 为 Ctrl+Shift+F)打开跨文件搜索,输入要查找的词。搜索框下方默认只显示较少选项,点击省略号展开 Toggle Search Details,再找到 Files to exclude。

  1. 在 Files to exclude 输入 **/dist/**, **/build/**。
  2. 确认 Use Exclude Settings and Ignore Files 处于开启状态,让当前搜索同时遵守设置和忽略文件。
  3. 重新执行搜索,结果列表应保留 src 等源码目录,而不再列出 dist、build 下的同名内容。
VS Code 搜索视图中填写 Files to exclude 并排除 dist 和 build 的原创界面说明图
图1:操作示意图,展示在搜索视图的 Files to exclude 中临时排除生成目录后的结果状态。

这里的排除框只服务当前搜索界面。清空输入或重新打开另一个搜索任务后,若没有工作区规则,生成目录仍可能回来。

用工作区 settings.json 固化规则

需要长期排除时,打开命令面板,执行 Preferences: Open Workspace Settings (JSON)。VS Code 会把工作区设置放在项目根目录的 .vscode/settings.json。下面的 JSON 可以直接作为起点:

{
  "search.exclude": {
    "**/dist/**": true,
    "**/build/**": true
  },
  "files.exclude": {
    "**/coverage/**": true
  }
}

JSON 代码块保持严格格式,所以不在其中加入注释。search.exclude 让搜索默认跳过 dist 与 build;files.exclude 让资源管理器隐藏 coverage,同时搜索会继承这个排除项。若团队不希望资源管理器隐藏目录,可以只保留 search.exclude。

VS Code 设置界面展示 search.exclude 和 files.exclude 的原创界面说明图
图2:操作示意图,展示工作区设置中分别配置 search.exclude 与 files.exclude 后的结果状态。

glob 写法要按入口区分

最常见的“不生效”不是设置名写错,而是通配符写在了不适用的位置。VS Code 官方文档特别说明,搜索视图的 glob 规则和 settings.json 中的规则不同:

  • 写在 Files to exclude 时,搜索视图会假定路径可以从任意层级匹配,输入 dist 往往就能覆盖工作区中的同名目录。
  • 写在 search.exclude 或 files.exclude 时,建议用 **/dist/** 覆盖嵌套目录;如果只想排除工作区根目录,可以写成 ./dist 附近的明确路径规则。
  • 多个模式可以用逗号分隔,但复杂项目更适合拆成多行 JSON,后续修改不容易漏掉目录。

如果生成目录名称本身可能出现在源码文件名中,优先写目录边界,例如 **/build/**,不要只写一个过宽的文本模式。

用对照搜索确认规则真的生效

配置保存后,不要只看资源管理器里目录是否消失,最好做一次对照搜索:

  1. 选择一个确定同时存在于源码和生成产物中的词,例如项目自己的函数名。
  2. 在搜索视图展开详细选项,检查 Use Exclude Settings and Ignore Files 没有被关闭。
  3. 观察结果:源码文件仍应出现,dist、build 和 coverage 下的结果应按配置消失。
  4. 如果需要临时查看产物,再在 Files to include 中指定生成目录,或暂时关闭排除规则;查看完恢复开关即可。

这种验收方式比单纯数结果条目更可靠:源码仍有命中,说明搜索没有被整体禁用;生成目录没有命中,说明排除范围确实被应用。

规则不生效时按这个顺序排查

  1. 看设置范围:确认打开的是 Workspace,而不是 User;工作区设置只对当前项目生效。
  2. 看搜索开关:如果关闭了 Use Exclude Settings and Ignore Files,search.exclude、files.exclude 和忽略文件都可能不参与这次搜索。
  3. 看路径层级:settings.json 中优先使用 **/目录名/**,不要把搜索框写法原样复制到所有位置。
  4. 看工作区根目录:多根工作区需要分别确认规则作用于哪个根目录,路径是相对于对应工作区根目录计算的。
  5. 看是否存在例外:以 ! 开头的例外规则可能重新放开某个子目录;如果项目设置继承了团队配置,也要检查是否有更具体的例外。

最后记住这套最小选择

临时搜索用 Files to exclude;只想让搜索默认忽略生成目录,用 search.exclude;希望资源管理器也隐藏并让搜索继承,再加 files.exclude。配置后用“源码仍命中、生成目录不命中”的对照搜索验收,基本就能避免把设置问题误判成搜索故障。

相关问题

  • 为什么配置了 files.exclude,搜索仍然能看到生成目录?先检查搜索视图的 Use Exclude Settings and Ignore Files 是否关闭,再确认当前窗口打开的是含有该 .vscode/settings.json 的工作区。
  • 搜索框里的排除规则能永久保存吗?它更适合当前操作;需要稳定复用时,把规则迁移到工作区的 search.exclude。
  • 怎样只排除根目录的 dist?在工作区设置中写面向根目录的明确模式,并用一次同名子目录对照搜索确认范围。
版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
VS Code 面包屑导航怎样显示当前文件的符号路径VS Code 面包屑导航怎样显示当前文件的符号路径
上一篇
VS Code 面包屑导航怎样显示当前文件的符号路径
VS Code 源代码管理怎样暂存未提交改动
下一篇
VS Code 源代码管理怎样暂存未提交改动
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    1029次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    1029次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    1173次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    1133次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    972次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码