コード解析
コードインスペクション
C++ コードの一般的な側面をチェックする数百のコードインスペクションに加えて、Unreal Engine プロジェクトに固有のインスペクションがいくつかあります。
UnrealHeaderTool (2 インスペクション)
Unreal Engine (20 インスペクション)
このカテゴリのインスペクションは、Unreal Engine(英語) プロジェクトに固有のものです。
インスペクション | |
|---|---|
この名前のアクションは存在しません | |
この名前の軸は存在しません | |
BlueprintCallable 関数は const にすることができます | |
BlueprintCallable 関数を静的にすることができます | |
BlueprintCallable 関数は、Blueprint または C++ コードでは使用されません。 | |
BlueprintImplementableEvent 関数はどのブループリントにも実装されていません | |
C/C++ 標準ライブラリヘッダーが見つかりません | |
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にリフレクション指定子がありません。
構造体内で
UFUNCTIONマクロを使用します。
BlueprintType列挙型ベースが無効です。
UnrealHeaderTool チェックと JetBrains Rider のインスペクションを区別するために、インスペクションメッセージに追加された角括弧のチェックの名前を確認できます。
UnrealHeaderTool インスペクションの構成
すべての UnrealHeaderTool インスペクションには、対応する構成可能な重大度レベルがあり、ニーズに合わせて調整できます。
組み込みのインスペクションと同様に、インスペクションコンテキストメニューを使用して、UnrealHeaderTool チェックの重大度をすばやく変更したり、コメントで抑制したり(特定のスコープ内またはグローバルに)、同様の問題をすべて見つけて調査したりできます。

関連ページ:
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 ク...