C#開発を爆速にするResharperの開発元であるJetBrainsがC#向けのIDEを開発している。その名も『Rider』だ。JetBrains製IDEのベース技術であるIntelliJ Platformで作られている。(余談だけれど、Android Studioなんかもこの技術を元にして作られたIntellij IDEAをベースにしている)
Resharperで培われたノウハウがつめ込まれているだろうからRiderには期待してもしきれない。お笑いだったらどんなネタでも滑るぐらいハードルが上がっている。
現在、JetBrainsはRiderのプロトタイプ(Rider EAP)を公開している。このRider EAPを使ってみたので紹介する。
Contents
Riderって?
おさらいしておくと、RiderはJetBrainsが開発中のC#用統合開発環境だ。Visual StudioでのC#開発をあの手この手でサポートしてくれるResharperをJetBrainsは開発しており、このRiderもその流れを受け継いでいる。
とはいえWindowsでしか使えないというわけではない。RiderはクロスプラットフォームIDEとして作られており、WindowsをはじめMacやLinuxにも対応している。あのResharperの爆速C#開発がWindows以外でも味わえるということで興奮を禁じ得ない。
Hello Rider
さっそくRiderを立ちあげてみる。初回起動時のみ、このようなキーバインドを選択させられる。それぞれ大変役立つ機能だけれど、Riderの便利機能はこれだけではない。もちろん後でキーバインドを変更できる。
キーバインドを選び他の設定を進めていくと、プロジェクトの立ちあげ方法の選択画面に入った。ご覧のとおりGitをはじめとする多くのバージョン管理システムからソースを落とせるようになっている。
usingの自動追加
Riderの便利機能は基本的にResharperを受け継いでいる。usingを自動で追加してくれる機能もそうだ。この機能があれば、「あれ?あのクラスってどの名前空間だったっけ?」みたいなことが無くなる。
Find Usages
クラスやメソッド・プロパティなどが使用されている箇所を洗い出してくれる機能がFind Usagesだ。リファクタリングで役立つのはもちろん、普段の開発でも大いに力になる。
Go To Everything
プロジェクトの規模がある程度大きくなると「あのクラスどこだったっけか〜?」となってしまう。人間の脳の限界である。Go To Everythingという機能を使えば、クラスはもちろんファイルや定数・Enumのメンバーに至るまで、文字通り『すべて』にジャンプできる。
Go To Declaration
これは名前の通り定義にジャンプする機能だ。メソッドやプロパティなどの定義元にジャンプできる。試しに、PersonというクラスのAgeの定義を見てみよう。
定義が手元にない場合でも、Riderはデコンパイラを積んでいるので、定義が存在するアセンブリを解析して表示してくれる。サラっと書いてしまうと何のことはないけれど、これが結構役に立つんだな。
継承に関する機能
Riderは継承にもバッチリ対応している。あるクラスがAbstractクラスやInterfaceを継承した時、継承しきれていないメンバーを自動で作成してくれる機能や、継承元・継承先にジャンプする機能を取り揃えている。今、継承元クラスとしてSuperPerson、継承先クラスとしてPersonを考えると、このような動きになる。
所感 RiderはResharperだ。
Riderを触ってみて、これはクロスプラットフォームのResharperだと感じた。最も役立つVisual Studio拡張機能であるResharperがMacでもLinuxでも使えるようになるわけだ。このところのMicrosoftのオープン戦略によってWindows以外でも普通にC#開発が為されるようになってきたけれど、Riderが正式に世に出ればそれが更に加速するんだろう。Riderから目が離せない。
C#のロングセラー学習書
C#以外の言語でも役に立つ名著