VS Code 搜索怎样只在指定文件夹内替换
在 VS Code 里只替换某个目录的内容,关键不是直接点击全局的 Replace All,而是先把搜索范围锁定到目标文件夹,再检查命中预览。最稳妥的路径是:从 Explorer 对文件夹执行 Find in Folder,在 Search 面板填写搜索词和替换词,确认文件路径后再执行 Replace All。
官方地址:https://code.visualstudio.com/
如果目标目录是工作区中的src,可以使用 Explorer 的Find in Folder直接限定范围;需要更细的文件类型限制时,再在 Search Details 中填写Files to include,例如src/**/*.go。文中的界面图是原创操作说明图,不是 VS Code 实际截图。
先从目标文件夹进入搜索
先在 Explorer 中找到要处理的文件夹,例如项目里的 src。右键该文件夹,选择 Find in Folder。VS Code 会打开 Search 视图,并把搜索上下文放在这个文件夹内。这个入口比先打开整个工作区再凭记忆填写路径更不容易误选范围。
如果右键菜单里没有直接使用该入口,也可以打开左侧 Search 视图,点击搜索框下方的 ... 展开搜索详情,在 Files to include 中填写相对于工作区的 glob。常用写法如下:
src/** src/**/*.go src/**/config*.json
第一种表示只处理 src 下的文件,第二种进一步限定为 Go 文件,第三种只匹配名称以 config 开头的 JSON 文件。Search 视图的 glob 是相对于当前工作区计算的;如果打开的只是单个文件而不是文件夹,跨文件搜索就没有完整的工作区范围。

