在 Visual Studio 中查找和替换文本

本文介绍了如何使用单个文件查找和替换(Ctrl+F 或 Ctrl+H)或多文件查找和替换(Ctrl+Shif+F 或 Ctrl+Shift+H)在 Visual Studio 编辑器中查找和替换文本。 也可通过使用多个插入点选择来查找并替换模式的一些实例。 除了编辑器,还可以在某些其他基于文本的窗口(例如“查找结果”窗口)中、设计器窗口(例如 XAML 设计器和 Windows 窗体设计器)中以及在工具窗口中查找和替换文本。

注意

如果要查找有关 Visual Studio Code 的信息,请访问 VS Code 查找和替换文档

提示

如果要重命名代码符号(如变量和方法),最好是重构它们,而不是使用查找和替换。 重构不仅智能而且知道应用范围,而查找和替换会盲目替换所有实例。

可以将搜索范围限制到当前文档、当前解决方案或一组自定义文件夹中。 还可以指定一组文件扩展名,用于多文件搜索。 使用 .NET 正则表达式自定义搜索语法。

提示

查找/命令框可用作工具栏控件,但默认为不可见。 要显示“查找/命令”框,请在“标准”工具栏上选择“添加或删除按钮”,然后选择“查找”

在单个文件中查找和替换

  • 按 Ctrl+F 作为查找当前文件中的字符串的快捷方式 。
  • 按“Ctrl”+“H”作为快捷方式,以查找和替换当前文件中的字符串 。

“查找和替换”控件显示在代码编辑器窗口的右上角。 此操作会立即突出显示给定搜索字符串在当前文档中的每个匹配项。 通过在搜索控件上选择“查找下一个”按钮或“查找上一个”按钮,可以从一个匹配项导航到另一个匹配项

Screenshot of the Find and Replace dialog in the Editor in Visual Studio 2022.

Screenshot of the Find and Replace dialog in the Editor in Visual Studio 2019 and earlier versions.

通过选择“查找”文本框旁边的按钮,可以访问替换选项。 若要一次替换一个,请选择“替换”文本框旁边的“替换下一个”按钮。 若要替换所有匹配项,请选择“全部替换”按钮。

若要更改匹配项的突出显示颜色,请依次选择“工具”菜单、“选项”、“环境”、“字体和颜色”。 在“显示设置对象”列表中,选择“文本编辑器”,然后在“显示项”列表中,选择“查找匹配突出显示项” 。

搜索工具窗口

通过选择“编辑”>“查找和替换”或按 Ctrl+F,可以在代码或文本窗口(如“输出”窗口和“查找结果”窗口)中使用“查找”控件

某些工具窗口也提供某版本的“查找”控件。 例如,通过在搜索框中输入文本可以在“工具箱”窗口中筛选控件列表。 可以在其中搜索内容的其他工具窗口包括“解决方案资源管理器”、“属性”窗口和“团队资源管理器”

在多个文件中查找和替换

“在文件中查找”可用于搜索指定的一组文件。 Visual Studio 找到的匹配项在 IDE 中的“查找结果”窗口中列出。 结果的显示方式取决于你在“查找和替换”对话框中选择的选项。

按 Ctrl +Shift+F 打开“查找和替换”对话框,或:

  1. 按 Ctrl + Q,然后在屏幕顶部的搜索框中输入“查找”。
  2. 在结果列表中选择“在文件中查找”。

Screenshot of the Find and Replace dialog box in Visual Studio 2019, with the Find in Files tab open.

重要

如果使用 Visual Studio 2019 版本 16.6 或更低版本,则“查找和替换”对话框可能与此处显示的不同。 切换到本页的 Visual Studio 2017 版本,查看与屏幕上显示的内容相匹配的说明。

  1. 在菜单栏中,选择“编辑”>“查找和替换” 。
  2. 从弹出菜单中选择“在文件中查找”。

Screenshot of the Find and Replace dialog box in Visual Studio 2022, with the Find in Files tab open.

将搜索范围限制在:

  • 当前打开的文件
  • 所有打开的文档
  • 整个解决方案
  • 当前项目
  • 指定的文件夹集
  • 指定的文件扩展名

“查找和替换”工具不会搜索具有 HiddenSystem 属性的目录。

若要取消“查找”操作,请按 Ctrl+Break 。

查找结果

