ReSharper 2024.3の新機能

ReSharper 2024.3 では、params コレクション、partial プロパティ、新しい lock 型、field キーワードなどの C# 13 機能の包括的なサポートが導入されました。 この更新では、改善されたパフォーマンスと柔軟な整形オプションによってコードのクリーンアップが強化され、さらに正確な命名規則が追加されています。 複数行の ToDo コメントとツールチップは色付けされるようになったため、コードの可読性が高まり、整理しやすくなっています。 C++ のサポートは、Unreal Engine 開発用の新機能と、パフォーマンスと Clang 相互運用性の改善により強化されています。

ダウンロード

無料 30 日間体験版をご利用可能です

C# のサポート

C# 13 関連の更新

最新リリースの ReSharper では、C#13 に関連する以下の最新機能のサポートが導入されています。

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

ReSharper と Rider における C# 13 の機能のサポートについては、ブログをお読みください。

コードスタイルとクリーンアップ

コードのクリーンアップ

ReSharper 2024.3 では、より堅牢なパフォーマンスを得られるように、コードのクリーンアップを一新しました。 問題を徹底して解決し、アナライザーの精度を強化するために、範囲指定によるクイックフィックスと同じエンジンを使用するようになりました。 ファイル処理を最適化するために、並列前処理も追加されています。 さらに、ファイルごとにコードのクリーンアッププロファイルを選択するか、特定のファイルのクリーンアップを省略するかを選択できるようになりました。

コードの整形

さらに柔軟性を与えられるように、新しい整形オプションが導入されました。

  • 等価 = 演算子の回り込みを制御する新しいオプション。
  • 新しい Indent ‘break’ from ‘case’('case' の 'break' をインデントする)オプション。
  • 新しい Treat ‘case’ statements with ‘break’ as simple('break' ステートメントのある 'case' ステートメントを単純なステートメントとして処理する)オプション。

命名スタイル

命名規則をより正確に調整する新しいオプションを 2 つ追加しました。

  • ローカル関数に、Local functions with ‘async’('async' 付きのローカル関数)と Task-returning local functions (not ‘async’)(タスクを返すローカル関数 (非 'async'))の 2 つのオプションが備わりました。
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline To-do comments support

ReSharper 2024.3 now supports multiline To-do comments, allowing indented text on subsequent lines to be treated as part of the same To-do item. This enhancement makes it easier to group related notes and tasks together in your codebase. You can now add context to your To-dos across multiple lines, improving readability and organization.

Additionally, we’ve updated the Peek To-do link (Ctrl+Shift+click) action that lets you look up an external issue associated with a To-do item inline. It now uses a modern web browser engine to give you a better rendering experience.

ユーザーエクスペリエンス

ツールチップの色付け

For this release, we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

Approximately 600 messages were updated with tooltips that offer a more intuitive reading experience, with the included code elements highlighted in the editor's familiar color scheme.

C++ のサポート

ReSharper 2024.3 includes several improvements to C++ support:

  • Improved performance in large solutions.
  • The Move to Folder refactoring for C++ files.
  • Support for new C++23, C23, and GNU language features.
  • New code assistance features for Unreal Engine developers.
  • Enhanced interoperability with Clang tooling.

C++ 関連の更新の詳細については、ReSharper C++ 2024.3 の新機能ページをご覧ください。

デコンパイラー

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • 転送された型。
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

When working with classes that declare a primary constructor, the decompiler will now display the constructor and its parameters correctly, giving you a complete view of how objects are instantiated directly from the decompiled code.

ダウンロード

無料 30 日間体験版をご利用可能です