Dotnet logo

.NET Tools

Essential productivity kit for .NET and game developers

.NET Tools Early Access Program News Resharper C++ ReSharper Platform

The ReSharper 2024.2 Early Access Program begins!

We are excited to announce the launch of the Early Access Program (EAP) for ReSharper 2024.2! This initial EAP build is now available for download and offers a preview of the upcoming features and enhancements. Your feedback is crucial in helping us refine these updates, so we encourage you to try out the new build and share your thoughts.

If you’re new to the Early Access Program, we encourage you to read this blog post where we outline what the program is all about and the benefits you can expect from participating in it.

Now let’s take a look at the feature highlights of the first preview build!

ReSharper C++

Improvements to the Rename refactoring:

  • Rename of the related files: When renaming a file, you can now choose to also rename the corresponding header or source file (RSCPP-35756).
  • Rename of the associated type: If a file contains a type with a similar name, the Rename refactoring can update the type name while renaming the containing file (RSCPP-34045).
  • Namespace rename: Renaming a namespace can now trigger the option to rename the containing file, ensuring that file names reflect their contents (RSCPP-35743).

Miscellaneous:

  • Clang-tidy 18: The bundled clang-tidy has been updated to version 18, incorporating the latest checks and improvements from the LLVM project (RSCPP-35656).
  • Base method call filter: You can now use Filter Usages in the Find Results tool window to hide calls to base methods, making it easier to inspect other kinds of usages (RSCPP-35792).
  • Add reinterpret_cast fix: ReSharper now provides a quick-fix to add reinterpret_cast, simplifying the resolution of type conversion issues. The fix is only suggested for conversions where either the source or the target type is a pointer to char, unsigned char, or std::byte (RSCPP-35763).
  • C++23 [[assume]] attribute: We’ve improved support for the C++23 [[assume]] attribute. The argument expression within the attribute is now parsed and used by code analysis and syntax highlighting (RSCPP-35820, RSCPP-35762, RSCPP-35822).

dotMemory

The standalone version of dotMemory now offers the option to filter object instances by string value. Here are the key points to consider:

  • Now when you enter any string value into the filter field in the Instances view of an Object Set, the values that are found will be highlighted in the Value column.
  • It’s also now possible to look up object instances by address in the Instances view.
  • The filter allows for the use of regex expressions, e.g. ^nAsso.{5,}ID$ matches nAssociatedObjectID.

dotTrace

Timeline snapshot processing with the dotTrace performance profiler is now faster than ever. The latest preview build also comes with improved performance for filtering, call tree, and hotspots calculations. 

Decompiler / dotPeek

The following changes are available inside of ReSharper, Rider, and the standalone version of dotPeek:

  • Lambda parameters: We’ve introduced support for decompiling lambdas with optional and parameter-array parameters, enhancing the readability and accuracy of decompiled code (DOTP-8042).
  • Attributes on lambdas: The tool now offers improved handling of attributes on lambda expressions to ensure that all relevant metadata is accurately reflected in the decompiled output.
  • Protected assemblies: We’ve introduced the ability for you to specify whether you’d like to decompile protected assemblies, allowing more comprehensive code exploration (RSRP-481584).

Handling of external sources:

  • PDB with SrcSrv and SourceLink: dotPeek now supports navigating to sources from PDB files containing both SrcSrv and SourceLink, facilitating better integration and debugging workflows (RSRP-496292).
  • Preprocessor directives: The decompiler now correctly recognizes preprocessor directives (like NET6_0_OR_GREATER) from the target framework or Portable PDB of the associated assembly, ensuring accurate code representation (RIDER-106794).

Assembly Explorer tool window:

  • Build configuration detection: Assembly Explorer now detects and presents the build configuration (Release or Debug) of assemblies, providing clearer insights into the assembly’s compilation context (DOTP-8100). YouTrack issue tracker.

For the full list of changes included in this build please see our issue tracker.

We encourage you to download the latest build and explore these new features. Your feedback is invaluable as we continue to refine and improve ReSharper for the upcoming release. Please share your thoughts and suggestions in the comments below or via our issue tracker.

image description