【问题标题】:VSCode: delete all comments in a fileVSCode:删除文件中的所有注释
【发布时间】:2018-11-07 12:58:56
【问题描述】:

有没有一种简单的方法可以从 VSCode 中的打开文件中删除所有 cmets?最好是行和块 cmets。

对 Java 最感兴趣,但也对 Python 和 R 感兴趣。

【问题讨论】:

    标签: visual-studio-code comments


    【解决方案1】:

    简单的方法:

    • 打开扩展 (ctrl-shift-x)
    • 在搜索框中输入remove comments
    • 安装顶针并阅读说明。

    艰难的路:

    一个简单的//.* 将匹配所有单行cmets(以及更多;D)。 #.* 可用于匹配 python cmets。 /\*[\s\S\n]*\*/ 匹配块 cmets。您也可以将它们组合起来://.*|/\*[\s\S\n]*\*/(正则表达式中的| 表示“或”,. 表示任何字符,* 表示“0 或更多”并表示要匹配的字符数,因此.*表示直到行尾(或直到下一个匹配规则)的所有字符)

    当然有一些注意事项,例如 url (https://...) 有双斜杠,并且将匹配第一个规则,天知道代码中哪里有 # 将匹配该 python 规则。所以必须做一些阅读/调整!

    一旦你开始摆弄你的正则表达式,可能需要一生的时间才能让它们变得完美,所以如果你时间紧迫,请小心并走简单的路线,但是记住一些简单的正则表达式会对你有好处,因为正则表达式几乎可以在任何地方使用。

    【讨论】:

    • 正则表达式真的帮助了我。我认为这些非常强大。上帝保佑你。
    • 设置非贪婪,否则如果有两个块 cmets 它也会抓取两个 //.*|/\*[\s\S\n]*?\*/ 之间的代码
    【解决方案2】:

    对不起,我不能发表评论(没有足够的声誉),但要完成 ippi 回复: 您可以为单行 cmets 正则表达式添加后视条件以避免包含诸如 http(s)://

    之类的 URL

    例子:

    (?<=[^:])\/\/.*
    

    所以完整的正则表达式看起来像:

    (?<=[^:])\/\/.*|/\*[\s\S\n]*\*/
    

    【讨论】:

      【解决方案3】:

      这将是一个简单的方法。键入 CTRL + F 并键入 //.* 并选择正则表达式,如下图所示。

      现在你可以看到所有的注释行都被选中了。用空格替换那些。替换可以启用点击上图中的>符号。

      在第二个文本字段中输入一个空格并按 Enter。它将一一删除注释行。长按可以删除所有注释行。

      【讨论】:

        【解决方案4】:

        如果您不想安装删除选定 cmets 的扩展程序,您可以尝试这种方法,

        • Ctrl F 在页面上查找
        • 查找 //
        • 替换为空白
        • 通过查找,您的 // cmets 将被替换为空白,因此删除您的 cmets! :)

        【讨论】:

          【解决方案5】:

          由于tslint-to-eslint-config 的错误,我不得不删除 tsconfig.json 中的 cmets; fix is merged 现在仅供参考。

          但我通过在 vscode 中打开正则表达式搜索模式,并将其输入到搜索字段中来解决它:

          (\/\/.*| ?\/\*.+\*\/)(,?)$`
          

          并将其放入替换字段:

          $2
          

          你可以在 regex101.com 上看到这个工作(有替换)here

          【讨论】:

            猜你喜欢
            • 2014-08-10
            • 2014-06-13
            • 2012-11-12
            • 2011-02-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-21
            • 2020-08-01
            相关资源
            最近更新 更多