Sublime Text - 排除搜索中的注释

16
每次我在数百个文件中搜索功能时,会看到很多与代码无关的注释匹配项。
有没有办法限制Sublime Text的搜索范围只查找实际的代码,而排除注释?
我使用Sublime Text 3开发C++程序。

1
我是提供了+100赏金的人。我只是留下这个评论,以防有人想使用评论来问我任何问题。如果您想要,您也可以在我的答案中发表评论。 - sergioFC
2个回答

8
我创建了一个插件,可以在给定的范围内搜索特定字符串。默认的范围选择器是-comment,可以有效地搜索评论之外的内容。要搜索的文本来自当前所选内容。搜索结果以下拉菜单形式呈现。
基本上,我结合了两个API方法:
  • view.find_all(pattern):在给定的视图中搜索模式。
  • view.match_selector(position, scope_selecor):检查给定位置是否在给定范围内。

你的解决方案符合所有悬赏要求,因此你应该得到悬赏。干得好! - sergioFC
对不起,你想做什么?你是否想在文本框中输入搜索文本,而不是使用当前选择的文本? - gwenzek
我正在尝试根据快速面板中的文本更新结果。 - sergioFC
如何在Sublime Text 3中安装此文件? - prosti
1
@prosti 将它复制粘贴到您的Packages/User文件夹中。要前往该文件夹,请使用Sublime中的“浏览程序包”菜单。 - gwenzek
显示剩余7条评论

7
你可以使用正则表达式来查找与给定的正则表达式匹配的模式。 根据需要设计正则表达式以进行匹配。
您可以通过打开“正则表达式”标志来提供正则表达式。

By this way you can search without comments

示例

如果您想匹配单行注释中的独立单词,可以使用此正则表达式。

^(?!\/\/)([^\/\n]*)YOUR_SEARCH_TERM

如果您想在多行注释中进行匹配,可以使用以下方法。
^(?!(\/\/|(\/\*(.|\n)*([^\*])(?=\/))))YOUR_SEARCH_TERM

1
注释有它们自己的复杂性。你能否给一个完整的答案? - barej
现在请看上方。@barej - Prasanna Rkv
但是对我来说,它也在注释中搜索:[图片](http://i.stack.imgur.com/uu8h0.png) - barej
之前未处理多行注释,现在请检查上面的答案。@barej - Prasanna Rkv

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接