Visual Studio のヒントとコツ

Visual Studio で UE コンテンツの作業をするための便利なヒントとコツ

Choose your operating system:

Windows

macOS

Linux

イミディエイト ウィンドウ

コマンド

説明

**{,,UE4Editor-Core}::PrintScriptCallstack()**

ブループリント コールスタック

**{,,UE4Editor-Core}::GFrameNumber**

現在のフレーム数 (ブレークポイント条件としても機能します)

**{,,UE4Editor-Core}::GPlayInEditorID**

PIE ID (マルチプレイヤーの場合に便利であり、ブレークポイント条件としても機能します)

**UE4Editor-Engine!GPlayInEditorContextString**

PIE ウィンドウ名 (マルチプレイヤーの場合に便利です)

クイック リファレンス

最適化を有効 / 無効にする

次のマクロは追加するファイルのコンパイラの最適化を有効/無効にします。

PRAGMA_DISABLE_OPTIMIZATION
PRAGMA_ENABLE_OPTIMIZATION

最適化を無効にすると、コードはトレースまたはステップバイステップ デバッグ セッション中に必要とする一時的な変数またはデバッグ変数を削除せずに、記述どおりに正確に実行されます。フル デバッグ ビルドではなく、選択したファイルをデバッグする場合に役立ちます。

デバッグ ライン

デバッグ ライン はビューポートに描画されたラインのことで、通常はラインとレースまたはパスのパスを示します。デバッグ ラインを使用するには DrawDebugHelpers.h をインクルードする必要があります。以下のコードが DrawDebugLine の使用方法を示しています。

\#include "DrawDebugHelpers.h"
DrawDebugLine(GetWorld(), START, END, FColor::Green);

DrawDebugHelpers には標準のデバッグ ラインの他に、以下のような数多くのさまざまなデバッグ ドロワーがあります。

  • Primitive Shapes

    • DrawDebugBox

    • DrawDebugSphere

    • DrawDebugCapsule

    • DrawDebugCylinder

    • DrawDebugPlane

    • DrawDebugCone

    • DrawDebugPoint

  • Solid Shapes

    • DrawDebugSolidBox

    • DrawDebugSolid Plane

  • Other Common Shapes

    • DrawDebugFrustrum

    • DrawDebugCamera

    • DrawDebugCrosshairs

  • Meshes

    • DrawDebugMesh

デバッグ テキスト

以下のコードは、デバッグ テキストを画面に書き込む方法の例です。 Print String ブループリント ノードの機能によく似ています。

\#include "Engine/Engine.h"
FString MyDebugString = FString::Printf(TEXT("MyVelocity(%s)"), *MyVelocity.ToCompactString());
GEngine->AddOnScreenDebugMessage(INDEX_NONE, 0.f, FColor::Yellow, MyDebugString, false, FVector2D::UnitVector * 1.2f);

FString::Printf 関数は文字列フォーマットのパラメータを受け取ることができるので、変数を含む文字列を素早く作成することができます。 AddOnScreenDebugMessage を呼び出すために GEngine にアクセスするための Engine.h をインクルードする必要があります。文字列フォーマットの使用方法の詳細については、「 FString のリファレンス 」を参照してください。

列挙型から文字列へ変換する

静的な UEnum から GetNameStringByValue を呼び出し、名前を取得する値を指定することで、列挙型を文字列に変換することができます。値を渡す列挙型と同じ型の StaticEnum UEnum を初期化する必要があります。

EMyEnum::Type MyVariable;
static const UEnum* Enum = StaticEnum<EMyEnum::Type>();
Enum->GetNameStringByValue(MyVariable);

コンフィギュレーション コンボボックスの幅を修正する

デフォルトのソリューション コンフィギュレーション コンボボックスは非常に小さいため、現在選択中のオプションの名前全体を表示できません。これを修正するには、 ツールバー を右クリックし、 [Customize (カスタマイズ)] > [Commands] > [radio Toolbar] > [Standard] の順に選択し、 [Solution Configurations] までスクロールしたら [Modify Selection (選択内容を修正)] をクリックし、設定したい幅を入力します。幅は一般的に 200 が便利です。

Fixing the configuration combobox

Visual Studio 2019 を高速化する

Visual Studio 2019 は Unreal プロジェクトで使用すると処理速度が遅くなることがあります。以下の方法でパフォーマンスを改善できる場合があります。

デバッグが遅い場合

[Option] > [Debugging] > [General] で次の設定を無効にしてみてください。

  • デバッグ中は [Enable Diagnostic Tools] のチェックを外します。

  • デバッグ中は [Show elapsed time PerfTip] のチェックを外します。

Perforce Visual Studio の履歴がすべてのメソッド上に表示される場合

Showing P4VS history

Perforce Visual Studio の履歴がすべてのメソッドに表示されないようにするには、 [Tools] > [Options] > [Text Editor\All Languages\CodeLens] > [Enable CodeLens] のチェックを外します。

ソリューションを開く、またはデバッグすると Visual Studio が遅くなる場合

シンボル検索に Visual Assist などの別のプラグインを使用している場合、インテリセンス データベースを無効にするとソリューションが解析されなくなります。手順は以下の通りです。 [Tools] > [Options] > [Text Editor] > [C/C++] > [Advanced] > [Set] [Disable Database = true]

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル