Как Omnisharp использует подстановочные знаки в своих конфигурационных файлах?

Фон

Это относится к более старому вопросу стекового потока. Я надеялся попросить более подробную информацию, но еще не получил репутацию, чтобы писать комментарии. Обстоятельства одинаковы: я добавляю предупреждения о проверке кода, которые хочу игнорировать, редактируя раздел "IgnoredCodeIssues" в файле config.json Omnisharp.

Вопрос

Какие символы подстановки / регулярные выражения работают здесь и как? Возможно, это где-то известный стандарт со своими документами, который я могу прочитать?

пример

Если я введу дословно предупреждение о проблеме, это сработает, но было бы гораздо эффективнее использовать подстановочные знаки. Например это предупреждение:

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

1 ответ

Решение

Основываясь на примерах в файле конфигурации, вы должны просто использовать стандартное регулярное выражение в двойных кавычках. Не используйте стиль Perl /regex/replace/options, config.json читается сервером OmniSharp, написанным на C#, поэтому, если вы хотите сделать что-то свое с регулярными выражениями, убедитесь, что они совместимы с C#.

Так, например, ваш пример регулярного выражения будет выглядеть так:

"(Method)\s'\w+'\shas the same with\s'\w+'"
Другие вопросы по тегам