この記事でのバージョン
JetBrains Rider 2020.3.4
はじめに
UnityのエディタはMonoDevelopのサポートが終わって以来、
おそらくVisual Studioを使うのが一般的ですが、
自分はJetBrains(会社名)のRiderというエディタを使っています。
Riderは色々と機能が豊富で開発効率が段違いになるので、
今ではRider無しでは開発が考えられないぐらいです。
そして今回はそのRiderの自分が思う利点や便利機能についてまとめた記事です!
なお、導入については以下の記事をご参照の事。
ちなみにRiderは基本的に有料ですがお試し期間もあるので、とりあえず試してみる事をオススメします。
(実際に使ってみないと便利さというのは分かりづらいので)
目次
- はじめに
- 目次
- C#ファイルやディレクトリの作成、移動、削除(同時にmetaファイルも)
- スクリプトのテンプレが作れる File Templates
- 強力な予測と補完
- 名前空間の参照(using)の自動設定
- 参照元も含めた一括リネーム(名前の変更)
- よく使うプログラムのショートカットLive Templates(コードスニペット)
- プログラムのヒント表示&自動修正をするコードヒント
- LINQを使った簡潔なコードへの自動変換
- switchの各項目(ラベル)の自動追加
- タイプミスの指摘と自動修正
- interface等の不足しているメンバの自動追加
- ファイル、クラス、メソッド、シンボル等の何でも検索
- 全文検索
- 現在開いてるファイルの選択
- シーン上やPrefabなども含めたスクリプトの使用場所検索
- クラスやメソッド等の宣言先に飛ぶ(必要なら逆コンパイルも)
- varの実際の型や引数等の補助表示
- TODOの設定、一覧表示
- ブレークポイントに条件や依存先を設定
- 別PC、異なるOS間での設定の同期
- Git対応
- シェーダーのサポート
- プラグイン
C#ファイルやディレクトリの作成、移動、削除(同時にmetaファイルも)
アプリ上でC#ファイルやディレクトリの作成、移動、削除をする事が可能ですが、
この時、各アセットの設定やアセット同士の関係を記録している
metaファイルも同時に作成、移動、削除されます。
つまりシーン上のオブジェクトやPrefabにスクリプトをAddしていても
参照が外れない(Unity上で操作しているのと変わらない)という事になります。
また、Unityに戻るまではUnity上でのコンパイルも発生しないため無駄な待ち時間も減ります。
スクリプトのテンプレが作れる File Templates
File Templatesというファイルのテンプレートを作る機能があります。
しかもだた定型文のファイルを作るだけではなく、生成時にある程度内容を変更出来るので、
より効率的にC#スクリプトファイルの作成が出来ます。
強力な予測と補完
コーディングを補助する協力な予測と補完が付いています。
例えばStartやUpdate、OnCollisionEnterといったUnity(MonoBehaviour)特有のメソッドはもちろん
既にある変数のGetterの実装やプロパティへの変換、
メソッドのoverirde、
型には合わせた変数名や初期値の予測など、
様々な場面で痒いところに手が届くという感じになっています。
名前空間の参照(using)の自動設定
名前空間の参照(using)を自動で追加してくれます。
例えばListを使おうとしたらSystem.Collections.Genericを追加、
Imageを使おうとしたらUnityEngine.UIを追加という感じです。
自動で追加されるという事は、そもそもusingを追加してなくても
使える物は常に候補に出てくるという事なので、かなりコーディングの効率が上がります。
参照元も含めた一括リネーム(名前の変更)
変数名やクラス名のリネームをCtrl + Rも簡単に行えますが、ただ変えるだけでなく、
その変数やクラスを使ってる所(クラス外でも)もしっかりリネームされますし、
クラス名を変えるとファイル名(もちろんmetaファイルも)も変わるため、
基本的にはエラー等を出さず気楽にリネームが行えます。
よく使うプログラムのショートカットLive Templates(コードスニペット)
よく使うプログラムをショートカットとして保存して
ある程度動的に内容を変更しながら使えるLive Templatesという機能があります。
プログラムのヒント表示&自動修正をするコードヒント
使ってない変数を強調表示したり、
名前空間の参照(using)が足りない場合やCompareTagを使わないタグの比較など、
問題がある場合に横に電球マークを表示して教えてくれます。
しかも、Alt + Enterを押すだけでそれらの自動修正までする事が出来ます。
このコードヒントには色々な物がありますが、
次項からその中でもよく使う物を紹介したいと思います。
LINQを使った簡潔なコードへの自動変換
現状よりもLINQを使った簡潔なコードへ変換出来る際にコードヒントが出る事もあります。
何となくで書いて良い感じのLINQにしてもらうという事も出来ますし、
こういう書き方が出来るのかと勉強にもなりますが、
無理に1行にして可読性が落ちる場合もあるので注意が必要です。
switchの各項目(ラベル)の自動追加
switchを使う際には各項目(ラベル)の自動追加をするコードヒントが出るので、
簡単に全ての項目を列挙する事が出来ます。
タイプミスの指摘と自動修正
変数名やメソッド名などでタイプミスをしている時にもコードヒントが使えます。
もちろんその変数やメソッドを使用している箇所も同時に変わるので、気軽にタイポが直せます。
interface等の不足しているメンバの自動追加
interfaceを実装する時などに実装必須なメンバが足りない時にもコードヒントが使えます。
特にinterfaceが自前で無く、必要な物がパッと分からない時に役に立ちます。
ファイル、クラス、メソッド、シンボル等の何でも検索
Shiftを2回連続で押すと検索ウィンドウが開き、ファイル、クラス、メソッド、シンボル等の
プログラムに関する事ならだいたい何でも検索出来ますし、
入力中に候補も予測してくれるので検索の効率が格段に上がります。
全文検索
Ctrl + Shift + fで全文検索が可能です。
コメント等を元に検索を行いたい場合に便利です。
現在開いてるファイルの選択
個人的に地味に便利だと思っているのが現在開いてるファイルがExploerで選択される機能です。
検索でファイルを開いた時等にも選択されるので、
その周辺のファイルも確認したい時や、同じフォルダにスクリプトを作成したい時等にも使えます。
シーン上やPrefabなども含めたスクリプトの使用場所検索
Ctrl + bを押す事で、指定したクラスやメソッド等がどこで使われているかを検索する事が出来ます。
しかもPrefabやシーン上のオブジェクトにAddされている物まで検索が可能です。
クラスやメソッド等の宣言先に飛ぶ(必要なら逆コンパイルも)
Ctrlを押しながらクリックする事で指定しクラスやメソッド等の宣言先を開く事が出来ますが、
この時Unity独自のコード等であっても逆コンパイルし、中身を見ることもできます。
varの実際の型や引数等の補助表示
varが実際何の型なのかや、引数で何を指定しているかの表示するが出来ます。
ちなみに、右辺でnewしているなどの明らかに型が分かる場合等には表示されないので、
必要な時に必要なだけ表示される感じになっています。
TODOの設定、一覧表示
TODOやBUGと記載したコメントは普通のコメントとは別の色で表示され、
後から一覧で確認する事が出来ます。
ブレークポイントに条件や依存先を設定
指定した行に来たら処理を停止するいわゆる普通のブレークポイントだけでなく、
一定の条件の時にしか止まらない物や他のブレークポイントに依存する物も簡単に設定できます。
別PC、異なるOS間での設定の同期
Riderの設定を違うPCと同期(同じに)する機能があり、
MacやWindowsといった異なるOS間で同期する事も可能です。
Git対応
アプリ上で諸々のGit操作をする事が可能です。
シェーダーのサポート
シェーダー(.shaderファイル)のサポートもしているので、
C#とエディタを変えずに実装する事が出来ます。
プラグイン
Riderにはコード内の英語を翻訳する物(SDK等の自前じゃないコードを読む時に便利)や、
対応する括弧同士を同じ色にする物など、
色々な無料のプラグインが提供されており、拡張していく事でさらに便利になります。