ReSharper C++ 2025.1 の新機能

ReSharper C++ 2025.1 では constexpr の評価機能が改善されており、クロスプラットフォーム開発を支援する新しい GNU 言語拡張のサポートが追加されています。 その他の更新には、新しい Inline Macro(マクロのインライン化)リファクタリング、GoogleTest のサポート強化、および Clang-Tidy の ARM プラットフォーム対応があります。 Unreal Engine の開発者は、大量のブループリントを使用するプロジェクトでメモリ使用量が改善されるという恩恵も受けます。

言語機能

ReSharper C++ 2025.1 では、以下を含むいくつかの新しい GNU 言語拡張のサポートが導入されています。

  • オペランドが省略された条件式
  • #import ディレクティブ
  • _Float16__bf16、および__float128 浮動小数点型
  • ローカルラベル
  • イニシャライザーの範囲指定構文

また、ReSharper C++ が C23 の 10 進浮動小数点型をサポートするようになりました。

constexpr の評価エンジンの機能を改善しました。 ReSharper C++ が switch ステートメント、イニシャライザーのある if ステートメント、構造化バインディング、および自明なデフォルト初期化を含む constexpr 関数を評価できるようになりました。 C++20 で登場したデフォルト定義の operator== も評価可能です。

Unreal Engine

ReSharper C++ 2025.1 では、ブループリント関連機能のメモリ使用量の最適化に注力しました。 キャッシュされたデータがディスクにオフロードされるため、大量のブループリントを使用するプロジェクトでのメモリ使用量が大幅に削減され、全体的なパフォーマンスが向上します。

さらに、ReSharper C++ が UMETA および UPARAM リフレクションマクロを認識してハイライトし、これらのマクロとその属性に対するコード補完とツールチップドキュメントを提供するようになりました。

Unreal Engine 開発向けのスタンドアロン型クロスプラットフォーム IDE にご興味がありましたら、Rider をぜひご検討ください。 Rider と ReSharper C++ での Unreal Engine のサポートは同等であるため、Rider 2025.1 アップデートと同じ改善を期待できます。

Inline Macro(マクロのインライン化)リファクタリング

新しい Inline Macro(マクロのインライン化)リファクタリングを使用すると、コード内のマクロのすべての使用箇所を簡単に置換できます。 このリファクタリングは、手動での確認が必要なマクロ本体やマクロ引数内の考えられる使用箇所も報告します。

コーディング支援

Switch Header/Source(ヘッダー/ソースの切り替え)アクションが改良され、名前が一致するファイルだけでなく、現在のファイルの関数の宣言や定義を含むファイルも提案するようになりました。これにより、ファイル間を移動するのがさらに容易になりました。

__declspec(property) 属性内の関数参照が適切にハイライトされ、Find Usages(使用箇所の検索)で検出され、Rename(名前の変更)リファクタリングで更新されるようになりました。

新しい Redundant forward declaration(冗長な事前宣言)インスペクションは、同じファイル内で重複している事前クラス宣言を検出し、それをクリーンアップするためのクイックフィックスを提供します。

Clang-Tidy

ReSharper C++ 2025.1 ではバンドルの Clang-Tidy が Clang 20 に更新されており、最新のチェックと最新の LLVM リリースの機能強化が反映されています。 この更新では ARM プラットフォームのサポートも改善されており、Windows ARM 用の Clang-Tidy バイナリがバンドル化されています。

Inspection Severity(インスペクションの重要度)設定ページ内の Clang-Tidy のチェックが接頭辞ごとにグループ化されました。これにより、特定のチェックに簡単に移動し、グループ全体のチェックを迅速に有効または無効にできるようになっています。

GoogleTest

ReSharper C++ 2025.1 では、GoogleTest のサポートに関するいくつかの更新が行われています。 値および型のパラメーター化テストを実行する際、特定の値および型のテストケースがそれぞれのパラメーター化テストの下にグループ化されるようになりました。これによってテスト結果がより構造化され、読みやすくなっています。

パラメーター化テストがソースコードから検出されるようになり、実装する必要がなくなりました。 その結果、エディターから直接ガターアイコンやコンテキストアクションを使用し、テストスイート全体や個々のパラメーター化テストを実行できるようになりました。

このリリースで導入されたその他の変更点については、「ReSharper の新機能」ページをご覧ください。