Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
>
>
Обзор плагина PVS-Studio для Visual Stu…

Обзор плагина PVS-Studio для Visual Studio Code

02 Фев 2023

Благодаря новому плагину PVS-Studio преимущества статического анализа теперь доступны и при работе с редактором Visual Studio Code. В этой статье мы разберём использование плагина от этапа установки до работы с результатами анализа. Присоединяйтесь!

1030_PVS_plugin_for_VS_Code_ru/image1.png

PVS-Studio – это статический анализатор кода, предназначенный для проверки C, С++, С# и Java проектов. В декабре 2022 года командой PVS-Studio было выпущено два плагина: для Qt Creator и для Visual Studio Code. На данный момент оба плагина поддерживают основной функционал, необходимый для работы с результатами анализа. Анализировать проекты непосредственно из интерфейса плагинов пока нельзя, но мы планируем добавить эту возможность в будущих релизах. Сейчас же анализ можно выполнить в плагинах для Rider, Visual Studio или с помощью командной строки.

Но вернемся к главной теме этой статьи. Предлагаю познакомимся с плагином PVS-Studio для Visual Studio Code и узнать, как вы можете использовать его в своей работе.

Устанавливаем анализатор PVS-Studio и плагин для VS Code

Для начала установим анализатор PVS-Studio, чтобы позже проанализировать проект. Установочный файл анализатора вы можете скачать с официального сайта.

Установка анализатора на Windows

В процессе установки анализатора у вас не должно возникнуть трудностей. Тем не менее вы всегда можете воспользоваться инструкцией по установке PVS-Studio на Windows.

Примечание. На этапе установки 'Select Components' можно выбрать пункт 'Integration with Visual Studio Code'. В результате вместе с анализатором будет установлен и плагин к VS Code.

Установка анализатора на Linux и macOS

Процессы установки анализатора на операционных системах Linux и macOS детально описаны в следующих разделах документации:

Установка плагина к VS Code

Если плагин не был установлен вместе с анализатором, можно сделать это вручную. Чтобы установить плагин PVS-Studio, откройте Visual Studio Code и перейдите на вкладку 'Extensions', затем введите в поле поиска 'PVS-Studio' и кликните по кнопке 'Install':

1030_PVS_plugin_for_VS_Code_ru/image2.png

Запускаем анализ

Давайте опробуем плагин и анализатор, проверив какой-нибудь проект. В этой статье я буду демонстрировать работу анализатора на примере Open Source проекта.

Запуск анализа непосредственно из VS Code пока не поддерживается, однако эту возможность планируется добавить в будущих релизах. Сейчас же предлагаю воспользоваться командной строкой.

Для запуска анализа C#-приложения на операционной системе Linux я использовал команду следующего вида:

pvs-studio-dotnet -t Solution.sln -o PVS-Studio_Result.json -r

В этой команде применяются следующие параметры:

  • -t [project/sln] — обязательный параметр, путь до файла проекта или решения;
  • -o [outputPath] — путь, по которому будет сгенерирован отчет с результатами анализа. Поддерживаются два формата отчета: 'plog' и 'json'. Формат отчета определяется по заданному расширению файла. В зависимости от версии анализатора и используемой ОС формат по умолчанию может отличаться. Важно отметить, что на данный момент плагин поддерживает работу только с отчетами формата json, поэтому лучше задавать этот параметр явно;
  • -r — включает режим подробного логирования в терминале для отслеживания хода выполнения анализа.

Примечание. Запуск анализа из командной строки может отличаться в зависимости от операционной системы и языка программирования анализируемого проекта. Вы можете обратиться к документации PVS-Studio для получения инструкции по запуску анализа конкретно для вашего случая.

Работа с результатами анализа

Вернемся в VS Code и перейдем во вкладку 'PVS-Studio'. Здесь кликаем по кнопке 'Open report':

1030_PVS_plugin_for_VS_Code_ru/image4.png

В появившемся диалоговом окне выбираем файл с отчетом. Напомню, что на данный момент плагин работает только с json-отчетами. Если вы работаете на Windows, ваш отчет мог сгенерироваться в формате 'plog'. В этом случае следует предварительно сконвертировать его в 'json' с помощью прилагаемой к анализатору утилите — 'PlogConverter'. Больше информации о работе с утилитой вы можете получить в разделе документации о просмотре и конвертации результатов анализа.

1030_PVS_plugin_for_VS_Code_ru/image6.png

Интерфейс плагина можно условно разделить на пять областей:

  • Фильтры по кодам предупреждений, сообщениям и названиям файла.
  • Фильтры по уровням предупреждений.
  • Фильтры по группам диагностик.
  • Функции сохранения и загрузки отчета, а также настройки плагина.
  • Список предупреждений, представленный в виде таблицы.

С частью функционала мы познакомимся далее. Если же вы захотите получить больше информации о плагине, можете обратиться к документации.

Обратите внимание на область интерфейса под номером 2:

1030_PVS_plugin_for_VS_Code_ru/image8.png

Кнопки этой области позволяют включить/отключить предупреждения с определенным уровнем. Уровень отражает "уверенность" анализатора в том, что предупреждение указывает на ошибку.

Каждой кнопке соответствует число – количество предупреждений данного уровня.

А сейчас почему бы нам не найти какую-нибудь ошибку в проекте, используя отчет анализатора?

1030_PVS_plugin_for_VS_Code_ru/image11.png

Анализатор сообщает об использовании анонимной функции для отписки от события. Чтобы перейти к коду, дважды кликнем по строке предупреждения:

1030_PVS_plugin_for_VS_Code_ru/image13.png

Действительно, здесь создается анонимная функция, которая используется для отписки от события CollectionChanged. Разработчик не учёл, что все анонимные функции являются уникальными объектами. Таким образом, данная анонимная функция никак не связана ни с одним обработчиком события, а значит и отписка от события выполнена не будет.

Планы развития плагина для VS Code

Уже сейчас плагин предоставляет основной функционал, необходимый для работы с отчетами анализатора PVS-Studio. Скоро он станет ещё удобнее благодаря возможности запускать анализ непосредственно из плагина. Эта возможность будет реализовываться поэтапно: сначала будет поддержан запуск анализа C и C++ проектов, а затем проектов на C#.

Заключение

В этой статье мы познакомились с принципом работы анализатора кода вместе с новым плагином PVS-Studio для Visual Studio Code.

Если вы до сих пор не попробовали анализатор, напомню, что вы можете скачать его здесь.

На этом статья завершается, надеюсь она показалась интересной :)

Чистого кода и успешных проектов! До встречи в следующих статьях!

Популярные статьи по теме


Комментарии (0)

Следующие комментарии next comments
close comment form
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте, отфильтровано ли письмо в одну из следующих стандартных папок:

  • Промоакции
  • Оповещения
  • Спам