我有一堆用不同语言编写的源文件,我想从源文件中删除所有注释。
虽然编写正则表达式当然是一种选择,但根据输入文件,我可能必须处理表示注释的字符出现在字符串文字内的情况。还需要维护不同语言的正则表达式列表。
语法突出显示似乎在突出显示注释方面做得相当好,但命令面板中似乎没有任何命令可以删除所有注释。
有没有办法利用 SublimeText 中的语法突出显示功能来删除不同语言的源文件中的所有注释?
基于 nhahtdh 的answer https://stackoverflow.com/a/26286880/1426065,以下插件应该适用于 Sublime Text 2 和 3
import sublime_plugin
class RemoveCommentsCommand(sublime_plugin.TextCommand):
def run(self, edit):
comments = self.view.find_by_selector('comment')
for region in reversed(comments):
self.view.erase(edit, region)
使用Python语法创建一个新文件,并将上面的代码粘贴到其中。将文件保存在您的Packages/User
目录(可通过Preferences -> Browse Packages...
) as remove_comments.py
。您现在可以通过控制台运行插件,或将组合键绑定到它。要通过控制台运行,只需键入
view.run_command('remove_comments')
控制台中,当前视图下的所有评论都会被删除。
要绑定组合键,请打开Preferences -> Key Bindings-User
并添加以下内容(用方括号括起来[]
如果文件为空):
{ "keys": ["ctrl+alt+shift+r"], "command": "remove_comments" }
Save the file, and you can now hit CtrlAltShiftR (or whatever key combination you choose) and all comments in the current file will be deleted.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)