C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

VSCode で UE4/C++: デバッグ実行に必要な launch.json の設定の仕方

概要

VSCode で UE4/C++ を開発する際にデバッグ実行に必要な launch.json の設定方法を紹介。

f:id:USAGI-WRP:20170613205409p:plain

↑こんな感じで VSCode しか起動していない状態から"えせ"スタンドアローン風の実行もできる。もちろん、起動中の UE4Editor へのアタッチもできる。

VSCode の設定の仕方

VSCode で .uproject のあるディレクトリーを開くなどしている状態で:

  1. 画面左 Debug アイコンをぽち –> 左側に展開する DEBUG カラムの上部の歯車アイコンをぽち
    • or メニュー > Debug > Open Configurations
  2. VSCode .vscode/launch.json を次のように編集
{ "version": "0.2.0"
, "configurations":
  [ { "name": "Attach"
    , "type": "cppvsdbg"
    , "request": "attach"
    , "processId": "${command:pickProcess}"
    }
  , { "name":"Launch"
    , "type": "cppvsdbg"
    , "request": "launch"
    , "program": "C:/Program Files/Epic Games/UE_4.16/Engine/Binaries/Win64/UE4Editor.exe"
    , "args": [ "C:/<YOUR UE4 PROJECT PATH>/<YOUR PROJECT NAME>.uproject", "-game" ]
    , "cwd": "${workspaceRoot}"
    }
  ]
}

Note: <YOUR UE4 PROJECT PATH>/<YOUR PROJECT NAME> は各自のUE4プロジェクトの配置パスとプロジェクト名に置き換える。

launch.json を保存した直後から DEBUG の緑のプレイ的なボタンの右側のコンボボックスに AttachLaunch が出現。Launch で緑のプレイ的なボタンをぽちると"えせ"スタンドアローン風の実行( UE4Editorから Launch した場合と同様の独立したウィンドウでの起動)が可能。既に起動中の UE4Editor へアタッチしたい場合は VSCode の DEBUG で Attach を選択した状態で緑のプレイ的なボタンをぽちり、プロセス選択で ue4 くらいまで入力するとインクリメンタルに UE4Editor を選択でき、 ENTER してアタッチできる。

デバッグ中は行番号の左側にブレイクポイントを仕込んで止めたり、ステップ実行したり、ローカル変数、ウォッチ、コールスタック、スレッドの監視、デバッグコンソールなどを活用してバグの原因を確認するなど、よくある便利なGUIデバッガーの必要十分な機能を使える。

VSCode の非常に軽快ながらパワフルな動作はプログラマーにとって憂鬱なムダに浪費されてしまう MOTTAINAI 的なコストを小さく抑えながら快適にソフトウェアの開発やドキュメントの記述が可能で、今回招待したように UE4/C++ 開発についても少しの設定で快適にGUIデバッガーとしても機能。嬉しいですねヽ(´ー`)ノ

参考