Slide 1

Slide 1 text

Riderのススメ ~俺はRiderここが好き~ @RyotaMurohoshi 2019/09/03(火) JetBrains .NET Meetup Tokyo 2019

Slide 2

Slide 2 text

この時間は、わたくし@RyotaMurohoshiが 「Riderこれから使いたいな」「Riderに興味あるなー」という方向けに 私の独断と偏見100%のおすすめポイントを紹介!

Slide 3

Slide 3 text

● @RyotaMurohoshi(むろほし) ● Rider : 趣味ゲーム開発 ● WebStorm : お仕事はウェブフロント ● Android Studio : 元Androidアプリ開発者

Slide 4

Slide 4 text

Riderの好きなとこ その1 〜俺たちの赤ペ●先生なとこ〜

Slide 5

Slide 5 text

問題 このコードの良くないところはどこでしょう?

Slide 6

Slide 6 text

答え monstersが空かどうかの判定に、Count()を使っている IEnumerableだから、Any()を使うべき https://qiita.com/RyotaMurohoshi/items/6f90a08f354032b6030d

Slide 7

Slide 7 text

答え

Slide 8

Slide 8 text

C#に慣れている人にはおなじみだけど 初めてC#をやる人には「わかりにくいポイント」

Slide 9

Slide 9 text

こういうハマりポイントも大丈夫! そうRiderならね!

Slide 10

Slide 10 text

デモ デモに使ったコードはこちらに公開しています https://gist.github.com/RyotaMurohoshi/8234257d864b1ea605585a81e8f6e5d8

Slide 11

Slide 11 text

こんな風に、よくないコードを より良いコードに提案・修正してくれる そんな「Rider/ReShaper」は、一部からこう呼ばれている

Slide 12

Slide 12 text

赤ぺ●先生

Slide 13

Slide 13 text

赤●ン先生、もとい「Code Inspections」は 「ここ良くないよ」「ここもっと良くなるよ」 を教えてくれる! C#だけでも1000個を余裕で超えてる! https://www.jetbrains.com/help/rider/Code_Analysis__Code_Inspections.html

Slide 14

Slide 14 text

本当にたくさんの Code Inspectionsが提供されています

Slide 15

Slide 15 text

デモ デモに使ったコードはこちらに公開しています https://gist.github.com/RyotaMurohoshi/8234257d864b1ea605585a81e8f6e5d8

Slide 16

Slide 16 text

C#的に、「こう書いた方がいいよ!」 それを正しく導いてくれる! そんなRiderが好き!!!

Slide 17

Slide 17 text

教えてくれるのは、C#だけじゃない Unityも教えてくれる、それがRider!!!

Slide 18

Slide 18 text

デモ デモに使ったコードはこちらに公開しています https://gist.github.com/RyotaMurohoshi/8234257d864b1ea605585a81e8f6e5d8

Slide 19

Slide 19 text

Unity的に、「こう書いた方がいいよ!」 それを正しく導いてくれる! そんなRiderが好き!!!

Slide 20

Slide 20 text

皆さんの同僚、チームメンバー、メンティーは Riderが教えてくれるUnity・C#の書き方を 知らないかもしれない ぜひあなたの代わりに、Unity・C#を教えてもらいましょう

Slide 21

Slide 21 text

ここ、Unity Code Inspectionの理由が書いてあるので 読むのおもしろいです! https://github.com/JetBrains/resharper-unity/wiki

Slide 22

Slide 22 text

Riderの好きなとこ その1 〜俺たちの赤ペ●先生なとこ〜 ここまで

Slide 23

Slide 23 text

Riderの好きなとこ その2 〜信頼のJetBrains IDEなとこ〜

Slide 24

Slide 24 text

基本機能・基本操作が他のJetBrains IDE と同じで、他のIDEの使い方・慣習・指の動きを そのまま使えること

Slide 25

Slide 25 text

● @RyotaMurohoshi(むろほし) ● Rider : 趣味ゲーム開発 ● WebStorm : お仕事はウェブフロント ● Android Studio : 元Androidアプリ開発者

Slide 26

Slide 26 text

実は1年前に転職をして ウェブフロントエンジニアになりました

Slide 27

Slide 27 text

それまではRiderやAndroid Studioを使っていて 1年前にはじめてWebStormを使い始めました

Slide 28

Slide 28 text

WebStormという自分にとって新しいツール だけれども、JetBrains IDEだから めちゃめちゃ手に馴染んだ!

Slide 29

Slide 29 text

● リファクタリング ● 検索 ● 移動(ナビゲーション) ● コード生成 ● コードインスペクション ● バージョン管理支援

Slide 30

Slide 30 text

コードの書き方も、 どこでも検索(Shift + Shift)も、 アクション検索(Command + Shift + A)も、 宣言元への移動(Command + B)も、 とりあえずあれ!(Alt + Enter)も コードフォーマット(Command + Alt + L)も 考える前に指に動く操作が、一緒!

Slide 31

Slide 31 text

めっちゃ手に馴染む! まるで実家のような安心感!

Slide 32

Slide 32 text

作る対象、言語、プラットフォームが変わっても JetBrains IDEの対象なら 書くための操作・読むための操作は変わらない 開発の力強い味方!

Slide 33

