我花了一些时间试图找出如何在Visual Studio Code中删除所有空白行,但是我无法让它正常工作。有人知道如何做吗?
如果我在搜索字段中输入^$
并搜索,VSC会找到空白行(完全是空的行,不包含任何空格),但是当我点击“全部替换”时,它不会删除它们。什么都不做:
对于带有空格的空白行,^\s+$
搜索有效,但它不能把它们删除。它会用一个没有空格的空白行进行替换 :))
肯定是我做错了什么。我只是无法弄清楚是什么错了。有人知道吗?谢谢。
我花了一些时间试图找出如何在Visual Studio Code中删除所有空白行,但是我无法让它正常工作。有人知道如何做吗?
如果我在搜索字段中输入^$
并搜索,VSC会找到空白行(完全是空的行,不包含任何空格),但是当我点击“全部替换”时,它不会删除它们。什么都不做:
对于带有空格的空白行,^\s+$
搜索有效,但它不能把它们删除。它会用一个没有空格的空白行进行替换 :))
肯定是我做错了什么。我只是无法弄清楚是什么错了。有人知道吗?谢谢。
对于那些可能感兴趣的人 - 在1.3.1版本中适用于我(在1.33.1中仍然适用)删除空行,我使用了ctrl+h(查找和替换)alt+r(使用正则表达式)
在查找框中:
\n\n
在替换框中:\n
这应该将连续的两个换行符变成一个。
编辑后:
如果您需要一次替换多个空行(超过两个),可以在查找框中使用以下正则表达式:
\n+
如果您需要将空行替换为空格,那么您需要在查找框中使用以下正则表达式:
\n+\s*\n
VS code正在使用JavaScript正则表达式
^[\r\n]{3,}
。 - RJ Cuthbertson\n\s*\n
。 - AsGoodAsItGets同样有效的是这个正则表达式模式:
^\s*$\n
然后按CTRL+Enter替换所有行。
以上模式的解释:
-----------------------------------------------
| ^ | beginning of string anchor |
-----------------------------------------------
| \s | any whitespace character |
-----------------------------------------------
| '*'| zero or more repetitions |
-----------------------------------------------
| $ | end of string anchor |
-----------------------------------------------
| \n | new line |
-----------------------------------------------
\n
放在锚点之外是对我有效的。然后VSCode允许将其替换为空(空的“替换为”字段)。 - EricVisual Studio Code 1.13.0 Linux Lite:
^(\s)*$\n
(根据需要输入多个结尾的\n
)空行已经消失!
这是我的正则表达式,它可以捕获所有多余的换行符和只包含空格、制表符等内容的空行。
\n\s*\n
我将所有匹配项替换为\n
解释
\n : New Line
\s* : Zero or more consecutive white space characters or new lines
\n : Another New Line
附注:请记得在搜索窗口中选择正则表达式选项!!
不,你做得很对。
我也遇到了相同的情况。
我还尝试了另一个正则表达式:(\r?\n){2,}
,但似乎它只适用于单行。
也许有一种偏好可以改变默认的正则表达式行为,或者VS只是以这种方式构建的(基于行)。
当然,从另一个文本编辑器中复制和粘贴回来也不是什么大问题。
^\s*$
后,我才找到了解决方法,然后我尝试了 (\r?\n){2,}
。 - Mihai Popescu我不知道你们怎么看,但是对我来说,记住太多的命令好像是浪费时间!
使用扩展程序“空行组织者”,以下是描述:
该扩展程序将帮助您通过删除多个空行来组织代码中的空行。该扩展程序仅从所选行(如果有)中删除空行,否则从整个文件中删除。
如何使用:请查看扩展程序的描述,但它似乎非常不错!
blankLine.triggerOnSave boolean true If set to true, the command will be triggered on save.
"csharp",
来处理 .csharp 文件。 - tyirvine(\r?\n){2,}
只对我起作用,
我必须进行小修改后再次运行它才能使其适用于单行(只需将2改为1)。^(\r?\n){1,}
替换:
^\n$
为:
<no value here>
这将找到所有空行并将它们清除。
将一个或多个换行符(\n)+替换为\n