0

背景

这与一个较旧的 stackoverflow 问题有关。我希望询问更多详细信息,但尚未获得撰写评论的声誉。情况相同:我通过编辑 Omnisharp 的 config.json 文件的“IgnoredCodeIssues”部分来添加我想忽略的代码检查警告。

问题

哪些通配符/正则表达式字符在这里工作以及如何工作?它可能是一个已知的标准,在我可以阅读的地方有自己的文档吗?

例子

如果我逐字输入问题警告,它会起作用,但使用通配符会更有效。例如这个警告:

Method 'Update' has the same with 'Start'

是一个我不关心的警告,它会弹出很多。一个好的解决方案是将其配置为适用于此问题的所有实例,即在“更新”和“开始”部分使用通配符。使用典型的正则表达式,它看起来像这样:

/(Method)\s'\w+'\shas the same with\s'\w+'/g

但这显然不是这里的语法,只会破坏配置文件。所以我希望了解这个特定文件中通配符的特定语法。

更多细节

我使用 Omnisharp-sublime 和 Sublime Text 3。我已经阅读了文档并翻遍了 GitHub 页面(没有链接,因为我的声誉对于 2+ 链接来说太低了),但唯一相关的信息是一个示例配置文件,其中包含几个忽略的问题:

"IgnoredCodeIssues": [
    "^Keyword 'private' is redundant. This is the default modifier.$",
    ".* should not separate words with an underscore.*"
  ],

编辑: 使用

"Method '.*.' has the same with.*",

(注意 .*.)使警告消失,但我不知道是否存在副作用或其他后果,例如隐藏我可能确实希望收到通知的警告。有没有人见过这样的通配符扩展?在向我的 config.json 添加更多内容之前能够查看并研究它会很棒

4

1 回答 1

0

根据配置文件中的示例,您应该只在双引号内使用标准正则表达式。不要使用 Perl 风格的/regex/replace/options. config.json由 OmniSharp 服务器读取,它是用 C# 编写的,所以如果你想用你的正则表达式做任何花哨的事情,请确保它们与 C# 兼容。

因此,例如,您的示例正则表达式将如下所示:

"(Method)\s'\w+'\shas the same with\s'\w+'"
于 2016-01-10T16:59:01.233 回答