SonarLint в VS2017 сообщает о различных проблемах, связанных с анализом SonarCloud - PullRequest
0 голосов
/ 15 мая 2018

У меня есть новый проект на SonarCloud, который анализирует довольно новое решение C #, которое в настоящее время содержит небольшое количество кода. Я установил последнюю версию SonarLint и успешно подключил проект к настроенному мной проекту SonarCloud. Задачи SonarCloud являются частью определения сборки VSTS, и анализ выполняется на сборке, а результаты передаются в SonarCloud.

Некоторые проблемы, такие как «S2933 - Поля, которые назначаются только в конструкторе, должны быть доступны только для чтения», сообщаются в SonarCloud и сообщаются в окне предупреждений VS IDE, когда анализ кода выполняется локально. Это то, что я ожидал.

Другие проблемы, такие как «S1451 - Добавить или обновить заголовок этого файла», сообщаются только в IDE.

Некоторые другие проблемы, такие как «common-cs: InsufficientCommentDensity», сообщаются только в SonarCloud, а не в IDE.

Я бы хотел, чтобы IDE и SonarCloud сообщали о тех же проблемах, что и друг с другом; Насколько я понимаю, в этом и заключается весь режим подключения SonarLint.

Я создал пользовательский профиль качества в SonarCloud, который наследуется от «C # - Sonar way», и активировал каждое правило, которое теперь насчитывает 330, хотя странно, когда я просматриваю что-либо, кроме первых 100 правил на веб-сайте, которые мне всегда предоставляют «Активировать» кнопку nomatter, сколько раз я нажимаю на нее и обновляю страницу.

Если я посмотрю на файл набора правил, который SonarQube добавил в проект в VS, он содержит 330 правил, которые находятся в профиле качества сервера, и рядом со всеми из них отмечены галочки. В этом файле набора правил еще 10 или около того правил, которые деактивированы и вообще не отображаются в SonarCloud.

Что я должен сделать, чтобы сделать анализ IDE и VSTS согласованным?

1 Ответ

0 голосов
/ 15 мая 2018

Некоторые правила действуют немного странно.

  • S1451 имеет параметр (ожидаемый заголовок файла) и поэтому отключен, если вы не настроите его вручную.Даже в подключенном режиме SonarLint для Visual Studio не поддерживает синхронизацию параметров. Эта функция находится в нашем резерве, и, скорее всего, мы скоро над ней поработаем.
  • common-cs:* - это правило на стороне сервера (например, оно работает на SonarQube / SonarCloud) и не может бытьвыполняется в SonarLint для Visual Studio.

Вы можете настроить S1451 и другие параметризованные правила, добавив новый XML-файл с содержимым, аналогичным этот файл (ссылка) ,затем сослаться на файл в вашем проекте, как мы делаем (ссылка) .

Мне не удалось воспроизвести проблему с активным / неактивным статусом QualityProfile, было бы полезно поделиться тем, какой браузер / версиявы используете, и, возможно, короткое видео о поведении в виде скриншота будет хорошим способом продемонстрировать проблему.

Обновление: по-видимому, одному из наших разработчиков SonarQube удалось воспроизвести проблему с активацией / деактивацией правила QP и создалбилет: https://jira.sonarsource.com/browse/SONAR-10685

...