HLSL Support Comes to ReSharper C++

ReSharper C++ already helps you craft the best games with Unreal Engine 4, and we are working hard to expand our coverage of your everyday needs. In this EAP build, we are ready to introduce initial support for one more aspect of game development – the High Level Shading Language. HLSL is a language for creating C-like programmable shaders. With vertex and pixel shaders, you can manage how the vertices and pixels are processed. This allows you to control all the programmable stages of the graphics pipeline.

ReSharper C++ 2020.1 provides only initial support for HLSL. First of all, this means that the parser and resolver now understand HLSL code. But this build includes a lot more than parsing and resolving:

This is just the very beginning of our work on HLSL support, but we hope it can already help you be more productive with HLSL. We would greatly appreciate it if you gave it a try and shared your feedback!


Syntax highlighting and tooltips

ReSharper C++ highlights HLSL code according to your default color scheme (Tools | Options | Environment | Fonts and Colors). It also has tooltips for code elements with type information and documentation, as well as parameter and type hints:
HLSL: syntax highlighting

Search and navigation

You can search for and quickly navigate to structs, functions, or parameters in your entire solution, referenced files, and standard libraries.
HLSL: search and navigation

Code assistance

ReSharper C++ saves you time by providing smart suggestions in completion lists, as well as by highlighting the signature compatible with the entered parameters, auto-inserting matching delimiters, and more. Note that at the moment, there still are a few limitations here. For example, it will not suggest keywords and built-in functions, but this work is in progress, so stay tuned!
HLSL: code assistance

Virtual file paths

The Unreal Engine USF files are based on HLSL and contain the multi-platform shader code. These files usually include virtual file paths, and now ReSharper C++ can work with them and support all the usual actions. Note that virtual paths are not currently supported for Plugin files.
Virtual file paths

The work on HLSL support is still in progress, so this feature list is not final, and it is possible that there are some issues. That’s why we really need you to test it on real projects. Check out the new EAP build and share your feedback with us in the issue tracker or in the comments below. Thank you!


UPD. Rider for Unreal Engine Public Preview is now launched. Rider is already well known in the worlds of .NET and Unity game development and we are now ready to take on the world of Unreal Engine development! First-class C++ support, no compromises on IDE performance, knowledgeable about Blueprints, assists with the Unreal Engine reflection mechanism, understands HLSL – it’s all about Rider for Unreal Engine. Join the Early Preview now!

Your ReSharper C++ team
The Drive to Develop

image description