【问题标题】:How to delete all comments in a selected code section?如何删除选定代码段中的所有注释?
【发布时间】:2010-10-07 20:42:24
【问题描述】:

每隔一段时间,我的代码中就会出现许多无用的 cmets,其中大部分是过时的代码行,还有一些是过时的“自我备忘录”。
所以我想知道是否有办法只选择一个代码部分,并使用一些神奇的组合键或宏,删除所有这些。

谢谢。

【问题讨论】:

    标签: visual-studio-2010 macros keyboard-shortcuts


    【解决方案1】:

    也删除 cmets 之前的所有空格。

    (\t+|\s+|\r\n)((/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*))
    

    http://blog.ostermiller.org/find-comment

    【讨论】:

    • 因为 "/\*.*\*/" 没有找到多行 cmets,这节省了我的时间。谢谢
    【解决方案2】:

    打开文档,按 Ctrl+H 或找到并打开“快速替换”

    1 启用正则表达式 (Alt+E)
    2 在 Find FieldBox 中,写

    //.*/*.*

    3 在 Replace FieldBox 中,将其保留为空或放置您选择的文本。
    注意:/* */ - 多行注释删除有限制

    【讨论】:

    • 对于那些有问题的人 - 避开星号并继续匹配最后的斜线,即/\*.*\*/
    【解决方案3】:

    1.//.*?\n
    2./\*(.|\n)*?\*/
    这些 RE 还将删除多行 cmets。 (只需使用打开正则表达式的查找和替换)。

    【讨论】:

    • 第一个正则表达式也破坏了网络链接。
    【解决方案4】:

    我相信 VS 中的搜索和替换允许使用正则表达式,搜索“//(任何到行尾的内容”或“/*(任何内容)*/”并替换为“”很容易。

    因为这是 c++(我认为),所以可以编写正则表达式,这样它就不会找到“转义”的 cmets。

    【讨论】:

    • 但它不允许在许多其他代码之间进行查找/替换代码选择:(
    • 糟糕。我错了。在“查找:”组合下拉菜单中有一个名为“选择”的选项... :) Yippie
    • 你能提供这种表达的例子吗?
    • @dumbledad - 因为这是 c++(我认为),所以可以编写正则表达式,这样它就不会找到“转义”的 cmets。无论如何,我会假设作者会审查每个搜索/替换,而不仅仅是不加检查!
    • 好电话,我假设它会在不检查的情况下完成!如果您编辑答案以包括我可以取消我的 -1
    【解决方案5】:

    我想把这两个答案结合起来,写出我自己的答案。

    1. 打开文档,按 Ctrl+H 或找到并打开“快速替换”(See Arpan's answer

    2. Alt+E 启用正则表达式

    3. 在 Find FieldBox 中,编写如下正则表达式 (See Jonmeyer's answer)

      (\t+|\s+|\r\n)((/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*))

    4. 在“替换字段框”中,将其留空或放入您选择的文本。

    例如:

    【讨论】:

    • 谢谢。效果很好。
    【解决方案6】:

    您还可以使用this Visual Studio 扩展来删除代码中的 cmets。 只需查看该链接,您就会找到有关如何删除 cmets 的说明。

    【讨论】:

      【解决方案7】:

      您没有在问题中指定语言。以上答案适用于 c#。

      对于 Visual Basic,搜索正则表达式 '.*$ 并替换为空将删除所有 cmets。

      【讨论】:

        【解决方案8】:

        /\*. * \ * / 使用它来查找长注释行。 (删除空格。)

        你也可以看here

        【讨论】:

          猜你喜欢
          • 2011-02-03
          • 2014-07-23
          • 2016-02-29
          • 2011-03-02
          • 2013-10-14
          • 2016-07-27
          • 1970-01-01
          • 1970-01-01
          • 2011-05-23
          相关资源
          最近更新 更多