使用 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 Code快速删除空行及几个常用快捷键总结