Почему некоторые правила SonarQube отсутствуют в SonarLint в Visual Studio - PullRequest
0 голосов
/ 01 ноября 2019

Я не понял этой явной разницы между SonarLint и SonarQube.

Отсутствует ли моя конфигурация sonarLint?

См. Печать ниже

Сравните правила из SonarQubeв SonarLint

Спасибо, ребята!

1 Ответ

1 голос
/ 06 ноября 2019

Для кода C # как SonarLint для VS («SLVS»), так и сканер для MSBuild («S4MSB») используют анализатор SonarC # Roslyn.

SLVS использует версию SonarC #, встроенную в VSIX;S4MSB использует версию, встроенную в плагин SonarQube SonarC #. Вы можете увидеть несколько разные наборы проблем, о которых сообщается, если используются разные версии анализатора SonarC #, поскольку анализатор находится в стадии активной разработки (например, добавляются новые правила, ложноположительные результаты и исправляются ошибки).

Более распространенным источником различий является конфигурация набора правил для запуска. Один и тот же набор правил по умолчанию используется и SLVS, и SonarQube, но это настраивается. В SonarQube настройка правил выполняется с использованием профилей качества. В VS это делается с использованием стандартного механизма набора правил VS.

Правило S1244 на вашем снимке экрана по умолчанию отключено, поэтому я предполагаю, что ваш проект SonarQube использует настроенный профиль качества, который включил правило.

Если вы используете SLVS в «автономном режиме» (т.е. независимо от SonarQube / SonarCloud), вы должны настроить правила, которые хотите запускать, с использованием наборов правил.

Если у вас есть проект наSonarQube / SonarCloud и, если вы хотите использовать тот же набор правил локально в SLVS, вы можете использовать «подключенный режим», чтобы связать ваше решение VS с вашим проектом SonarQube / SonarCloud из Team Explorer в VS. SLVS сгенерирует набор правил из профиля качества и настроит проекты в вашем решении для использования созданного набора правил.

...