﻿# PVS\-Studio 7\.22: Visual Studio Code, Qt Creator, \.NET 7

Вышел новый релиз PVS\-Studio — 7\.22\. В него вошли плагины для Visual Studio Code и Qt Creator, поддержка анализа проектов на \.NET 7, доработки механизма Best Warnings, новые диагностики и не только\. Подробности описали в этой заметке\. 

![1016_Release_7_22_ru/image1.png](https://import.viva64.com/docx/blog/1016_Release_7_22_ru/image1.png)

**Плагины для Visual Studio Code и Qt Creator**

Новые плагины дают ещё больше вариантов кроссплатформенной работы\.  Сейчас в них можно работать с логами: смотреть предупреждения, фильтровать их, сортировать в гриде и т\. п\. Запускать анализ пока нельзя — планируем добавить такую возможность в будущих релизах\. 

Так выглядит плагин для Visual Studio Code \(скриншот кликабельный\):

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



А вот так — плагин для Qt Creator \(скриншот кликабельный\):

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

Документация по новым плагинам доступна на соответствующих страницах:

* [доки плагина для Visual Studio Code](https://pvs-studio.ru/ru/docs/manual/6646/);
* [доки плагина для Qt Creator](https://pvs-studio.ru/ru/docs/manual/6648/)\.

**Поддержка анализа \.NET 7, C\# 11 и Blazor компонентов**

Здесь почти всё понятно из заголовка\. Сам C\# анализатор под Linux и macOS, кстати, теперь тоже работает на \.NET 7\. 

Небольшое уточнение про Blazor компоненты: сейчас поддерживается анализ в @code секциях \.razor\-файлов\. Планируем статью, которая раскроет тему чуть подробнее\. 

**Улучшения и доработки Best Warnings**

Напомню, что Best Warnings — механизм, который из всех предупреждений анализатора выбирает самые интересные\. Особенно полезен при первом знакомстве с PVS\-Studio, так как поможет в один клик оценить, что интересного удалось найти\.

В этом релизе обновлений Best Warnings сразу несколько: 

1\. Изменили интерфейс\. До кнопки "Best Warnings" легче добраться — теперь она находится на основной панели главного окна PVS\-Studio \(скриншот кликабельный\): 

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

Если нужно, кнопку можно скрыть через настройки \(опция "Show Best Warnings Button"\)\.

2\. Скорректировали "веса" диагностик и алгоритмы выборки\. Это должно сделать подборку предупреждений более интересной\. 

3\. Добавили фильтр в большее количество IDE\. Раньше механизм Best Warnings был доступен только в плагине для Visual Studio\. Теперь кроме VS его можно использовать в утилите "C and C\+\+ Compiler Monitoring UI", а также в плагинах для IntelliJ IDEA, Rider, CLion\. 

Обновлённая документация по Best Warnings — на [этой странице](https://pvs-studio.ru/ru/docs/manual/6532/)\.

**Новые диагностики**

C, C\+\+

* [V836](https://pvs-studio.ru/ru/docs/warnings/v836/)\. Decreased performance\. Unnecessary copying is detected when declaring a variable\. Consider declaring the variable as a reference\.
* [V2018](https://pvs-studio.ru/ru/docs/warnings/v2018/)\. Cast should not remove 'const' qualifier from the type that is pointed to by a pointer or a reference\.
* [V2019](https://pvs-studio.ru/ru/docs/warnings/v2019/)\. Cast should not remove 'volatile' qualifier from the type that is pointed to by a pointer or a reference\.

C\#

* [V3183](https://pvs-studio.ru/ru/docs/warnings/v3183/)\. Code formatting implies that the statement should not be a part of the 'then' branch that belongs to the preceding 'if' statement\.
* [V5626](https://pvs-studio.ru/ru/docs/warnings/v5626/)\. OWASP\. Possible ReDoS vulnerability\. Potentially tainted data is processed by regular expression that contains an unsafe pattern\.
* [V5627](https://pvs-studio.ru/ru/docs/warnings/v5627/)\. OWASP\. Possible NoSQL injection\. Potentially tainted data is used to create query\.
* [V5628](https://pvs-studio.ru/ru/docs/warnings/v5628/)\. OWASP\. Possible Zip Slip vulnerability\. Potentially tainted data is used in the path to extract the file\.

**Статьи**

Для тех, кто пишет на C\+\+:

* [PVS\-Studio и RPCS3: лучшие предупреждения в один клик](https://pvs-studio.ru/ru/blog/posts/cpp/1014/)\.
* [Как мы баг в PVS\-Studio искали или 278 Гигабайтов логов](https://pvs-studio.ru/ru/blog/posts/cpp/1005/)\.
* [0, 1, 2, Фредди забрал Blender](https://pvs-studio.ru/ru/blog/posts/cpp/1004/)\.
* [Примеры ошибок, которые может обнаружить PVS\-Studio в коде LLVM 15\.0](https://pvs-studio.ru/ru/blog/posts/cpp/1003/)\.
* [Как PVS\-Studio защищает от поспешных правок кода, пример N6](https://pvs-studio.ru/ru/blog/posts/cpp/1001/)\.

Для тех, кто пишет на C\#:

* [\.NET 7: разбираем ошибки и подозрительные места в исходниках](https://pvs-studio.ru/ru/blog/posts/csharp/1015/)\. 
* [Обзор нововведений в C\# 11](https://pvs-studio.ru/ru/blog/posts/csharp/1002/)\.
* [Что нового в \.NET 7?](https://pvs-studio.ru/ru/blog/posts/csharp/1009/)
* [Как увеличилась производительность LINQ в \.NET 7?](https://pvs-studio.ru/ru/blog/posts/csharp/1011/)
* [Что такое катастрофический возврат и как регулярное выражение может стать причиной ReDoS\-уязвимости?](https://pvs-studio.ru/ru/blog/posts/csharp/1007/)

Разное:

* [PVS\-Studio: 2 фишки для быстрого старта](https://pvs-studio.ru/ru/blog/posts/1013/)\. 
* [Почему ты делаешь за меня мою работу? Типы людей, которые не пишут в поддержку](https://pvs-studio.ru/ru/blog/posts/1012/)\.
* [Как Apple и другие крупные компании настиг программный баг](https://pvs-studio.ru/ru/blog/posts/1008/)\.

\*\*

**Загрузить PVS\-Studio 7\.22** можно [здесь](https://pvs-studio.ru/ru/pvs-studio/try-free/)\. 

Если хотите получать пресс\-релизы по почте, [подписывайтесь на рассылку\.](https://pvs-studio.ru/ru/subscribe/)