当前位置:首页 > 文章列表 > 文章 > 软件教程 > VS Code 搜索怎样只在指定文件夹内替换

VS Code 搜索怎样只在指定文件夹内替换

来源:17golang原创 2026-10-26 21:25:54 0浏览 收藏

在 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 是相对于当前工作区计算的;如果打开的只是单个文件而不是文件夹,跨文件搜索就没有完整的工作区范围。

原创界面说明图:VS Code Explorer 选中目标文件夹并在 Files to include 中限定搜索范围
图1:范围说明图,从 Explorer 进入目标文件夹搜索,先把替换边界锁定。

填写搜索和替换内容并预览命中项

在 Search 输入框填写旧文本,例如 oldName;展开替换输入框,填写新文本 newName。先不要立即执行全部替换,先观察结果树中的文件名、相对路径和命中行。

如果同一个词可能出现在注释、测试夹具或生成目录中,可以继续使用两层限制:

  • 在 Files to include 中缩小输入文件集合,例如 src/**/*.go。
  • 在 Files to exclude 中排除明确不应修改的目录,例如 src/vendor/** 或 src/generated/**。

展开每个文件的命中项,重点看三件事:路径是否仍在目标文件夹中,旧文本是否确实代表要修改的对象,替换后的长度和语义是否合理。需要区分大小写、整词或正则表达式时,再打开对应的搜索开关;不要为了“多匹配一些”而默认打开正则。

原创界面说明图:VS Code 搜索替换面板展示替换文本、文件命中预览和 Replace All 控件
图2:结果说明图,先看文件路径与差异预览,再执行指定范围内的全部替换。

执行 Replace All 后怎样确认范围没有跑偏

确认预览无误后,点击替换框旁的 Replace All。替换完成后,先看 Search 面板的剩余结果和文件数量,再从 Explorer 检查目标目录中的文件是否出现修改标记。结果核对不应只看“按钮已经点过”,而要同时确认范围、数量和文件状态。

  1. 看范围:搜索详情中的 include/exclude 条件仍然是目标目录,未被清空或改成整个工作区。
  2. 看数量:替换前命中的文件数与替换后的变化相符;如果数量明显异常,先停止继续操作。
  3. 看内容:重新搜索旧文本,确认目标目录内不再有预期的旧值;如果旧值在注释或特殊文件中保留,要按实际意图判断。
  4. 看范围外:抽查一个相邻目录或使用版本控制的变更列表,确认不应修改的目录没有被带入。

如果项目使用 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 并核对变更列表。这样既能完成批量替换,也能把误改其它目录的风险降到最低。

版本声明
本文转载于:17golang原创 如有侵犯,请联系study_golang@163.com删除
VS Code 怎样把保存操作绑定到格式化动作VS Code 怎样把保存操作绑定到格式化动作
上一篇
VS Code 怎样把保存操作绑定到格式化动作
GitHub Actions 怎样用矩阵生成多版本测试任务
下一篇
GitHub Actions 怎样用矩阵生成多版本测试任务
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之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模型性能。
    718次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    726次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    801次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    761次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    598次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码