Omnisharp 如何在其配置文件中使用通配符?

How does Omnisharp use wildcards in its config files?

背景

这与older Whosebug question有关。我希望询问更多详细信息,但还没有写评论的声誉。 情况是一样的:我正在添加我想忽略的代码检查警告,方法是编辑 Omnisharp 的 config.json 文件的 "IgnoredCodeIssues" 部分。

问题

哪些 wildcard/regexp 字符在这里起作用,如何起作用?它可能是一个已知的标准,在我可以阅读的地方有自己的文档吗?

例子

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

Method 'Update' has the same with 'Start'

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

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

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

更多详情

我使用 Omnisharp-sublime 和 Sublime Text 3。 我已经阅读了文档并在 GitHub 页面上四处翻找(没有链接,因为我的声誉对于 2+ 链接来说太低了)但唯一相关的信息是 example config file 有几个被忽略的问题:

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

编辑: 使用

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

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

之前能够查找并研究它会很棒

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

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

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