﻿# PVS\-Studio 7\.29: Java code check in VS Code, Boost smart pointers, and plugin for Qt Creator on macOS

PVS\-Studio 7\.29 has been released\. Now you can analyze Java projects in a plugin for VS Code, check Boost smart pointers, use the PVS\-Studio plugin for Qt Creator 12 on macOS, and that's not all\! See more details in this note\.

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


> You can download the latest PVS\\\-Studio version \[here\]\(https://pvs\-studio\.com/en/pvs\-studio/try\-free/\)\\\.



**Support for Java projects in Visual Studio Code plugin**

Now you can analyze Java projects using the PVS\-Studio plugin for Visual Studio Code\. In the plugin, you can:

* run the analysis and view a report;
* suppress warnings using suppress files;
* enable the incremental analysis mode\.

You can explore other features in the [documentation section](https://pvs-studio.com/en/docs/manual/6646/)\.

![1102_7_29/image2.png](https://import.viva64.com/docx/blog/1102_7_29/image2.png)

**Support for Boost smart pointers**

The C\+\+ analyzer now supports smart pointers from the Boost library: _boost::unique\_ptr_ and _boost::shared\_ptr_\.

Now the PVS\-Studio analyzer is able to detect errors such as null pointer dereferences when these classes are used\.

**Considering hash of code line to mark false positives**

In the latest PVS\-Studio release, we added a mode that considers the hash of the source code line, which triggers a warning, when users mark warnings as false positives\. 

PVS\-Studio had considered hash before, but it was used for navigation and the more efficient operation of suppress files\. There is now a new way to use the hash: you can specify it inline when marking false positives\. This makes it clear whether the line of code had been changed since the warning was marked as a false positive\. If there are changes in the code, the false positive marker will no longer suppress the analyzer warning\.

Here is an example of a line where the false positive marker and hash for tracking changes are specified:

```cpp
std::string(4, std::string().at(0)); //-V530 //-VH"920700501"
```

The PVS\-Studio plugins for Microsoft Visual Studio now support this feature\. For further details, please refer to the [documentation](https://pvs-studio.com/en/docs/manual/6630/)\.


> \*\*Note\\\.\*\* If you are interested in learning more about methods and technologies of false positive suppression, you may want to read \[this article\]\(https://habr\.com/en/companies/pvs\-studio/articles/513952/\)\\\.



**PVS\-Studio plugin for Qt Creator 12 on macOS**

The PVS\-Studio plugin for Qt Creator 12 is now supported on macOS operating systems\.

You can find more details on how to use PVS\-Studio in Qt Creator in the [documentation](https://pvs-studio.com/en/docs/manual/6648/)\.

**New diagnostic rules**

C, C\+\+

* [V839](https://pvs-studio.com/en/docs/warnings/v839/)\. Decreased performance\. Function returns a constant value\. This may interfere with the move semantics\.
* [V1104](https://pvs-studio.com/en/docs/warnings/v1104/)\. Priority of the 'M' operator is higher than that of the 'N' operator\. Possible missing parentheses\.
* [V2625](https://pvs-studio.com/en/docs/warnings/v2625/)\. MISRA\. Identifier with external linkage should be unique\.

C\#

* [V3194](https://pvs-studio.com/en/docs/warnings/v3194/)\. Calling 'OfType' for collection will return an empty collection\. It is not possible to cast collection elements to the type parameter\.
* [V3195](https://pvs-studio.com/en/docs/warnings/v3195/)\. Collection initializer implicitly calls 'Add' method\. Using it on member with default value of null will result in null dereference exception\.

Java

* [V6108](https://pvs-studio.com/en/docs/warnings/v6108/)\. Do not use real\-type variables in 'for' loop counters\.
* [V6109](https://pvs-studio.com/en/docs/warnings/v6109/)\. Potentially predictable seed is used in pseudo\-random number generator\.

**C\+\+ quiz by PVS\-Studio and Sergei Kushnirenko**

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

In this release, the PVS\-Studio team together with Sergei Kushnirenko prepared a C\+\+ quiz based on errors described in his publications\. 

Take the quiz, challenge your focus and coding skills while looking for errors in the C\+\+ code\. You can find the quiz [here](https://pvs-studio.com/en/blog/quest/kushnirenko_quiz/)\.

**Articles**

For C\+\+ programmers

* [New Year's Eve show: Top 10 errors in C and C\+\+ projects in 2023](https://pvs-studio.com/en/blog/posts/cpp/1092/)
* [Shall we check pointer for NULL before calling free function?](https://pvs-studio.com/en/blog/posts/cpp/1100/)
* [Qt Creator\* in search of Qt Creator bugs](https://pvs-studio.com/en/blog/posts/cpp/1099/)
* [Off we go\! Digging into the game engine of War Thunder and interviewing its devs](https://pvs-studio.com/en/blog/posts/cpp/1098/)
* [A hard quiz to crack for C\+\+ programmers by Sergei Kushnirenko](https://pvs-studio.com/en/blog/posts/cpp/1093/)
* [Breaking down the C\+\+ quiz by Sergei Kushnirenko](https://pvs-studio.com/en/blog/posts/cpp/1091/)

For C\# programmers:

* [Top 10 errors found in C\# projects in 2023](https://pvs-studio.com/en/blog/posts/csharp/1094/)
* [Bugs and suspicious places in \.NET 8 source code](https://pvs-studio.com/en/blog/posts/csharp/1095/)

For Java programmers:

* [PVS\-Studio extension for Visual Studio Code: searching for errors in Java code](https://pvs-studio.com/en/blog/posts/java/1101/)

Articles on general topics

* [PVS\-Studio in 2023](https://pvs-studio.com/en/blog/posts/1096/)
* [Introducing SAST into the development process](https://pvs-studio.com/en/blog/posts/1097/)


> Do you want to check a project with PVS\\\-Studio? Then start from \[this page\]\(https://pvs\-studio\.com/en/pvs\-studio/try\-free/\)\\\.



If you would like to get news on latest releases, subscribe to the PVS\-Studio newsletter [here](https://pvs-studio.com/en/subscribe/)\.