📚
UnrealEngineのソースコードをneovimを使って実装する際の補完設定について
UnrealEngine5 (以下UE5) 開発時に neovim を用いて実装したい。
mason 経由で clangd をインストールして意気揚々とエディタを開くと UE5 関連のメソッドに対して無知なのでエラーが出まくる。そりゃそーだ。
どうしよっかなーってことでChatGPTにきいてみた。
clangd は compile_commands.json を基にコード解析を行うため、UE5のビルドシステムでこれを出力する必要があります。
ほう、compile_commands.json
を用意できれば勝手に解釈してくれそう。
ただ、GPTくんの説明通りにやっても上手くいかず、四苦八苦したのでそれをメモしておく。
環境
- UnrealEngine: 5.5.4-40574608+++UE5+Release-5.5
- Platform: macOS 15.3.2 (arm64)
- neovim: v0.10.4
やったこと
GPTくんは「UE5側でいろいろ設定必要よー」と言ってたけど、色々調べた結果以下コマンドを実施するだけでなんとかなった
# compile_commands.json 生成
/Users/Shared/Epic\ Games/UE_5.5/Engine/Build/BatchFiles/Mac/Build.sh \
-mode=GenerateClangDatabase \
-NoExecCodeGenActions \
-project=$HOME/Documents/Unreal\ Projects/$ProjectName/$ProjectName.uproject \
-game \
-engine \
${ProjectName}Editor \
Mac \
DebugGame
# 生成された compile_commands.json をプロジェクトに反映
# プロジェクトルートにいれるだけで clangd は読み取ってくれるらしい
ln -sf /Users/Shared/Epic\ Games/UE_5.5/compile_commands.json $PROJECT_DIR/compile_commands.json
参考: Get compile_commands.json - Development / Platform & Builds - Epic Developer Community Forums
${ProjectName}Editor
部分が何をしているのかわからないけど、上記参考リンクでそう書いてあったので合わせてみました。分かる人いれば教えていただけると嬉しいです。
日本語の記事が見当たらなかった & 忘備録も兼ねて 📝
しばらくこれで様子見して問題があれば追記します。UE5のエディタにnvim使いたいとかいう稀有な人はそう居ないかと思うけど、誰かの役に立てば幸いです。
Discussion