.NET Tools
Essential productivity kit for .NET and game developers
ReSharper 2022.2 Starts the EAP
We’ve opened the Early Access Program for the ReSharper 2022.2 release cycle. You can download the ReSharper 2022.2 EAP1 build from www.jetbrains.com or via the JetBrains Toolbox App.
C# 11
We’ve added support for one more C# 11 feature – checked
user-defined operators. This helps developers create user-defined operators that operate on types where arithmetic overflow is a valid concept. ReSharper shows all compiler errors and warnings:
- CS9023: User-defined operator ‘+’/’!’/’~’ cannot be declared checked.
- CS9024: An ‘implicit’ user-defined conversion operator cannot be declared checked.
- CS9025: The operator ‘…’ requires a matching non-checked version of the operator to also be defined.
To fully support checked
user-defined operators, ReSharper has a couple more inspections and a context action:
- We’ve updated the “Unchecked/checked context is redundant” inspection to take into account
checked
operators when they are used inside this context.
- If you have a set of user-defined operators and some of them already have their checked version, ReSharper will help you propagate
checked
operators to the whole set. A new inspection called “The operator does not have a matching checked operator while other operators do” will notify you regarding which operators don’t have achecked
operator yet and suggest a quick-fix to generate the checked versions automatically.
- If you haven’t used
checked
operators in your codebase yet, but want to start adding them, a new context action called “Create matching checked operator” will come in quite handy. It is available on every user-defined operator and generates a checked version of an operator right from the Alt+Enter menu in one click.
Disk Cleanup
You can now remove temporary files generated by ReSharper while it is working on your code. We’ve added a new page in Options (ReSharper | Options | Environment | Disk Cleanup
) where you can:
- Observe a set of default paths and files ReSharper can remove.
- Add a custom path template for files you want to be removed.
- Specify after how many days ReSharper should consider files outdated for each path template.
- Check how much space is occupied by files matched by each path template.
- Set up automatic cleanup for outdated files which will run periodically (the default value is 1 day).
- Run the cleanup manually for different scopes.
We are looking forward to your feedback on this feature.
ReSharper C++
ReSharper C++ continues improving Unreal Engine related features. The first EAP build adds the Widgets metadata specifiers to the code completion list and brings support for the Spec tests from the Unreal Engine automation testing framework.
We’ve also updated the bundled Clang-Tidy binary to Clang 14, adding new checks from the latest LLVM release. For more details, please see this dedicated blog post.
ReadyToRun and NGen assemblies support in Assembly Explorer
- The way ReadyToRun (R2R) and NGen assemblies are presented in the Assembly Explorer has been improved. A small processor symbol icon and
ngen
orR2R
labels are now displayed next to each assembly’s name. - The Metadata tree has the
ReadyToRun
header. - The Properties window has the
ReadyToRun
section.
dotTrace
The call tree in the Timeline Viewer now shows more details for native system calls. This includes kernel calls (ntoskrnl.exe), device driver calls (*.sys), and others.