Visual Studio Code 查找替换功能使用说明
关注 1800
引言
本文将说明 Visual Studio Code(简称 VSCode)中的查找替换功能,该功能对于开发人员来说是最为常用的。
Visual Studio Code 编辑器中的查找和替换操作
使用键盘快捷方式Ctrl+F,或选择菜单项编辑 | 查找,或在命令面板中执行命令Find,可以在编辑器中打开查找小部件。如果编辑器中存在已经选中的文本,那么这些文本将作为被查找的内容,否则会尝试将光标所在位置的单词作为被查找的内容,如果单词不存在,那么会保留上一次的查找内容。
使用键盘快捷方式Ctrl+H,或选择菜单项编辑 | 替换,或在命令面板中执行命令Replace,可以在编辑器中打开查找小部件并进入替换模式。如果编辑器中存在已经选中的文本,那么这些文本将作为被查找的内容,否则会保留上一次的查找内容。
除了通过查找小部件进行查找和替换的相关操作,编辑器还提供了一些键盘快捷方式(一般需要编辑器处于活动状态)和命令面板命令来实现相同的效果。
键盘快捷方式Alt+R可用于设置是否采用正则表达式进行查找。键盘快捷方式Alt+W可用于设置是否采用全字匹配。键盘快捷方式Alt+C可用于设置是否区分大小写。键盘快捷方式Alt+P可用于设置是否在替换过程中保留大小写。
键盘快捷方式Enter(需要查找小部件的查找文本框处于活动状态)和命令Find Next可用于查找下一个符合条件的文本。键盘快捷方式Shift+Enter(需要查找小部件的查找文本框处于活动状态)和命令Find Previous可用于查找上一个符合条件的文本。
键盘快捷方式Enter(需要查找小部件的替换文本框处于活动状态)可用于替换下一个符合条件的文本。键盘快捷方式Ctrl+Alt+Enter可用于替换所有符合条件的文本。
键盘快捷方式Escape可用于隐藏查找小部件。
在 Visual Studio Code 编辑器的多个行中查找和替换
如何在 VSCode 的多个行中查找替换,以及替换为换行符视频演示 YouTube如何在 VSCode 的多个行中查找替换,以及替换为换行符视频演示 Bilibili
如果需要查找和替换的内容,分布在多个行中,那么可以在搜索面板或查找小部件中,按下按键Ctrl+Enter输入换行符,来进行多行查找或替换。
输入以下内容,可以查找一行以,结尾,下一行以reading开头的两行。
,
reading对于更复杂的匹配问题,可启用正则表达式来解决。而要在正则表达式中进行多行操作,可直接通过按键Ctrl+Enter输入换行符,或者使用\n来表示换行。
输入以下正则表达式,可以查找分别包含单词reading的两行。
reading.*\n.*reading如果替换内容中有换行,那么同样只需简单的按下Ctrl+Enter输入换行符即可。
在 Visual Studio Code 编辑器的选中文本中进行查找和替换
VSCode 提供了针对选中文本的查找替换功能,首先选中需要操作的文本区域(设置查找替换范围),可以使用键盘快捷方式Alt+L或点击查找小部件上的汉堡图标。设置范围后,简单的选中操作不会改变已设置的查找替换范围,如需取消选区范围,可再次按下Alt+L,或点击查找小部件上的汉堡图标,或关闭查找小部件。
在 Visual Studio Code 中进行全局查找和替换
全局(跨文件)查找替换,可针对整个工作区中的文件进行操作,这需要点击搜索面板,或使用键盘快捷方式Ctrl+Shift+F(注意某些情况下可能无效)。全局搜索结果会显示匹配的文件和具体内容,点击匹配项可快速定位到文件中的对应位置,或打开替换预览。
如需替换,则可填写替换内容,点击全部替换按钮,或悬停选中单个匹配项,点击其右侧的替换按钮,或悬停选中文件,点击右侧全部替换按钮完成该文件内所有匹配项的替换。
通过搜索面板的省略号按钮,可启用“仅在打开的编辑器中搜索”功能,限制搜索范围为当前已打开的文件。
在 Visual Studio Code 中指定查找替换要包含和排除的文件
如何在 VSCode 中为查找替换指定包含或排除的文件、文件夹视频演示 YouTube如何在 VSCode 中为查找替换指定包含或排除的文件、文件夹视频演示 Bilibili
点击搜索面板中的省略号按钮,在包含的文件或排除的文件一项中填写路径规则,可以将查找和替换操作,限定在符合规则的文件或文件夹,或排除某些文件或文件夹。
你可以在路径规则中使用 glob 通配符,比如,*表示任意多个字符,?表示一个字符,**表示零个或多个文件夹组合的任意路径。
多个路径规则之间,可使用,进行分隔,规则之间为“或”的关系。
在下面的路径规则中,*.txt表示所有的txt文件,en/**/*.json表示en目录(包括所有子目录)中所有的json文件。
*.txt, en/**/*.json此外,点击搜索面板中的齿轮图标,启用相关功能后,VSCode 将根据设置项search.exclude和files.exclude,来排除文件或文件夹参与查找替换。只需要将支持 glob 通配符的路径规则书写为设置项的属性,属性的值设置为true即可(可能需要重启 VSCode)。
search.exclude 与 files.exclude 的不同
search.exclude和files.exclude的区别在于,files.exclude还将在资源管理器中,隐藏相关文件和文件夹,除非遇到文件已经在 VSCode 中打开等特殊情况。
search.exclude 和 files.exclude 中的 glob 路径为绝对路径
需要指出,设置项search.exclude和files.exclude中的 glob 路径为绝对路径。因此,书写*.py只表示根目录下的py文件,**/*.py才表示所有目录中的py文件。
在下面的设置项中,src/**/*.cs表示src目录下的所有cs文件,**/*.py表示所有目录中的py文件。
// 排除 src 目录下的所有 cs 文件
"search.exclude": {
"src/**/*.cs": true,
},
// 排除所有目录中的 py 文件
"files.exclude": {
"**/*.py": true,
},源码
讲解视频
如何在 VSCode 的多个行中查找替换,以及替换为换行符·YouTube如何在 VSCode 的多个行中查找替换,以及替换为换行符·Bilibili
如何在 VSCode 中为查找替换指定包含或排除的文件、文件夹·YouTube如何在 VSCode 中为查找替换指定包含或排除的文件、文件夹·Bilibili