ReSharper 2024.3 の新機能

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

ダウンロード

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

C# のサポート

C# 13 関連の更新

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

  • 新しい params コレクション: params キーワードがさまざまなコレクション型と連携するように拡大され、追加のメモリ割り当てを行わないより効率的なメソッドシグネチャーを使用できるようになりました。
  • partial プロパティ: partial プロパティのサポートが追加され、プロパティアクセサーの実装を複数のファイルに分散できるようになり、コードベースの柔軟性と整然性が向上しました。
  • 新しい lock 型: スレッドの同期効率を高めるため、新しい System.Threading.Lock 型が導入され、従来の lock ステートメントよりもパフォーマンスが改善されました。
  • オーバーロードの解決の優先度: メソッドオーバーロードの解決をより適切に制御できるようにし、複雑なシナリオにおいて開発者が呼び出されるオーバーロードの優先度を指定できる新しい属性が提供されています。
  • field キーワード: field キーワードにプレビュー機能が追加されました。 これにより、自動プロパティのバッキングフィールドに直接アクセスできるようになるため、プロパティのロジックが単純化されます。

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 つのオプションが備わりました。
  • 名前に async サフィックスが付いており、async 修飾子はついていないものの Task のような型を返すメソッドをサポートするため、メソッドに新しい Task-returning method (not ‘async’)(タスクを返すメソッド (非 'async'))オプションが追加されました。 これは async 修飾子の使用が許可されていないものの、実装では Task 型を返すインターフェースでメソッドを宣言する場合に役立ちます。

Code comments

複数行の To-do コメントのサポート

ReSharper 2024.3 では複数行の To-do コメントがサポートされ、後続行のインデントが付いたテキストを同じ To-do 項目の一部として処理できるようになりました。 この機能強化により、コードベース内で関連するメモとタスクをグループ化しやすくなっています。 このリリースでは複数行の To-do にコンテキストを追加できるようになったため、可読性が高まり、整理しやすくなっています。

また、To-do 項目に関連付けられた外部課題をインラインで確認できる Peek To-do link(To-do のリンク先を表示)(Ctrl+Shift+クリック)アクションが更新されました。 最新のウェブブラウザーエンジンを使用することで、より快適なレンダリングエクスペリエンスを提供できるようになりました。

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

ツールチップの色付け

このリリースでは、C# 関連のほぼすべてのエラー、警告、通知メッセージをレビューし、可能な箇所にテキストの色付けを導入しました。

より直感的に読み取れるようにするため、約 600 件のメッセージのツールチップが更新され、それに含まれるコード要素がエディターの使い慣れたカラースキームでハイライトされるようになりました。

C++ のサポート

ReSharper 2024.3 には、C++ サポートに関するいくつかの改善が行われています。

  • 大規模なソリューションでのパフォーマンスの改善。
  • C++ ファイルに対応した Move to Folder(フォルダーに移動)リファクタリング。
  • 新しい C++ 23、C23、および GNU 言語機能のサポート。
  • Unreal Engine 開発者向けの新しいコーディング支援機能。
  • Clang ツールとの相互運用性の強化。

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

デコンパイラー

アセンブリマニフェストの IL コード

IL Viewer(IL ビューアー)ツールウィンドウに以下を含むアセンブリマニフェストの IL コードが表示されるようになりました。

  • 名前、カスタム属性などのアセンブリとモジュールの情報。
  • 参照先のアセンブリとモジュール。
  • 転送された型。
  • ファイルとリソースのリスト。

この IL コードは、テキストエディター内のアセンブリまたはモジュール属性上、または外部アセンブリの <AssemblyName>.cs ファイル内のどこかにキャレットを置くと表示されます。

プライマリコンストラクターのサポート

プライマリコンストラクターを宣言するクラスを操作する際、デコンパイラーがコンストラクターとそのパラメーターを正しく表示するようになりました。デコンパイルされたコードから直接どのようにオブジェクトがインスタンス化されるかを全体的に把握できます。

ダウンロード

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