What's new in ReSharper 2023.3
A number of improvements of AI Assistant, including AI code completion.
Create Unit Test can generate test content with AI
Better support of using aliases (both pre-C# 12 and C# 12)
Support for C# 12 Interceptors, including dedicated code inspections and inlay hints.
New code annotation attributes: [MustDisposeResourceAttribute], [HandlesResourceDisposalAttribute], [IgnoreSpellingAndGrammarErrorsAttribute], [TestSubjectAttribute], [MeansTestSubjectAttribute].
Entity Framework support improvements: EF relationships diagram and new code inspections
Reworked templating for file header style.
Updated UX in refactorings for converting local to global usings and back, and for extracting local functions.
Performance improvements. For example, Find usages of types/constructors is faster when there are a lot of target-typed object creations, which also makes other features like refactorings faster.
Assembly diff improvements: comparison of NuGet packages, folders, and archives; configurable diff modes; auto-detection of Beyond Compare, WinMerge, P4Merge, and Meld as diff tools.
Assembly Explorer window improvements: show all files and folders inside NuGet packages; show content size and type (file extension) Win32 resource nodes.
New features in C++:
Code completion inside inactive preprocessor branches.
Find Usages shows possible usages in macro bodies and inactive code.
Support for the
__pragma(pack)
syntax, various clang intrinsics, the special preprocessor operator__has_cpp_attribute
, and several new C99 and C23 features like therestrict
type qualifier.Unreal Engine:
New inspection for dynamic delegate functions not marked with the
UFUNCTION
macro.The
Generate hash function
action now generates code in the Unreal Engine style.
Support for HLSL templates.
Attributes with the
[[jetbrains::...]]
prefix to refine inspections.A new
Generate destructor
action.The bundled clang-format and clang-tidy binaries have been updated to Clang 17.
Support for
#pragma region
and#pragma endregion
: inlay hints, the ability to jump between matching directives, and folding and navigation in the File Structure window.New inspections: Conditional expression can be simplified, Multi-character character literal, and set of inspections for incorrect usage of the
export
keyword in C++20 modules.