填写搜索和替换内容并预览命中项
在 Search 输入框填写旧文本,例如 oldName;展开替换输入框,填写新文本 newName。先不要立即执行全部替换,先观察结果树中的文件名、相对路径和命中行。
如果同一个词可能出现在注释、测试夹具或生成目录中,可以继续使用两层限制:
- 在
Files to include中缩小输入文件集合,例如src/**/*.go。 - 在
Files to exclude中排除明确不应修改的目录,例如src/vendor/**或src/generated/**。
展开每个文件的命中项,重点看三件事:路径是否仍在目标文件夹中,旧文本是否确实代表要修改的对象,替换后的长度和语义是否合理。需要区分大小写、整词或正则表达式时,再打开对应的搜索开关;不要为了“多匹配一些”而默认打开正则。

执行 Replace All 后怎样确认范围没有跑偏
确认预览无误后,点击替换框旁的 Replace All。替换完成后,先看 Search 面板的剩余结果和文件数量,再从 Explorer 检查目标目录中的文件是否出现修改标记。结果核对不应只看“按钮已经点过”,而要同时确认范围、数量和文件状态。
- 看范围:搜索详情中的 include/exclude 条件仍然是目标目录,未被清空或改成整个工作区。
- 看数量:替换前命中的文件数与替换后的变化相符;如果数量明显异常,先停止继续操作。
- 看内容:重新搜索旧文本,确认目标目录内不再有预期的旧值;如果旧值在注释或特殊文件中保留,要按实际意图判断。
- 看范围外:抽查一个相邻目录或使用版本控制的变更列表,确认不应修改的目录没有被带入。
如果项目使用 Git,替换前先确保已有可识别的工作区状态,替换后通过 Source Control 面板查看变更文件列表。这里的核对是为了确认操作边界,不需要把整个项目重新格式化。
搜索结果过多或过少时怎么修正
结果过多时,优先检查 Files to include 是否只写了宽泛的目录名,再补上相对路径和文件扩展名;同时查看 Files to exclude 是否漏掉生成目录。VS Code 默认会根据忽略文件和搜索排除设置过滤一部分内容,Search Details 中的 Use Exclude Settings and Ignore Files 会影响是否遵守这些规则。
结果过少时,先检查当前打开的是不是正确工作区,再检查 glob 的大小写、斜杠和目录层级。若目标文件被 .gitignore、search.exclude 或其它排除规则过滤,可以临时明确 include 路径,并确认这确实是要处理的文件,而不是盲目关闭所有排除设置。
还要注意,Search 视图中的模式和设置文件中的 glob 语义不完全相同。设置中的排除规则通常需要写成 **/目录名 才能覆盖任意子目录;Search 视图里则可以从当前工作区范围直接填写目标路径。
常见问题
只想替换一个文件夹,为什么结果还是包含其它目录?通常是从工作区级搜索开始,或者 Files to include 没有填写正确的相对路径。重新从 Explorer 的 Find in Folder 进入,并先看结果树中的路径。
能不能只替换指定文件类型?可以,在 Files to include 中填写类似 src/**/*.go 的模式,再预览结果确认。
为什么有些文件没有出现在结果里?可能被忽略文件、search.exclude 或排除开关过滤,也可能是 glob 没有匹配到真实目录层级。先检查 Search Details 和当前工作区。
这项操作的安全顺序可以压缩成一句话:先从目标文件夹进入搜索,再用 include/exclude 缩小范围,逐项预览命中结果,最后执行 Replace All 并核对变更列表。这样既能完成批量替换,也能把误改其它目录的风险降到最低。
VS Code 怎样把保存操作绑定到格式化动作
- 上一篇
- VS Code 怎样把保存操作绑定到格式化动作
- 下一篇
- GitHub Actions 怎样用矩阵生成多版本测试任务
-
- 文章 · 软件教程 | 23分钟前 | VS Code tasks.json Tasks 可复用任务
- VS Code 怎样把代码操作录制成可复用任务
- 463浏览 收藏
-
- 文章 · 软件教程 | 34分钟前 | GitHub CLI gh repo set-default 默认远程 Git 远程仓库 GitHub CLI 配置
- GitHub CLI 怎样为当前仓库切换默认远程
- 403浏览 收藏
-
- 文章 · 软件教程 | 37分钟前 |
- GitHub Codespaces 怎样修改转发端口的可见性
- 271浏览 收藏
-
- 文章 · 软件教程 | 38分钟前 | 代码检查 JetBrains IDE Inspect Code Inspection Scope 自定义范围
- JetBrains IDE 怎样按范围运行代码检查
- 360浏览 收藏
-
- 文章 · 软件教程 | 43分钟前 | Docker Buildx registry cache cache-to cache-from 镜像构建缓存
- Docker buildx 怎样利用缓存缩短镜像构建
- 464浏览 收藏
-
- 文章 · 软件教程 | 48分钟前 | Docker Compose secrets 敏感配置 /run/secrets 容器配置
- Docker Compose 怎样把敏感配置注入服务而不写进镜像
- 330浏览 收藏
-
- 文章 · 软件教程 | 53分钟前 | 资源限制 Docker Compose deploy.resources limits reservations
- Docker Compose 怎样给服务设置资源限制
- 184浏览 收藏
-
- 文章 · 软件教程 | 54分钟前 | gitHub actions · 持续集成 · GitHub Actions jobs.if CI配置
- GitHub Actions 怎样让 job 只在条件满足时运行
- 364浏览 收藏
-
- 文章 · 软件教程 | 55分钟前 | VS Code 语言设置 formatonsave 默认格式化器
- VS Code 怎样为不同语言设置独立格式化器
- 473浏览 收藏
-
- 文章 · 软件教程 | 55分钟前 |
- GitHub Actions 怎样用矩阵生成多版本测试任务
- 113浏览 收藏
-
- 文章 · 软件教程 | 1小时前 | vs code · 软件教程 · VS Code formatonsave 保存时格式化 Settings JSON 默认格式化器
- VS Code 怎样把保存操作绑定到格式化动作
- 189浏览 收藏
-
- 文章 · 软件教程 | 11小时前 | docker · 软件教程 · Docker Buildx bake HCL 多服务构建参数
- Docker buildx bake 用 HCL 统一多服务构建参数
- 333浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- PubMedQA
- 深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
- 718次使用
-
- H2O EvalGPT
- H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
- 726次使用
-
- LMArena
- LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
- 801次使用
-
- HELM
- 深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
- 761次使用
-
- MMBench
- MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
- 598次使用
-
- VS Code Dev Containers 实战:用容器搭建一致开发环境
- 2026-06-12 182浏览
-
- Docker Compose 本地多服务环境实战:MySQL、Redis、Nginx 一键启动
- 2026-06-12 250浏览
-
- Git worktree 实战:一套仓库并行修 Bug 和开发新功能
- 2026-06-12 447浏览
-
- Nginx 本地 HTTPS 反向代理实战:前后端联调不再改端口
- 2026-06-12 373浏览
-
- Chrome DevTools Network 面板实战:定位接口慢、缓存和请求失败
- 2026-06-13 213浏览