Slide 33 text

みなさんもそう遠くない将来 UnityでもC#でも、どちらでもないものが開発の中心 になるかもしれません

Slide 34

Slide 34 text

Javaでも、Scalaでも、Kotlinでも、Groovyでも Goでも、Rubyでも、Pythonでも、JavaScriptでも きっとJetBrains IDEが助けてくれる!

Slide 35

Slide 35 text

有料ですけれど、 その価値はあると思います!

Slide 36

Slide 36 text

複数のJetBrains IDEを使う人 あと、EAPやRCを使いたい人 ぜひJetBrains Tool Boxを!

Slide 37

Slide 37 text

そんなRider / JetBrains IDEの使い方 どうやって勉強しよう?

Slide 38

Slide 38 text

IntelliJ IDEAハンズオン ――基本操作からプロジェクト管理までマスター 山本裕介さんと今井勝信さんの IntelliJ IDEAの書籍 コードの書き方・読み方の基本操作は Riderとも共通 ライセンスについても

Slide 39

Slide 39 text

Rider Build in Tutorial

Slide 40

Slide 40 text

Rider Build in Tutorial

Slide 41

Slide 41 text

Riderの好きなとこ その2 〜信頼のJetBrains IDEなとこ〜 ここまで

Slide 42

Slide 42 text

Riderの好きなとこ その3 〜Unity開発で、超便利なとこ〜

Slide 43

Slide 43 text

コード、書く時間より読む時間の方が長いですよね そしてUnityでコード・処理の流れを追うの大変じゃないですか?

Slide 44

Slide 44 text

コンソールアプリケーションだったら、 あるメソッドは、別のメソッドから呼び出され ある型のインスタンスは、メソッド中で生成される コードを読めばだいたい処理の流れが追える

Slide 45

Slide 45 text

ゲームオブジェクトのコンポーネントとして、生成され シーン上のボタンなどのハンドラーからメソッドが呼ばれ フィールドはインスペクターから値が設定される Unityでは、コードだけじゃ処理の流れが全然追えない!

Slide 46

Slide 46 text

大丈夫、Riderなら!

Slide 47

Slide 47 text

「このコンポーネント、どこで使われるんだ?」

Slide 48

Slide 48 text

Riderなら どのシーンのどのGameObjectのコンポーネントかわかる どのディレクトリのどのPrefabのコンポーネントかわかる

Slide 49

Slide 49 text

クラス名の上「X asset usages」をクリック。 出てくるウィンドウの要素クリックで、該当のゲームオブジェクト・プレファブに

Slide 50

Slide 50 text

「このメソッド、どこで呼ばれるんだ?」

Slide 51

Slide 51 text

Riderなら どのシーンのどのイベントハンドラーから メソッドが参照されているかわかる

Slide 52

Slide 52 text

StartMoveメソッドの上「1 asset Usage」をクリック。 出てくるウィンドウの要素クリックで、該当のゲームオブジェクト・プレファブに

Slide 53

Slide 53 text

「これ、どこのインスペクターから値が設定されるんだ?」

Slide 54

Slide 54 text

Riderなら どのシーンのどのコンポーネントのインスペクターから 値が設定されているかわかる

Slide 55

Slide 55 text

フィールドの右「Changed In X assets」をクリック。 設定される値・参照と、設定箇所がわかる 出てくるウィンドウの要素クリックで、該当のゲームオブジェクト・プレファブに

Slide 56

Slide 56 text

うっかりミスをすることもある 例えば存在しないメソッド名やシーン名・タグ名を 引数に渡したり!

Slide 57

Slide 57 text

存在しないシーンや存在しないタグを引数として渡すと教えてくれる

Slide 58

Slide 58 text

Riderなら そこらへんもいい感じに教えてくれる

Slide 59

Slide 59 text

デバックとか、多分もっともっとあるけど それは次の時間のKirillさんが いろいろ教えてくれると思います!

Slide 60

Slide 60 text

Riderの好きなとこ その3 〜Unity開発で、超便利なとこ〜 ここまで

Slide 61

Slide 61 text

まとめ

Slide 62

Slide 62 text

俺はRiderここが好き!!! ● 俺たちの赤ペ●先生なとこ ● 信頼のJetBrains IDEなとこ ● Unity開発で、超便利なとこ

Slide 63

Slide 63 text

お願い

Slide 64

Slide 64 text

IDEの良い使い方、勉強するの難しいですよね ググりずらいし、言語機能とかより記事にまとめるの大変だし!

Slide 65

Slide 65 text

おねがい 年3回のアップデートがあった時、「あ、これ便利そう」 ってのがあったら、Twitterでつぶやいてシェアしませんか?

Slide 66

Slide 66 text

Twitterで「Rider」っつぶやくと けっこう高確率でKirillさんが いいね!くれます!(日本語でも!)

Slide 67

Slide 67 text

僕もB to Bの開発しているんですが、 ユーザーさんの「これ便利」ってやっぱり嬉しいと思います!

Slide 68

Slide 68 text

どんどんお気に入りの機能 シェアしていきましょう!

Slide 69

Slide 69 text

Riderのススメ ~俺はRiderここが好き~ @RyotaMurohoshi 2019/09/03(火) JetBrains .NET Meetup Tokyo 2019