【问题标题】:Remove all comments from VB.NET source code file从 VB.NET 源代码文件中删除所有注释
【发布时间】:2011-02-03 12:38:58
【问题描述】:

Visual Studio 编辑器中是否有用于从 VB.NET 源文件中删除所有 cmets 的宏?

【问题讨论】:

  • 只是好奇。你为什么要这样做?
  • 我重构了一个我一直在研究的模块——我注释掉了 X 行代码,然后在注释上方重写了该代码。现在我的代码通过了所有测试,我想删除注释掉的代码并向函数添加适当的 cmets。

标签: .net vb.net visual-studio visual-studio-2008 comments


【解决方案1】:

使用菜单编辑 -> 查找和替换 -> 使用正则表达式快速替换

查找内容:^{.+}'.+$

替换为:\1

将替换

text ' comment

text

【讨论】:

  • @abatishchev - 它删除了整行!我显然不想要。例如Dim path As String ' temporary file path - 将删除整行。
  • @roygbiv:我的第一个变体将删除整行。当前的 - 不会
  • 寻找下一个亮点?正确的。整条线匹配。它将被替换为它的一部分 - 从开始到评论标志
  • 刚刚试用了您的正则表达式。效果很好。但是有一个问题,如果注释行类似于'' This is a comment,那么它只会删除' This is a comment。一行中还有一个'
  • @Soham:也许[']+ 会起作用,应该意味着' 1 次或更多
【解决方案2】:

编辑*

http://bytes.com/topic/visual-basic-net/answers/579000-utility-remove-comments-vb-net-files

有一些选择。

  • 写个VB.NET程序来做吗? 应该很简单:任何以单引号作为第一个字符的行 应该被删除。以及单引号后的所有内容(即使是 不是第一个字符),前提是引号不在一对 双引号。 并且您发送给该程序的文件是任何 *.vb 文件。
  • 用正则表达式搜索和替换会 可能是最快的。

【讨论】:

  • 有趣的建议。我知道它会归结为这个。认为有一种更简单的点击方式。
【解决方案3】:

查找:^{(([^"']*"[^"]*"[^"'])#|[^"']*)}'.*$

替换为\1
也适用于这样的东西(SQL):

   cs = "INSERT INTO db (time, t1, t2) VALUES ('" & Time.ToString & "', NULL, '" & t2 & "')" ' COMMENT

【讨论】:

    猜你喜欢
    • 2011-05-23
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-21
    • 2014-08-10
    • 2018-11-07
    • 1970-01-01
    相关资源
    最近更新 更多