Как 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+'"