选择“查找全部”后,“查找结果”窗口随即打开,并列出搜索的匹配项。 在列表中选择一个结果会显示相关联的文件,并突出显示匹配项。 如果文件尚未打开进行编辑,则可以在选项卡右侧的预览选项卡中打开。 可以使用“查找”控件在“查找结果”列表中搜索

创建自定义搜索文件夹集

通过选择“查找范围”框旁边的“选择搜索文件夹”按钮(类似于...),可以定义搜索范围。 在“选择搜索文件夹”对话框中,可以指定要搜索的一组文件夹,并且可以保存规范,供以后重复使用

提示

如果已将远程计算机的驱动器映射到本地计算机,则可以指定要在远程计算机上搜索的文件夹。

创建自定义组件集

通过选择“查找范围”框旁边的“编辑自定义组件集”按钮,可以将组件集定义为搜索范围。 可以指定已安装的 .NET 或 COM 组件,以及包含在解决方案或任何程序集或类型库(.dll、.tlb、.olb、.exe 或 .ocx)中的 Visual Studio 项目。 若要搜索引用,请选择“查找引用”框

多个插入点选择

使用“多个插入点选择”同时在两个或多个位置进行相同编辑。 例如,可同时插入相同的文本或修改多个位置的现有文本。

在 Visual Studio 2022 中,改进了多插入点复制和粘贴体验。 以前,将多行粘贴到多个插入点时,会在每个插入点复制整个剪贴板。 现在,将多行粘贴到相同数量的插入点时,会将每一行插入相应的插入点。

若要使用多插入点,请按 Ctrl+Alt+鼠标单击或 Alt+Shift+.,然后使用 Ctrl+Shift+箭头键展开所选内容。 接下来,按 Ctrl+C 复制多个选择项中的文本 。 使用 Alt+Shift+鼠标单击,为每一行创建多个要粘贴到所需位置的插入点 。 最后,按 Ctrl+V 将每行粘贴到其自己的插入点 。

An animation of the multi-caret selection action in Visual Studio.

要选择多个插入点:

  • 使用 Alt+Shift+向上键(或向下键),或者使用 Alt+Shift+鼠标拖动,以选择多个插入点。 如果希望在展开多插入点选择时将框选择与 Alt+Shift+箭头键和 Alt+Shift+鼠标拖动一起使用,请转到“工具”>“选项”>“文本编辑器”>“高级”,然后选择“使用框选择” 。
  • 也可以通过选择“编辑”>“多个插入点”,然后选择所需的操作,从菜单栏访问多插入点选择。
多插入点键盘快捷方式 操作 命令
Alt+Shift+. 使用多插入点 编辑.插入下一个匹配的 Caret
Ctrl+Shift+箭头键 展开所选内容 Edit.SizeControlUp、Edit.SizeControlDown、Edit.SizeControlRight、Edit.SizeControlLeft
Alt+Shift+向上键(或向下键) 选择多个插入点 Edit.LineUpExtendColumn、Edit.LineDownExtendColumn

在以下屏幕截图中,在三个位置选择了 -0000;如果用户按 Delete,则删除所有三个选项

Multi-caret selection in an XML file in Visual Studio

要选择多个插入点,请像往常一样单击或进行第一个文本选择,然后在单击或选择其他位置的文本时按 Ctrl+Alt。 还可自动添加匹配的文本作为其他选择,或选择一个文本框以在每行上进行相同的编辑。

提示

如果已选择 Alt 作为鼠标的修改键,请单击“工具”>“选项”>“文本编辑器”>“常规”中的“转到定义”,禁用多个插入点选择。 有关详细信息,请参阅“选项”对话框:“文本编辑器”/>“常规”

命令

对多个插入点选择行为使用以下键和操作:

快捷方式 操作
Ctrl+Alt + 单击 添加辅助插入点
Ctrl+Alt + 双击 添加辅助字选择
Ctrl+Alt + 单击 + 拖动 添加辅助选择
Shift+Alt+. 添加下一个匹配文本作为选择
Shift+Alt+; 添加所有匹配的文本作为选择
Shift+Alt+, 删除上次选择的匹配项
Shift+Alt+/ 跳过下一个匹配的项
Alt + 单击 添加框选择
Esc 或单击 清除所有选择项

“编辑”菜单上的“多个插入点”下也提供了一些命令

Screenshot of the Multiple Carets fly-out menu in Visual Studio