1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【今週の進捗】NeovimをRiderに近づける!定義・実装の自動生成とツリー機能を強化 (2026/01/17)

Posted at

早速ですが、今週のアップデート情報の共有です。
今週は、以前から不安定だったDB周りの修正を行いつつ、JetBrains Riderにあるような「定義の作成」「実装の作成」といった強力な支援機能を UCM.nvim に実装しました。

NeovimでのUnreal Engine開発が、また一歩IDEに近づきました。

UCM.nvim:定義と実装の行き来をスムーズに

これまで手動で行っていたヘッダーとソースファイルのボイラープレート記述を自動化しました。

  • UCM create_impl
    ヘッダーファイルの関数定義上でコマンドを実行すると、対になる .cpp 側に実装テンプレートを自動挿入します。
    特筆すべきは、override 指定子が付いている場合、自動的に Super::Function() の呼び出しまで生成する点です。

20260117171235_rec_-convert.gif

  • UCM create_decl
    create_impl の逆を行う機能です。.cpp 側の関数実装上で実行すると、ヘッダーファイルに定義を追加します。引数の変更など、シグネチャの更新にも対応しています。

20260117170943_rec_-convert.gif

  • UCM add_struct
    クラスは「1ファイル1クラス」が基本ですが、構造体(Struct)はヘッダーにサクッと追加したい場面が多々あります。
    このコマンドを使えば、ウィザード形式で名前と継承元を選択するだけで、適切な USTRUCT 定義を現在のカーソル位置に挿入できます。

20260117171532_rec_-convert.gif

  • 新規ファイル作成のリファクタリング
  • UCM new_class: クラス専用の新規ファイル作成コマンド。
  • UCM new_struct: 構造体専用の新規ファイル作成コマンド。
  • 内部ロジックを見直し、クラス・構造体の両方に適切に対応できるよう UCM new 周りをリファクタリングしました。

UNX.nvim:ツリー操作のストレスを軽減

ファイルツリーの操作感を向上させました。

  • ツリー状態の永続化
    UEのプロジェクトは階層が深くなりがちです。再起動のたびにフォルダを開き直すのが手間のため、ツリーの開閉状態を保存・復元できるようにしました。
  • UNX focus
    編集中のファイルから、ツリー上の該当位置へフォーカスを移す機能を実装しました。
    「今編集しているファイルと同じ階層に新しいファイルを作りたい」といった場合に、即座にツリー位置を特定できるため非常に便利です。

UEP.nvim:ナビゲーション強化

  • UEP structs
    構造体の一覧を表示し、そこから定義元へジャンプする機能を実装しました。

20260117172755_rec_-convert.gif


おわりに

今週の変更は以上です。
これら「実装・定義の自動生成」や「構造体ウィザード」が入ったことで、コード編集作業に関しては Neovimを完全に主戦場に置けるレベル になってきた手応えがあります。

今後の展望として、RiderなどのIDEとNeovimの連携を模索中です。
例えば、「Riderでデバッグ中に、ブレークしたファイルを即座にNeovimで開く」あるいは「Neovimで編集中のファイルをRiderで開く」といった相互連携ができれば、デバッグ体験も含めて最強の環境になりそうです。技術的に可能かどうか、引き続き調査していきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?