JetBrains Rider 2025.3 ヘルプ

コード解析

コードインスペクション

C++ コードの一般的な側面をチェックする数百のコードインスペクションに加えて、Unreal Engine プロジェクトに固有のインスペクションがいくつかあります。

UnrealHeaderTool (2 インスペクション)

インスペクション

デフォルトの重大度

UnrealHeaderTool エラー

エラー

UnrealHeaderTool の警告

警告

Unreal Engine (20 インスペクション)

このカテゴリのインスペクションは、Unreal Engine(英語) プロジェクトに固有のものです。

インスペクション

デフォルトの重大度

この名前のアクションは存在しません

警告

この名前の軸は存在しません

警告

BlueprintCallable 関数は const にすることができます

ヒント

BlueprintCallable 関数を静的にすることができます

ヒント

BlueprintCallable 関数は、Blueprint または C++ コードでは使用されません。

警告

BlueprintImplementableEvent 関数はどのブループリントにも実装されていません

警告

C/C++ 標準ライブラリヘッダーが見つかりません

エラー

一貫性のない Unreal Engine の命名 (英語)

ヒント

Unreal Engine の UCLASS 命名に一貫性がない

エラー

デリゲートにバインドされたメソッドは UFUNCTION マクロでマークされていません

警告

スーパークラスからの関数の呼び出しがありません

警告

UProperty 以外のオブジェクトメンバーがガベージコレクション中に破棄される可能性があり、その結果、古いポインターが発生する

警告

非 upproperty メンバーに格納されたオブジェクトは、ガベージコレクション中に破棄される可能性があり、その結果、古いポインターが発生します

警告

エンジンプロジェクトの指定されたバージョンが見つかりません

エラー

構造体に TStructOpsTypeTraits に必要なメンバーがありません

エラー

UFUNCTION マクロ呼び出しは効果がありません

警告

定義済みの Unreal マクロのない Unreal Engine ソースファイル

警告

Unreal エンジンのバージョンファイルが存在しません

エラー

UPROPERTY マクロ呼び出しは効果がありません

警告

以前に宣言されていないクラスの使用

ヒント

UnrealHeaderTool の統合

UnrealHeaderTool(英語) は、UnrealEngine 用の解析およびコード生成ツールです。Unreal Engine のコードコンパイルワークフローでは、ツールは C++ ヘッダーファイルを解析して、Unreal 関連のマクロとメタデータを探し、これを使用して、リフレクションやネットワーキングなど、UObject システムをサポートする追加のコードを生成します。

JetBrains Rider は UnrealHeaderTool とのシームレスな統合を提供します: Unreal Engine プロジェクトを初めてビルドするとき、JetBrains Rider はコードコンパイルに使用される UnrealHeaderTool を見つけ、別のプロセスとしてツールをバックグラウンドで実行して、編集中のファイルをチェックし、同じものを表示できます。コンパイル時に通常表示されるエラーと警告。コード分析の結果は、他の JetBrains Rider のインスペクションと同様に、エディターに直接表示されます。

JetBrains Rider は、現在開いているファイルに対してのみ UnrealHeaderTool を実行し、プロセスは、全体的なパフォーマンスへの影響を最小限に抑えるように最適化されています。

統合された UnrealHeaderTool インスペクションの動作については、次のビデオを参照してください。

UnrealHeaderTool インスペクション

UnrealHeaderTool は、必要なリフレクション指定子なしで特定のメタタグを使用する、プライベートスコープで GENERATED_BODY マクロを使用する、無効なエンティティがブループリントに公開されるなど、コードに関するさまざまな問題を検出できます。ここではいくつかの例を示します。

  • UFUNCTION にリフレクション指定子がありません。

    UnrealHeaderTool Error: 'reliable' or 'unreliable' is required
  • 構造体内で UFUNCTION マクロを使用します。

    UnrealHeaderTool Error: USTRUCTs cannon contain UFUNCTIONs
  • BlueprintType 列挙型ベースが無効です。

    UnrealHeaderTool Error: Currently only uint8 supported

UnrealHeaderTool チェックと JetBrains Rider のインスペクションを区別するために、インスペクションメッセージに追加された角括弧のチェックの名前を確認できます。

UnrealHeaderTool インスペクションの構成

すべての UnrealHeaderTool インスペクションには、対応する構成可能な重大度レベルがあり、ニーズに合わせて調整できます

組み込みのインスペクションと同様に、インスペクションコンテキストメニューを使用して、UnrealHeaderTool チェックの重大度をすばやく変更したり、コメントで抑制したり(特定のスコープ内またはグローバルに)、同様の問題をすべて見つけて調査したりできます

JetBrains Rider: Clang-Tidy inspection menu
2024 年 5 月 26 日

関連ページ:

C++ でのコード分析

JetBrains Rider のコード解析の主な機能は、C++ でもサポートされています。これらの機能の詳細については、コード解析の該当するトピックを参照してください。このセクションのサブジェクトでは、フィーチャマトリックスを見つけて、C++ で正確にサポートされているものを確認することもできます。このトピックでは、C++ でコード解析機能を使用する例をいくつか見てみましょう。デフォルトでは、コードインスペクション、クイックフィックス、コンテキストアクションはすべてのソリューションファイルで使...

コードインスペクション

JetBrains Rider は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション JetBrains Rider が提供するコードの種類を調べるには、異なる言語の JetBrains Rider コードインスペクションの全リストをご覧ください。コードイ...

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから (...

設計時にコードの問題を分析する

JetBrains Rider は、エディターでコードファイルを開くとすぐに、コードファイルが閉じられるまで分析を開始します。検出されたすべてのコードの問題は、重大度に応じてエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のエラーストライプにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:デザイン時のインスペクション機能は、Rider エディターの基本機能への主要...

始める前に

ソフトウェア要件:Unreal Engine 5.0+ または Unreal Engine 4.20+ (Unreal エンジン 4.25.4+ が .uproject と直接連携)、Unreal Engine プロジェクト用の Microsoft Visual Studio コンパイラー。コンパイラーは Visual Studio と共にインストールされますが、Visual Studio のビルドツールとは別にインストールすることもできます。有償製品に MS Build Tools を使用するに...

新しい Unreal Engine エンティティを作成する

JetBrains Rider は、Unreal Engine クラスの定義済みテンプレートのセットと、新しいクラス、プラグイン、モジュールを作成するための専用アクションを提供します。これにより、定型コードの生成を自動化し、IDE と Unreal Editor の切り替え頻度を減らすことができます。新しい Unreal クラス:Unreal Engine クラスのすべての定義済みテンプレートは、JetBrains Rider 設定のページで利用できます。新しい UnrealEngine ク...