Rya*_*n D 4 search comments intellij-idea find
我发现语法错误“它是”作为一个大项目的一页上的所有格。我试图在页面上搜索它的任何其他用法以纠正它,但我得到的结果包含数百条评论。我只想过滤项目中面向用户的重要部分。有没有办法从全局搜索的结果中排除评论?
在最近的版本中,至少在 PyCharm 2018(类似于 IntelliJ)中,有一个过滤器选项“除了评论”,如下所示:
(单击小过滤器图标以显示下拉列表。)
注意:选定的过滤器选项在会话期间仍然存在,除非您打开下拉菜单,否则活动过滤器选项不会立即显现。为防止意外限制后续搜索,之后切换回“任何地方”可能是个好主意。
另一种方法是在搜索对话框中启用“正则表达式”(或“正则表达式”)复选框,然后使用某种负面环视来排除注释。
在一种情况下,我需要# this is a comment从搜索中排除带有单行注释(例如)的行,而不是带有内联注释的行(例如a=b+1 # this is an inline comment)。以下是诀窍,搜索something(对于 Python 注释,以 开头#):
^((?!#).)*something.*$
请注意,我不是正则表达式专家,所以这个正则表达式模式可能会有很大的改进,但它说明了这个想法。你可以在regex101上玩这个。当然,任何改进模式的评论都是最受欢迎的。
请注意,这种方法是否可以扩展到多行注释。(如""" several lines here """)。
如果不真正查看代码,很难提出建议,但由于这似乎是一次性的事情,我会在注释中使用全局搜索来临时用一些#temporary-token#替换“it's”,然后在任何地方使用全局搜索,你应该剩下的一切。然后回滚评论的临时令牌。使用 VCS 应该很容易尝试。只是一个想法。

正如您所看到的,使用“仅评论”选项时,只能找到一个#token。
