VS Code 如何进行多行查找?
更新:现在已经原生支持多行查找了。
VS Code 的查找和替换框是单行的,如果粘贴有换行的内容进去,换行符会变成空格,就搜不到结果了。
用正则模式把换行写成字符串的"\n"可以匹配到,但如果字符串里有正则表达式的操作符,如| . 之类的就麻烦了,总不能把每种操作符都转义一遍吧,太麻烦了,而且还可能出错。
请问这个问题有解决办法吗?我根本搜不到相关资料啊,大家平时都不用查找多行文本的吗?
ps:在github上看到了一个相关的issue,是去年5月份的,时至今日也没有添加这个功能的动静,看来指望不上了。
我觉得多行查找和替换是很有用的功能。此外上面的issue也提到了VS Code 缺少“搜索所有”的功能(search all,在项目文件夹或所有已打开的文件中搜索,并把搜索结果汇总出来)。这点真是太无奈了,当我需要用到这些功能时,只好用sublime text 来完成。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
今天有位开发者告诉我,他做的一个扩展可以实现这个功能,我试了一下很有用:
Multiline Find and Replace
它的一个功能就是把选中的文字拷贝为正则表达式,并且把所有的特殊符号进行了转义,使用起来很方便。
使用步骤:
1.选中你要查找的多行文字
2.ctrl+shift+p,输入“copy”执行这个命令:
3.粘贴到查找框里使用就可以了(记得开启正则模式)。
注意:
VS Code 查找时,如果不使用正则,会在项目中的所有文件里查找。但是使用正则时,只会搜索已打开的文件。这一点在使用的时候要注意。
附:开发者axlan 提交新功能的issue 页面
比较无奈,但是还是可以实现的,下面是一个例子,主要是利用
\n
的匹配,使用.*\n
匹配跨行中间的多行,当然了,我这里的场景是不关心中间行的内容的,如果关心中间行的内容的话,正则会比较复杂栗子:
如果错误,敬请指正