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

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

![1030_PVS_plugin_for_VS_Code_ru/image1.png](https://import.viva64.com/docx/blog/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, чтобы позже проанализировать проект\. Установочный файл анализатора вы можете скачать с официального [сайта](https://pvs-studio.ru/ru/pvs-studio/try-free/)\.

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

В процессе установки анализатора у вас не должно возникнуть трудностей\. Тем не менее вы всегда можете воспользоваться [инструкцией по установке PVS\-Studio на Windows](https://pvs-studio.ru/ru/docs/manual/0007/#ID14A03AA943)\.

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

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

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

* [установка анализатора на Linux](https://pvs-studio.ru/ru/docs/manual/0051/#ID5C47BCCB04);
* [установка анализатора на macOS](https://pvs-studio.ru/ru/docs/manual/0051/#ID5B1549B6C4)\.

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

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

![1030_PVS_plugin_for_VS_Code_ru/image3.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image3.png)

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

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

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

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

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

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

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

**Примечание\.** Запуск анализа из командной строки может отличаться в зависимости от операционной системы и языка программирования анализируемого проекта\. Вы можете обратиться к [документации PVS\-Studio](https://pvs-studio.ru/ru/docs/manual/0038/) для получения инструкции по запуску анализа конкретно для вашего случая\.

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

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

![1030_PVS_plugin_for_VS_Code_ru/image5.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image5.png)

В появившемся диалоговом окне выбираем файл с отчетом\. Напомню, что на данный момент плагин работает только с json\-отчетами\. Если вы работаете на Windows, ваш отчет мог сгенерироваться в формате 'plog'\. В этом случае следует предварительно сконвертировать его в 'json' с помощью прилагаемой к анализатору утилите — 'PlogConverter'\. Больше информации о работе с утилитой вы можете получить в разделе документации [о просмотре и конвертации результатов анализа](https://pvs-studio.ru/ru/docs/manual/0038/)\.

![1030_PVS_plugin_for_VS_Code_ru/image7.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image7.png)

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

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

С частью функционала мы познакомимся далее\. Если же вы захотите получить больше информации о плагине, можете обратиться к [документации](https://pvs-studio.ru/ru/docs/manual/6646/)\.

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

![1030_PVS_plugin_for_VS_Code_ru/image9.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image9.png)

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

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

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

![1030_PVS_plugin_for_VS_Code_ru/image12.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image12.png)

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

![1030_PVS_plugin_for_VS_Code_ru/image14.png](https://import.viva64.com/docx/blog/1030_PVS_plugin_for_VS_Code_ru/image14.png)

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

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

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

## Заключение

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

Если вы до сих пор не попробовали анализатор, напомню, что вы можете скачать его [здесь](https://pvs-studio.ru/ru/pvs-studio/try-free/)\.

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

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