如何在Visual Studio Code中查找并​​替换所有出现的内容(在所有文件中)?


244

我无法弄清楚如何使用Visual Studio Code版本1.0在不同文件中查找和替换所有出现的单词。

我觉得这应该是可能的,因为执行Ctrl + Shift + F允许我简单地搜索文件夹,但是我不知道如何从这里继续。

我查看了各种组合键 https://code.visualstudio.com/Docs/customization/keybindings

但是我只发现了如何替换打开文件中的所有匹配项(Ctrl + h)

感谢所有帮助,这让我发疯。

Answers:


361

我正在使用Visual Studio Code 1.8,并且此功能可用。但是,起初要理解它有点棘手,并且(在撰写本文时)文档并未清楚地解释如何使用它,因此逐步说明了它的工作原理:

调用“ 替换文件”(在“编辑”菜单下,或使用快捷键Ctrl+ Shift+ H

您会看到标准的“查找/替换”输入取代了左侧的“文件”窗格:

在此处输入图片说明

输入搜索字符串和替换字符串,然后按Enter。可能会搜索第二个文件,然后在所有项目文件中显示建议的更改-但请注意,这些更改尚未进行!看起来是这样的:

在此处输入图片说明

现在,您需要进行更改(甚至在此之后,还必须保存修改后的文件。)

您可以通过多种方式进行更改:

1)一次对所有文件进行所有更改。

点击替换字符串旁边的替换图标(注意:您将看到一个对话框,以确认此批量操作。)

在此处输入图片说明

2)一次在一个文件中进行所有更改。

单击文件名旁边的替换图标(注意:该图标仅在将鼠标悬停在文件名行上方时显示)

在此处输入图片说明

3)在单个文件中进行单个更改。

单击单个更改旁边的替换图标:(注意:仅当您将鼠标悬停在更改行上时,该图标才会显示)

在此处输入图片说明

最后,不要忘记保存!

所有这些文件现在都已在编辑器中修改,尚未保存到磁盘。

使用文件->全部保存(或Ctrl+ Alt+ S

更新:我不确定何时添加此文件,但是如果单击“全部替换”按钮并看到此对话框,则单击“替换”将更改并一键保存所有文件:

在此处输入图片说明


1
是否可以保存“搜索替换”?我经常搜索“ class =”并替换为“ className =”
Rune Jeppesen

1
是否可以跳过最后一步并进行静默搜索和替换?如果我要进行琐碎的搜索和替换,则不想保存每个文件。
星期六2017年

1
我不确定这两个问题的答案。但是@satJ,请注意,Ctrl+Alt+S可以一次保存所有修改过的文件,因此非常快速简便。
杰夫·沃德

天哪,这很危险,将所有文件更改为默认文件。是否存在仅在单个文件中查找/替换的命令?
亚历山大·米尔斯

当前的全部保存默认为Ctrl-k,后跟字母s。在程序打开了一堆之后,先按Ctrl-k,再按Ctrl + w,将关闭所有窗口。
丽贝卡

26

更新资料

从1.3版(2016年6月)开始,可以在Visual Studio Code中进行搜索和替换。使用ctrl + shift + f,您可以搜索和替换所有出现的事件。

目前看来这是不可能的(版本1.1.1(2016年4月))

“问:能否进行全球搜索和替换?

答:该功能尚未实现,但是您可以期望它会在将来出现!”

https://code.visualstudio.com/Docs/editor/codebasics

社区似乎也要求这样做:https : //github.com/Microsoft/vscode/issues/1690


要搜索特定文件夹中的内容,只需在字段中添加文件夹路径files to include。您甚至可以在工作区之外查找/替换内容。⚠它不在文件名内搜索,而是在文件内搜索。(任何人都知道如何在工作空间之外搜索文件名吗?)
JinSnow

22

替换单个文件(当前打开)中的字符串: CTRL + H

要在工作空间级别进行替换,请使用: CTRL + SHIFT + H


注意:使用Ctrl + Shift + H时,必须按Enter键才能运行搜索。
亚伦·弗兰克

19

这是最好的方法。

  1. 首先将光标放在成员上,然后单击F2。

  2. 然后键入新名称,然后按Enter键。这将重命名项目中每个文件中的所有匹配项。

当您想跨多个文件重命名时,这是理想的选择。例如,您可能想在Angular服务上重命名可公开访问的函数,并在所有使用该函数的地方进行更新。

对于更出色的工具,我强烈建议:https : //johnpapa.net/refactoring-with-visual-studio-code/


如果我只想重命名当前文件中的内容怎么办?
temirbek

@temirbek我已经关注了一段时间。已经2年多了,还没有实现。github.com/Microsoft/vscode/issues/14836
DonDaniel

嗨,它还会重命名相关文件夹并导入吗?
Tamashi Kaizen

5

在“ Visual Studio代码键绑定”页面上,“ 键盘快捷方式参考 ”部分具有指向每个主要操作系统的PDF的链接。打开后,搜索“替换文件”或您可能需要的任何其他快捷方式。

另一种方法是使用命令面板ctrl/cmd+ shift+ P),您可以在其中键入“替换”以列出所有相关命令,包括所需的命令:

替换为文件ctrl/cmd+ shift+H

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.