我花了一些时间试图弄清楚如何删除Visual Studio Code中的所有空白行,但无法正常工作。有人知道怎么做吗?
如果^$
在搜索字段中键入内容时进行搜索,VSC会找到空白行(完全空白行,表示没有空格),但是当我单击“全部替换”时,它不会将其删除。它什么都不做:
对于带空格的空白行,^\s+$
搜索有效,但不会删除它们。它的作用是将它们替换为无空格的空行:))
一定是我做错了。我只是不知道这是什么。有人知道吗 谢谢。
我花了一些时间试图弄清楚如何删除Visual Studio Code中的所有空白行,但无法正常工作。有人知道怎么做吗?
如果^$
在搜索字段中键入内容时进行搜索,VSC会找到空白行(完全空白行,表示没有空格),但是当我单击“全部替换”时,它不会将其删除。它什么都不做:
对于带空格的空白行,^\s+$
搜索有效,但不会删除它们。它的作用是将它们替换为无空格的空行:))
一定是我做错了。我只是不知道这是什么。有人知道吗 谢谢。
Answers:
对于那些可能感兴趣的人-在1.3.1版中对我有用(并在1.33.1中仍然可用)删除我使用ctrl+ h(查找和替换)alt+ r(使用正则表达式)的空行
然后在查找框中:
\n\n
在替换框中:
\n
这应该使两个连续的行尾符号变为一个。
编辑:
如果您需要一次替换更多的空行(多于两个),则可以在查找框中使用以下正则表达式:
\n+
如果您还需要用空格替换空行,则需要在查找框中使用以下正则表达式:
\n+\s*\n
VS代码正在使用javascript正则表达式
^[\r\n]{3,}
此正则表达式模式也有效:
^\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然后允许将其替换为任何内容(空白“替换为”字段)。
这是我的正则表达式,它捕获所有额外的新行和仅包含空格,制表符等的空行
\n\s*\n
我将所有比赛替换为 \n
说明
\n : New Line
\s* : Zero or more consecutive white space characters or new lines
\n : Another New Line
PS:请记住在搜索窗口中选择正则表达式选项!
不,您做对了。
我在这里得到相同的行为。
我还尝试了另一个正则表达式:(\r?\n){2,}
但是看来它仅适用于单行。
也许有偏好更改默认的正则表达式行为,或者VS是以这种方式构建的(基于行)
当然,剪切粘贴并从另一个文本编辑器返回并没什么大不了的。
^\s*$
为空之后,这才对我有所帮助,然后我尝试了(\r?\n){2,}
我不了解您,但是为我记住很多命令似乎浪费时间!
使用扩展名“ Blank Line Organizer”,这是说明:
此扩展将通过删除多个空行来帮助您组织代码中的空行。该扩展名仅从所选行中删除空白行(如果有的话),否则从整个文件中删除
用法:检查扩展名的描述,但确实好用!
blankLine.triggerOnSave boolean true If set to true, the command will be triggered on save.
换句话说,保存文件后,它会自动清理!
您只需要做代码女仆扩展。您可以使用快捷键Ctrl M +空格键清理文件,它将删除空行并设置代码格式。您还可以配置有关格式和清除规则。希望这有用。
一个或多个换行符(\ n)+,并替换为\ n
我的版本是用空白清理空行:
find: (?:\s*$(\r?\n)){2,}
replace: $1
$
实际上并不与换行符匹配,而是与在换行符之前存在的零宽度标记匹配。要替换新行,您需要使用,\n
但是VS Code当前不支持多行正则表达式匹配(#313)