「我ながらニッチ・オブ・ニッチなプラグインを作っているなぁ…」と改めて思いつつ、今週も UnrealDev.nvim エコシステムのアップデートを行いました。
Unreal Engine開発をNeovimで快適にするための機能追加がメインです。特にPerforce (P4) ユーザーや、C++のマクロ記述を楽にしたい方には嬉しい更新となっています!
📦 1. UnrealDev.nvim
エコシステム全体の健全性をチェック
:checkhealth UnrealDev コマンドを追加
Unreal Engineの開発環境(依存プラグインや設定)が正しくセットアップされているかを確認するためのコマンドを追加しました。
特に nvim-treesitter 関連のパーサー更新は、プラグインマネージャーのアップデートだけでは追従できない場合があるため、トラブルシューティングを容易にするために実装しました。
環境がおかしいな?と思ったら、まずはこれを実行してみてください。
🌲 2. UNX.nvim (Explorer)
待望のPerforce (P4) サポート!
Unreal Engine開発の現場といえば、バージョン管理はPerforceが標準です。
これまでGitのみのサポートでしたが、今回のアップデートでついに P4ステータスの表示 に対応しました。

- ステータス表示: ファイルツリー上で、P4の管理状態(Add, Edit, etc.)がアイコンで確認できます。
- 自動チェックアウト: 編集不可能なファイルを編集しようとした際、自動的に「チェックアウトしますか?」というダイアログを表示します。
これで「書き込もうとしたらRead-onlyで怒られる」ストレスから解放されます。
🛠️ 3. UCM.nvim (Code Actions)
インクルード記述とマクロ作成を爆速化
📋 :UCM copy_include[!]
C++クラスの #include パスを計算してクリップボードにコピーするコマンドです。
「このクラスを使いたいけど、相対パスを書くのが面倒…」という悩みを解決します。
-
自動解決: 例えば
MyActor.cpp上で実行すると、対になるヘッダーを探し出し、#include "Actor/MyActor.h"のような正しいパスを生成します。 -
:UCM copy_include: 現在開いているファイルのクラスパスをコピー。 -
:UCM copy_include!: クラス名を選択(検索)して、そのパスをコピー。
似た機能に UEP add_include がありますが、あちらは「自動挿入」、こちらは「クリップボードへのコピー」と使い分けが可能です。
⚡ :UCM specifiers[!] (マクロ生成ウィザード)
UCLASS, UPROPERTY, UFUNCTION などのマクロ記述を支援するウィザード機能を追加しました。
-
通常モード (
:UCM specifiers):- マクロの種類を選択(例:
UPROPERTY) - スペシファイアを選択(例:
EditAnywhere,BlueprintReadWrite) -
UPROPERTY(EditAnywhere, BlueprintReadWrite)の形でカーソル位置に挿入&クリップボードへコピー。 - スマートカーソル機能により、
Category=""などを含む場合は""の間にカーソルが自動移動します。
- マクロの種類を選択(例:
-
追記モード (
:UCM specifiers!):- 既存のマクロに引数を追加したい時に便利です。
- マクロの枠(
())は作成せず、中身のEditAnywhereだけをカーソル位置に挿入します。
🔍 4. UEP.nvim (Project Provider)
設定ファイルやドキュメントへのアクセスを強化
ファイル・シェーダー関連
-
Config/Shadersディレクトリの表示:
UEP treeコマンドで、Game側のConfigやShadersフォルダが表示されなかった問題を修正しました。 -
仮想パス対応:
.ush/.usfファイル内の仮想インクルードパスに対応し、open_filesでジャンプ可能になりました。 -
:UEP shaders[!] [Scope]: シェーダーファイルを検索して開くコマンドを追加しました。
C# 設定ファイルへのジャンプ
-
:UEP build_cs[!]:-
!なし: 現在のモジュールのBuild.csを即座に開きます。 -
!あり: プロジェクト内の全Build.csから選択して開きます。
-
-
:UEP target_cs[!]:-
!なし: プロジェクトのTarget.csを開きます。 -
!あり: エンジン側のTarget.csも含めて検索します。
-
🌐 :UEP web_doc[!] (公式ドキュメント検索)
ブラウザでUnreal Engineの公式ドキュメントを開くコマンドです。
プロジェクトで使用しているUEのバージョンを自動検知 し、適切なバージョンのページを開くのが特徴です。
-
!なし: カーソル下の単語をドキュメント検索します。 -
!あり: プロジェクト内のクラス一覧から選択して、そのドキュメントを開きます。
終わりに
今週は、実際の開発作業において「ここが面倒だな」「Riderならできるのにな」と感じていた、かゆい所に手が届くアップデートを行いました。
機能が充実してきたおかげか、最近はRiderでコードを書く時間が劇的に減り、「あれ、これNeovimの方が楽なんじゃないか?」と感じる瞬間が増えてきました。(単純に私がRiderのショートカットを覚えていない説もありますが…笑)
「こんな機能が欲しい!」という要望があれば、ぜひコメントやIssueで教えてください。できる限り対応したいと思います。
また、もし気に入っていただけたら UnrealDev.nvim にスターを頂けると開発の励みになります!


