【发布时间】:2018-11-07 12:58:56
【问题描述】:
有没有一种简单的方法可以从 VSCode 中的打开文件中删除所有 cmets?最好是行和块 cmets。
对 Java 最感兴趣,但也对 Python 和 R 感兴趣。
【问题讨论】:
标签: visual-studio-code comments
有没有一种简单的方法可以从 VSCode 中的打开文件中删除所有 cmets?最好是行和块 cmets。
对 Java 最感兴趣,但也对 Python 和 R 感兴趣。
【问题讨论】:
标签: visual-studio-code comments
remove comments。一个简单的//.* 将匹配所有单行cmets(以及更多;D)。 #.* 可用于匹配 python cmets。 /\*[\s\S\n]*\*/ 匹配块 cmets。您也可以将它们组合起来://.*|/\*[\s\S\n]*\*/(正则表达式中的| 表示“或”,. 表示任何字符,* 表示“0 或更多”并表示要匹配的字符数,因此.*表示直到行尾(或直到下一个匹配规则)的所有字符)
当然有一些注意事项,例如 url (https://...) 有双斜杠,并且将匹配第一个规则,天知道代码中哪里有 # 将匹配该 python 规则。所以必须做一些阅读/调整!
一旦你开始摆弄你的正则表达式,可能需要一生的时间才能让它们变得完美,所以如果你时间紧迫,请小心并走简单的路线,但是记住一些简单的正则表达式会对你有好处,因为正则表达式几乎可以在任何地方使用。
【讨论】:
//.*|/\*[\s\S\n]*?\*/ 之间的代码
对不起,我不能发表评论(没有足够的声誉),但要完成 ippi 回复: 您可以为单行 cmets 正则表达式添加后视条件以避免包含诸如 http(s)://
之类的 URL例子:
(?<=[^:])\/\/.*
所以完整的正则表达式看起来像:
(?<=[^:])\/\/.*|/\*[\s\S\n]*\*/
【讨论】:
如果您不想安装删除选定 cmets 的扩展程序,您可以尝试这种方法,
【讨论】:
由于tslint-to-eslint-config 的错误,我不得不删除 tsconfig.json 中的 cmets; fix is merged 现在仅供参考。
但我通过在 vscode 中打开正则表达式搜索模式,并将其输入到搜索字段中来解决它:
(\/\/.*| ?\/\*.+\*\/)(,?)$`
并将其放入替换字段:
$2
你可以在 regex101.com 上看到这个工作(有替换)here
【讨论】: