この記事でのバージョン
Unity 2019.4.17f1
JetBrains Rider 2020.3.2
はじめに
Unityはスクリプトファイルのテンプレが一つしか作れないので、
以前、いくらでもテンプレを作れるような拡張機能を作ったのですが、
Unityでも使えるエディタであるRiderにはFile Templatesという
ファイルのテンプレートを作る機能があります。
しかもだた定型文のファイルを作るだけではなく、生成時にある程度内容を変更出来るので、
より効率的にスクリプトファイルの作成が出来ます。
もちろんこの機能でC#のテンプレも作れますし、いくつでもテンプレを作成する事が可能です。
さらにmetaファイルの生成までやってくれるので、Unity上でファイルを作るのと同じ感覚で使えますし、
Rider上で生成すればUnityに戻るまではコンパイルの待ち時間(右下がクルクルなるやつ)もありません。
ちなみにファイルの移動をした時もmetaファイルの移動も一緒にやってくれるので、
移動で参照が切れたりせず、これもUnity上と同じ感覚で気軽に行えます。
ということで今回はFile Templatesの使い方の解説記事です!
ちなみにRiderとはUnityでも使える便利なエディタの事で、
導入方法については以下の記事を参照の事。
File Templates
まずFile Templatesの設定は上部メニューにある
JetBrains Rider/Preferencesで開けるウィンドウの
Editor/File Templates/Unityから行います。
新たにテンプレを追加する場合は右上の一番上のボタンを押します。
(二番目は選択してるテンプレを複製し、三番目は削除)
左下の欄でコードを編集します。
なお、$で括る事によりその部分をファイル作成後に自由に変更出来るようになります。
また、同じ文字列の場所は一つを変更すると全て同時に変わります。
$で括るだけだと全て手動で入力する必要がありますが、Edit variablesから開けるウィンドウの
Change macroからマクロを登録すると、状況に合わせて自動で入力する事も可能です。
(Editableを有効にしておけば手動で入力することも可能)
例えば以下の例だと英数字のみのファイル名(拡張子なし)になります。(クラス名によく使うやつ)
あとはデフォルトのファイル名(=テンプレ名)と説明を設定し、
クイックリストに入れ、
Saveから保存をすれば使えるようになります。
ただし、クイックリスト内の全てのテンプレートを削除すると
クイックリスト自体が表示されなくなるので注意が必要です
なお、This computerで保存すればどのプロジェクトでも使えるようになります。
使い方はExplorerウィンドウ(開いてない時はクリックすれば開く)で右クリックし、
Addを選ぶとクイックリストに登録したテンプレが表示されるので、
任意の物を押してファイル名を入力するだけ。
実際に以下のテンプレを使ってみると
$CLASS$はファイル名から自動入力 $Type1$と$Type2$は手動で入力 $type1Name$は$Type1$($type2Name$は$Type2$)の頭文字を小文字にした物 $Type1Name$は$type1Name$($Type2Name$は$type2Name$)の頭文字を大文字にした物 $Type1Copy$は$Type1$($Type2Copy$は$Type2$)と同じ物
以下のような感じに。
なおGroupを設定すると、
同じGroupが設された物をまとめてグループとして表示するようになります。
ちなみにディレクトリの作成も可能なのですが、
ディレクトリを常に上に表示出来る設定が地味に便利です。
余談ですがC#(.cs)のテンプレだけでなく、
アセンブリ定義ファイル(.asmdef)やシェーダー(.shader)等のテンプレも作成可能です。