ReSharper C++
The Visual Studio Extension for C++ Development
ReSharper C++ 2023.3 EAP: HLSL Updates and Completion in Inactive Code
The new Early Access Program build is here with updates for HLSL support, code completion inside inactive preprocessor branches, a new inlay hint for forwarding references, and other updates. Read on for more details and check out the full list of issues we’ve fixed in this update.
You can download the free EAP builds from our website or via the Toolbox App.
HLSL updates
It’s been a while since we last introduced improvements for HLSL support. Meanwhile, the HLSL standard brought a few new language features, so it’s time to catch up. HLSL 2021 introduced C++-like templates for structs and functions with full specializations and template parameter inference where possible. With the latest ReSharper C++ update, you get full support for HLSL templates:
This EAP build also introduces support for RayQuery
and brings all of the corresponding flags to the code completion list:
Working with inactive code
With platform or configuration-specific code, you can often find yourself editing currently inactive code blocks inside conditional preprocessor branches. Previously, code completion in inactive code only offered macros. In this EAP build, we’ve improved code completion in these scenarios to include symbols from the global scope:
We’ve also updated Find Usages to find possible usages in inactive code and macro bodies. Previously, if you wanted to find these usages you had to use Find Usages Advanced and investigate textual occurrences. Now Find Usages results include potential usages in macro bodies and inactive code by default. These usages are grouped into separate sections to distinguish them from usages in normal code:
Other improvements
Reference inlay hints now have a separate [>>]
text to spot forwarding references at a glance:
Another update is for C support: ReSharper C++ now supports the C99 restrict
type qualifier that can be used in pointer declarations.
To improve the code navigation experience, symbols that came from macro substitutions are now hidden from Go to and the File Structure window. This is helpful when working with unit tests, for example, since macros defined by unit testing frameworks often introduce many auxiliary symbols during their expansion.
We’ve also added a new formatting setting for the braces layout to allow comments after {
.
Those are all the highlights of this EAP build! If you encounter any issues, don’t hesitate to report them to our issue tracker.
Your ReSharper C++ team
JetBrains
The Drive to Develop