Как можно вынудить StyleCop для ReSharper проигнорировать файлы?

Ваша главная проблема в жадном жетоне ((?!\[\/\1\]).)*?.

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

Во-вторых, вы соответствуете только закрывающему тегу и не ограничивает начальный тег. Первый шаг - сделать / перед \1 необязательным, \/?. Он не остановится до [tag], как теги без атрибутов. Чтобы добавить поддержку атрибутов, добавьте необязательную группу после \1, (?:\s[^]]*)?. Он соответствует необязательной последовательности пробелов, а затем любых 0+ символов, кроме ].

Фиксированное регулярное выражение будет иметь вид

\[([biu]|h[123]|l(?:arge|ist)|small|table|grid)](?:(?!\[/?\1(?:\s[^]]*)?]).|(?R))*\[/\1]

Не забудьте скомпилировать его с regex.DOTALL, чтобы оно совпадало с несколькими символами новой строки.

13
задан Drew Noakes 23 July 2009 в 08:04
поделиться

2 ответа

"Вы уверены, что имеете, сняли флажок с опцией настроек StyleCop, которая указывает, что stylecop должен проверить файлы разработчика? (Опции StyleCop> Правила> Подробные Настройки> Анализируют Файлы Разработчика)?"

http://stylecopforresharper.codeplex.com/Thread/View.aspx?ThreadId=47346

7
ответ дан 1 December 2019 в 23:32
поделиться

Вы можете полностью отключить ReSharper для определенного файла, нажав CTRL + 8 . Вы увидите, что маленький «глаз» в правом верхнем углу окна кода (вверху желоба) станет серым, что означает, что он отключен.

Нажмите клавишу еще раз, чтобы снова включить его.

3
ответ дан 1 December 2019 в 23:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: