15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RiderのLiveTemplate(スニペット)を活用してUnityC#のコーディングを楽にする

Last updated at Posted at 2018-05-18

環境

JetBrains Rider 2018.1
Windows 10

LiveTemplateについて

RiderにはLiveTemplateと呼ばれるテキストの自動補完機能があります。

例えば、sfieldと入力したら[SerializeField]と入力させるといった自動補完をユーザーが自分で作成することができます。

9.gif


他にも、変数と関数をまとめて入力するなどといったことができます。 (便利!

11.gif

今回はこのLiveTemplateの作り方を解説していきたいと思います。

1. LiveTemplateの編集画面を開く

File > Settingsから設定画面を開き、

左側のリストの Editor > LiveTemplateを選択してLiveTemplate編集画面を開きます。

2. グループの作成

右側にあるプラスアイコンをクリックしてグループを作成します。
image.png

名前を入力してOKを押します。
image.png

"UnityC#"グループが追加されました
image.png

3. Live Templateの作成

右側にあるプラスアイコンをクリックしてLive Templateを選択します。
image.png

空のLiveTemplateが作成されます。
image.png

4. LiveTemplateを編集してみる

設定すべき項目

LiveTemplateで指定する項目は主に以下の3つとなります。

  1. Abbreviation(どのようなキーボード入力で補完を行うか)
  2. Template Text(自動入力させる文字列)
  3. Context(どんなファイルで補完を行うか)

編集例: [SerializeField]

例えばAbbreviationへsfield、TemplateTextへ[SerializeField]を設定すると
image.png

コードエディタでsfieldと入力するだけで[SerializeField]が入力されます。
9.gif

Contextにはどのようなファイルで補完を行うかを設定しておきます。
image.png

デフォルトではContextが未設定になっており、
Contextが未設定の場合は自動補完が利かないので注意が必要です。

今回はContextにOtherを設定しました。

AbbreviationとTemplateTextとContextの3つを設定すれば、LiveTemplateは動くようになります。


# おまけ: Template Textで変数を使う **$**を使うことで、変数を作ることもできます。

例えば、以下のようなTemplateTextを作った場合、
image.png

$$で囲った部分をまとめて入力できます。
10.gif

カーソルのジャンプ移動はTabキーで行います。

変数エディット

定義した変数はウィンドウ右側にある"Edit Variables"から編集することができます。
image.png

変数のデフォルト値・命名規則などが設定できるようです

##例: SubjectとGet○○AsObservable()をまとめて入力できるようにしてみる
UniRxを使っていて以下のようなコードを書くことがよくありますが、LiveTemplateを使ってまとめて入力できるようにしてみます。

private Subject<Unit> _hogeSubject = new Subject<Unit>();

public IObservable<Unit> GetHogeAsObservable()
{
    return _hogeSubject;
}        
TemplateTextの中身
private Subject<$Type$> _$Name$Subject = new Subject<$Type$>();

public IObservable<$Type$> Get$Name2$AsObservable()
{
    return _$Name$Subject;
}

image.png

やっていることとしては、
・変数Typeのデフォルト値を"Unit"に
・変数Nameのデフォルト値を"name"に
・変数Name2には変数Nameの入力内容をcapitalize(最初の一文字を大文字にする)したものを反映
・変数Name2の入力はスキップする
というルールを定義しています。

11.gif


Expressionで使用できる関数の一覧は下記URLにまとまっています。 https://www.jetbrains.com/help/rider/2018.1/Edit_Template_Variables_Dialog.html#predefined_functions

便利なショートカット(Windows)

Ctrl + E, L
LiveTemplateの候補一覧を表示

Ctrl + Alt + S
設定画面を開く

#参考URL
Live Templateを使おう!
https://qiita.com/Vexus2/items/cc35757f98ef95871c5f

Live Templates
https://www.jetbrains.com/help/rider/Settings_Live_Templates.html

Creating Source Code Using Live Templates
https://www.jetbrains.com/help/rider/Templates__Applying_Templates__Creating_Source_Code_Using_Live_Templates.html

15
11
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
15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?