ReSharper C++ 2024.3 では、大規模なソリューションのパフォーマンスの改善、新しい C++23 および C23 の機能の実装、および Move to Folder(フォルダーに移動)リファクタリングの導入が行われました。 ReSharper C++ が Unreal Engine プロジェクトでゲームプレイタグとログマクロの引数のコード補完を提供するようになりました。デリゲートのサポートも強化されています。
無料 30 日間体験版をご利用可能です
ReSharper C++ 2024.3 では大規模なソリューションでのメモリ使用量の最適化に専念し、メモリ使用量を大幅に減らしました。 弊社のテストによると、初回インデックス作成後のメモリ使用量が Unreal Engine では約 20%、Chromium では 30% 減っています。
このメモリ使用量の節約とメモリトラフィックを軽減するための最適化により、インデックスの作成も高速化しています。 たとえば、LLVM ソリューションの初回インデックス作成は最大 10% 高速化されています。
ReSharper C++ 2024.3 では size_t
のリテラルサフィックスとラムダ式の属性を実装することで、C++23 の主要機能のサポートを完成させています。 また、C++17 std::has_unique_object_representations
型特性が評価されるようになりました。
ReSharper C++ に C 言語ユーザー向けの typeof
および typeof_unqual
キーワードと C23 の __has_c_attribute
マクロのサポートが追加されています。
非 MSVC コンパイラーとの互換性を強化するため、ReSharper C++ に switch case の範囲、名前付き可変個引数マクロパラメーター、transparent_union
型属性、__attribute((aligned(...)))
など、複数の GNU コンパイラーの拡張機能に対するサポートを実装しています。 また、ReSharper C++ が追加の型特性や浮動小数点の比較など、新しい多数のコンパイラー組み込みの機能を認識するようになりました。
コード補完で UE_LOG
および UE_LOGFMT
マクロの引数で使用できるカテゴリ名と詳細度が提案されるようになりました。 同じ名前を持つ組み込みのライブテンプレートを使用すると、新しいログ出力ステートメントを素早く追加できます。
ReSharper C++ が FGameplayTag::RequestGameplayTag
関数の引数を補完する際、プロジェクト内に定義されているゲームプレイタグを素早く検出して提案するようになりました。
UDELEGATE
マクロのサポートが強化されたことにより、マクロ属性内のリフレクション指定子が補完され、デリゲート型のクラスメンバーのブループリント内での使用箇所の数を追跡できるようになりました。
Unreal Engine 開発向けのスタンドアロン型クロスプラットフォーム IDE にご興味がありましたら、Rider をぜひご検討ください。 Rider と ReSharper C++ での Unreal Engine のサポートは同等であるため、Rider 2024.3 アップデートと同じ改善を期待できます。
Move to Folder(フォルダーに移動)リファクタリングを使用して C++ ファイルを簡単に移動できるようになりました。 選択したファイルを新しい場所に移動すると、リファクタリングによって #include
ディレクティブがプロジェクト構造の変更を反映するように更新されます。
C++20 の ranges ライブラリユーザー向けに、range アダプターのパイプ形式の使用箇所と呼び出し形式の使用箇所を変換できる新しいコンテキストアクションが導入されました。 また、パイプ形式で range アダプターを使用する場合のオーバーロードエラーに対する診断メッセージも改善されました。
ReSharper C++ 2024.3 では複数行の TODO コメントがサポートされ、後続行のインデントが付いたテキストを同じ TODO 項目の一部として処理できるようになりました。 また、外部の課題にリンクされた To-do 項目に遭遇した場合は、Peek To-do link(To-do のリンク先を表示)アクション(Ctrl+Shift+クリック)を使用してその課題をインラインで表示できます。
Space before parentheses in control statements(制御ステートメントの丸括弧前のスペース)フォーマッターオプションが有効な場合、入力支援によって左丸括弧の前にスペースが自動的に挿入されるようになりました。
新しいフォーマッター設定を使用すると、C++/CLI プロパティの波括弧のスタイルと関数の try ブロックの前の改行を構成できます。
プロジェクトのドキュメントコメントに Doxygen ではなく XML 構文が使用されている場合、Code Generation(コード生成)設定でデフォルトのドキュメントテンプレートのスタイルを簡単にカスタマイズできるようになりました。 ReSharper C++ が /** ... */
コメント内の XML ドキュメントを認識し、ツールチップに正しく表示できるようにもなりました。
もう 1 つの新しい設定を使用すると、コード生成アクションでオーバーライド関数を作成する際にデフォルトの関数の引数を保持するかどうかを設定できます。
ReSharper C++ 2024.3 には Clang 19 の clang-tidy および clang-format バイナリが含まれており、最新の LLVM リリースの新しいチェックと改善点が取り込まれています。
コード内の特定の clang-tidy チェックを無効化する // NOLINT(...)
コメントにより、対応する ReSharper のインスペクションも無効化されるようになりました。
組み込みのフォーマッターが // clang-format off
と // clang-format on
コメントを認識し、区切られた領域の整形をオフにするようになりました。
このリリースで導入されたその他の変更点については ReSharper の新機能をご覧ください。
無料 30 日間体験版をご利用可能です