Hello Visual Studio users,
I am excited to announce this new version of SonarLint :sonarlint: for Visual Studio, that is loaded with great new features for both C, C++ and .NET developers!
If you are a C or C++ developer using Visual Studio to develop cross-platform applications, or if your projects use open-source libraries, or if for any other reason you prefer CMake to the native Visual Studio projects for C++, then you will appreciate that we are launching the support for CMake projects ![]()
In order to benefit from it you need to update your SonarLint to the latest version, and also ensure that:
- you are using Visual Studio 2017 or 2019
- you are using MSVC to compile your project
- you configured CMake to export the compilation commands; in facts those commands are needed by our analyzers to correctly report issues in your code. To do that, you just need to ensure that the variable CMAKE_EXPORT_COMPILE_COMMANDS is set to ON (you can refer to: CMAKE_EXPORT_COMPILE_COMMANDS — CMake 4.0.0 Documentation).
And even if you don’t use CMake, this new SonarLint version will greatly improve the detection of issues in your code:
- We improved the symbolic execution engine to drastically reduce issues found in infeasible execution paths
- We added 4 new bugs and code smells rules for C++ 20
If you are a C# developer, you will benefit of many new rules covering several C# 9 features:
- native sized integers
- module initializers
- partial methods
- target typed conditional expressions
- Lambda discard parameters
- Attributes on local functions
- Static lambdas
- Function pointers.
You can read more in our release notes if you wish. Once you get a chance to try the latest version, don’t hesitate to leave us your feedback.