Released: Aug 15, 2024
2024.2 での更新項目
機能
Support for Microsoft .NET 9 Preview SDK
- This release comes with support for .NET 9 Preview SDK, including initial support for C# 13 features, such as the new escape character, a params modifier refactoring, and ref struct interfaces.
C# support
- With its latest release, ReSharper deepens support for C# 12 features, including primary constructors, enhanced collection expressions, and improved context actions for array creation and collection type conversions. This release also introduces initial support for C# 13, featuring ref struct interface implementation, the new \e escape sequence, and a params modifier refactoring. This update also brings:
- Enhanced equality analysis for struct types.
- The Extract common code inspection for reducing duplication in branching constructs.
- Culture previews in ToString() format specifier code completion.
- Cast expression analysis to replace fragile C-style casts with explicit type annotations.
C++ support
- Notable enhancements in C++ support include:
- Support for additional C++23 features, including the multidimensional subscript operator, #elifdef and #elifndef preprocessor directives, and the [[assume]] attribute.
- Tooltips and the quick documentation popup now provide detailed information about type layout for classes and class fields, including size, alignment, offset, and padding.
- In Unreal Engine projects, ReSharper recognizes struct traits, ensuring that your structs have the required methods and quickly generating them if they are missing. A new inspection detects missing calls to base class methods.
- The Rename refactoring adds new options to rename related files and types when renaming a file.
- Improvements to code analysis include an update to Clang-Tidy 18 and support for IWYU pragmas.
Localization
- This release introduces the first stage of localization into Chinese, Korean, and Japanese. You'll get a partially localized UI, code inspections, tool windows, and notifications.
Performance
- Asynchronous typing enabled - Asynchronous typing is part of an ongoing effort to improve ReSharper's performance by enabling it to run out of process with Visual Studio. This release is the first version of the product to feature this important change.
AI Assistant
- Updated models and context collection - The older GPT 3.5 and GPT 4 models have been upgraded to GPT-4o and Google Bison, depending on the task. Additionally, the context collection for AI completion and AI chat has been updated to deliver more relevant results with this new model.
- Ask AI - You no longer need to open the AI chat whenever you have a new question for AI. Simply invoke Ask AI and ask away.
- In-editor code suggestions and code generation - JetBrains AI now hints where you can generate XML documentation or implement empty methods with a single click (or by hitting Alt+Enter). This eliminates the need to manually search for these options in the actions list. Moreover, instead of redirecting you to the chat, AI will provide answers directly in the editor. You can easily review and regenerate them if needed or specify additional details in place to achieve better results.
- Improved UI/UX in AI code completion - Enhanced the presentation of the AI suggestions, making it easier to distinguish ReSharper's AI multiline completion suggestions from other elements. You can now also regenerate results by hitting Shift+Tab.
- AI naming suggestions in Rename and Extract method - Naming variables and methods can be challenging, especially in large solutions with numerous similarly named symbols. Thankfully, AI now suggests the most suitable names when you rename a method.
- Explain with AI for debugging and DPA:
- You can now ask AI to explain any exceptions encountered during your debug session without leaving your current context. Just hit the button next to the exception to get the explanation in the chat.
- AI Assistant will also be able to explain any issues related to memory allocation and database problems identified by Dynamic Program Analysis (DPA). After DPA identifies an issue, you can click on the Explain with AI button: The AI, being code-aware, analyzes the context of the issue, provides an explanation, and suggests possible fixes. Currently, you can do this only for memory and database issues.
dotMemory
- Improved instance search - Added new filtering options to the Instances view:
- Search by string value: Type any string value into the filter field, and dotMemory will highlight matching strings. This makes it easier to find specific string instances based on their content.
- Regex support for string values: Use regular expressions for more advanced searches. For example, ^nAsso.{5,}ID$ matches nAssociatedObjectID.nAssociatedObjectID.
- Search by object address: You can also search for object instances by their memory address. This is useful for tracking specific objects directly.
dotTrace
- The latest update to the performance profiling tool brings:
- Improved performance with faster processing of Timeline snapshots.
- A new rendering engine in dotTrace Viewer on all platforms.
- An Options window has been added to the standalone version for macOS and Linux.
- Fixed missing kernel events in Timeline snapshots on Windows.
- Various minor improvements and bug fixes.
Decompiler
- General enhancements:
- Lambda parameters: Introduced support for decompiling lambdas with optional and parameter-array parameters, enhancing the readability and accuracy of decompiled code.
- 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: Introduced the ability to specify whether you'd like to decompile protected assemblies, allowing more comprehensive code exploration.
- Build configuration detection - The Assembly Explorer tool window now detects and presents the build configuration of assemblies, providing clearer insights into the assembly's compilation context.
- Handling of external sources:
- PDB with SrcSrv and SourceLink: The decompiler now supports navigating to sources from PDB files containing both SrcSrv and SourceLink.
- 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.
- Open in Browser action: You can now navigate to the source code in the repository for types or to a repository for NuGet packages or assemblies.