使用 Visual Studio 删除文本中的空行

Posted

技术标签:

【中文标题】使用 Visual Studio 删除文本中的空行【英文标题】:Remove empty lines in text using Visual Studio or VS Code 【发布时间】:2012-09-09 07:25:24 【问题描述】:

如何在 Visual Studio 中删除空行?

【问题讨论】:

For Visual Studio Code 在不使用正则表达式的情况下有答案吗?只需使用 CTRL-K-D 之类的快捷方式即可格式化文档但忘记删除双空行。 【参考方案1】:

它非常有用,特别是如果您想安排或比较代码,感谢回答这个问题的人,我从here 得到了答案,并希望与 *** 分享:

Visual Studio 能够使用正则表达式删除替换操作中的空行。

点击Ctrl-H(快速替换)

勾选“使用正则表达式”

在查找中指定^$\n

在替换框中删除所有内容。

点击“全部替换”

所有空行都将被删除。

空行的正则表达式由

组成

行首^

行尾$

换行符\n

请注意,通常在 Windows 中,行尾由 2 个字符 crlf 表示 - 回车(CR、ASCII 13、\r)换行(LF、ASCII 10、\n)。

删除空白行的正则表达式真的空白(即它们有/没有空格):^:b*$\n

要删除双线:^:b*\n:b*\n 替换为:\n

* 适用于 Visual Studio 2013 及更高版本:*

^\s*$\n

对于双线:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

在下面@lennart 的回答中查看 VS2012 及更高版本的正则表达式语法更新

【讨论】:

在 Visual Studio 2015 中清理 XML 文件就像一个魅力。有人知道如何制作快捷方式来执行它吗? 对于 Visual Studio 2012 及更高版本,请查看以下答案 有没有办法让它与自动格式化程序一起工作?【参考方案2】:

由于 Visual Studio 2012 更改了其正则表达式语法,Ala 的原始答案在 VS 2012 中转换为以下内容:

删除单个空行

旧:

^:b*$\n

新:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013(感谢 BozoJoe 和 Joe Johnston):

^\s*$\n

删除双空行

旧:

^:b*\n:b*\n

新:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

从你的舌头上滚下来。

Here 是来自 MSDN 的转换表。

【讨论】:

BozoJoe 的回答,对我来说,在 VS2012 中也运行良好(更新 4) ^\s+$\n 更改为 ^\s*$\n 允许(无内容)纯换行。 我怎样才能让它自动化,就像使用 CTRL+K+D 一样? 这适用于字符串还是编辑器中的代码? @KyleDelaney 主要用于编辑器中的代码。我不知道字符串的语法是否相同(如果您的意思是 Regex.* 类)【参考方案3】:

要使用 VS2012 删除两个或多个相邻的空行,请使用以下命令:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n

【讨论】:

我正在寻找一种解决方案,将两个空行替换为一个。这个对我有用。谢谢!【参考方案4】:

在 VS 2012 中,用于查找和替换所有空行的正则表达式字符串是 ^(?([^\r\n])\s)\r?\n

【讨论】:

【参考方案5】:

删除双行:^:b*\n:b*\n 替换为:\n

来源:http://geekswithblogs.net/mnf/archive/2008/03/04/remove-empty-lines-in--text-using-visual-studio.aspx

【讨论】:

这个答案是对上面相同答案的重复!【参考方案6】:

在 Visual Studio 2013(版本 12.0.20623.01)中,我使用此正则表达式 ^\r\n 删除了空行。在屏幕中,您可以看到棕色方块表示的匹配行。

【讨论】:

我也尝试过这种方式,但视觉工作室卡住了几分钟,然后只替换了我有的几百个中的 1 个!大声笑:-D【参考方案7】:

在 VS 2012 中测试以允许纯换行。

^\s*$\n 

【讨论】:

这在 VS 2015 中对我有用,不幸的是,接受的答案没有 同样适用于 VS 2013。 在 VS 2017 中效果很好,接受的答案不行。 2019 年也可以使用【参考方案8】:

安装CodeMaid 并按Ctrl+M, Space 清理代码。 (它也会格式化代码,例如格式化文档Ctrl+E、D)。您可以从解决方案资源管理器中清理更多文件。

【讨论】:

谢谢,看起来是个很棒的扩展。【参考方案9】:

Ctrl + K, Ctrl+D 自动格式化当前文档并删除不必要的空间代码。如果您要查找的内容,它有助于使您的代码保持可读性。

【讨论】:

我正在参考我的问题,请看,它在看,这是我在看的东西。 ***.com/questions/44747909/…. 这不会删除双/冗余空行。【参考方案10】:

我正在使用 Visual Studio 2017,在我尝试 \n\r 之前,上述方法均不适用于我

步骤:

    Ctrl + H(打开查找和替换) 选择使用正则表达式 (Alt + E) 在“查找...”输入框中输入\n\r 按替换

【讨论】:

【参考方案11】:

使用 Visual Studio 2017 及更高版本

当前文档中

使用快捷方式

打开工具 > 选项或按Alt + T + O环境 标签下 > 键盘 搜索“DeleteBlank”并选择Edit.DeleteBlankLines 添加一个新的快捷方式,例如 Ctrl+D,Ctrl+E 分配 > 确定

选择所有文本并点击快捷键

【讨论】:

这只会删除选定的空行或从当前行到下一个非空行。它不适用于整个文档或项目。 在运行命令之前尝试全选,然后它会起作用。 奖项归@Anas 你应该选择不使用的快捷方式。我拿了 Ctrl + Shift + Alt + D【参考方案12】:

VS 2019

    打开替换框:Ctrl + H 开启正则表达式:Alt + E 查找:^\s*$\n 替换:(留空) 全部替换:Alt + A 关闭正则表达式:Alt + E 隐藏替换框:Esc 格式化文档:Ctrl + K 然后Ctrl + D 如果您曾经敲击过重,请更换键盘

【讨论】:

以上是关于使用 Visual Studio 删除文本中的空行的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 2015 删除空行 ,缩进css

删除Visual Studio 2019中菜单下方的空行

Visual Studio Code快速删除空行及几个常用快捷键总结

Visual Studio Code快速删除空行及几个常用快捷键总结

Visual Studio 2010 中的代码自动清理

Visual Studio Code的快捷键