163

我花了一些时间试图弄清楚如何删除 Visual Studio Code 中的所有空白行,但我无法让它工作。请问有人知道怎么做吗?

如果我^$在搜索字段中键入它时进行搜索,VSC 确实找到了空白行(完全空白行,意味着没有空格),但是当我点击全部替换时它不会删除它们。它什么也不做: ^$

对于带空格的空行,^\s+$搜索有效,但不会删除它们。它的作用是用没有空格的空行替换它们:)) ^\s+$

一定是我做错了什么。我只是不知道它是什么。有人知道吗?谢谢。

4

17 回答 17

245

对于那些可能感兴趣的人 - 在 1.3.1 版本中对我有用(并且在 1.33.1 中仍然有效)删除我使用的空白行ctrl+ h(查找和替换)alt+ r(使用正则表达式)

然后在查找框中:

\n\n

在替换框中:

\n

这应该使两个连续的行尾符号合二为一。

编辑:

如果您需要一次替换更多的空行(两个以上),您可以在查找框中使用以下正则表达式:

\n+

如果您还需要用空格替换空行,那么您需要在查找框中使用以下正则表达式:

\n+\s*\n

VS 代码使用 javascript 正则表达式

于 2016-10-05T18:57:08.890 回答
142

同样有效的是这个正则表达式模式:

^\s*$\n

然后CTRL+Enter替换所有行。

上述模式的解释:

-----------------------------------------------
|  ^ | beginning of string anchor             |
-----------------------------------------------
| \s | any whitespace character               |
-----------------------------------------------
| '*'| zero or more repetitions               |
-----------------------------------------------
|  $ | end of string anchor                   |
-----------------------------------------------
| \n | new line                               |
-----------------------------------------------
于 2017-05-17T07:02:03.180 回答
49

Visual Studio Code 1.13.0 Linux Lite:

  • 点击CTRL+H
  • 选择“使用正则表达式”
  • 查找框:^(\s)*$\n(根据需要输入多个结尾\n)
  • 替换框:空
  • 点击全部替换

空行不见了!

于 2017-06-10T04:53:50.487 回答
21

这是我的正则表达式,它捕获所有额外的新行和只包含空格、制表符等的空行

\n\s*\n

我将所有匹配替换为\n

解释

\n       : New Line
\s*      : Zero or more consecutive white space characters or new lines
\n       : Another New Line

PS:记得在搜索窗口中选择正则表达式选项!!

于 2018-04-23T13:11:29.283 回答
13

尝试在 VS Code 的替换对话框中使用 ^\s*\n -

看这里

于 2017-08-31T06:31:36.190 回答
6

不,你做对了。

我在这里得到相同的行为。

我还尝试了另一个正则表达式:(\r?\n){2,} 但它似乎只适用于单行。

也许有更改默认正则表达式行为的偏好,或者 VS 可能只是以这种方式构建的(基于行)

当然,从另一个文本编辑器中剪切粘贴并返回并不是什么大问题。

于 2016-04-11T07:14:34.340 回答
5

我不了解你,但是记住很多命令对我来说是浪费时间!

使用扩展名“Blank Line Organizer”,描述如下:

此扩展将帮助您通过删除多个空行来组织代码中的空行。扩展仅从选定行中删除空行(如果有),否则从整个文件中删除

使用方法:查看扩展的描述,但它真的很不错!

blankLine.triggerOnSave boolean true    If set to true, the command will be triggered on save.

换句话说,保存文件后,它会自动清理!

于 2018-01-09T12:42:34.900 回答
3

我发现以下在 Visual Studio 中最适合我:

替换: 替换为 ^\n$<no value here>

这将找到所有空行并将其清除。

于 2016-10-14T14:27:29.943 回答
3

在我的情况下。kobi7 解决方案(\r?\n){2,}只对我有用,我必须稍作修改再次运行它以使其适用于单行(只是将 2 更改为 1)

^(\r?\n){1,}
于 2018-11-16T18:59:31.993 回答
0

有我的用空白清理空行的版本:

find:    (?:\s*$(\r?\n)){2,}
replace: $1
于 2019-10-21T19:51:20.593 回答
0

在 vscode 中安装扩展“删除空白行”

于 2020-11-17T05:27:37.093 回答
0

一个或多个换行符 (\n)+ 并替换为 \n

于 2017-09-03T15:06:41.500 回答
0

首先删除空行中的所有空白仅删除所有空白 然后删除所有空行,空行是2个或更多换行符删除2个或更多出现的空白喜欢

于 2021-03-01T15:53:29.600 回答
0

Code Maid Extension 是您所需要的。您可以使用快捷键 Ctrl M + 空格键来清理您的文件,它将删除空行并格式化您的代码。您还可以配置有关格式和清理规则。希望这有用。

于 2017-06-04T15:22:58.747 回答
0

正则表达式查找至少 2 个空行

\n\s*\n\s*\n
于 2021-02-02T13:05:15.647 回答
-1

替换:^\n$ 为:“空格”

于 2018-01-08T06:44:16.457 回答
-4

视窗 10、Visual Studio 2015

Ctrl + H

查找... -> ^\s*

全部替换

Ctrl + A

Ctrl + K + F

谢谢你的提问,我学到了一些新东西。

于 2016-07-30T23:58:39.697 回答