Riderのススメ〜俺はRiderここが好き〜

F46c97bb74758d481531990654933050?s=47 RyotaMurohoshi
September 03, 2019

 Riderのススメ〜俺はRiderここが好き〜

2019/09/03(火) JetBrains .NET Meetup Tokyo 2019の
@RyotaMurohoshi(室星亮太)の資料です。

* 俺たちの赤ぺ●せんせいなとこ
* 信頼のJetBrains IDEなとこ
* Unity開発で、超便利なとこ

デモで使ったコードはこちら : https://gist.github.com/RyotaMurohoshi/8234257d864b1ea605585a81e8f6e5d8

F46c97bb74758d481531990654933050?s=128

RyotaMurohoshi

September 03, 2019
Tweet

Transcript

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

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

  3. • @RyotaMurohoshi(むろほし) • Rider : 趣味ゲーム開発 • WebStorm : お仕事はウェブフロント

    • Android Studio : 元Androidアプリ開発者
  4. Riderの好きなとこ その1 〜俺たちの赤ペ•先生なとこ〜

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

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

  7. 答え

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

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

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

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

  12. 赤ぺ•先生

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

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

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

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

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

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

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

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

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

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

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

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

  25. • @RyotaMurohoshi(むろほし) • Rider : 趣味ゲーム開発 • WebStorm : お仕事はウェブフロント

    • Android Studio : 元Androidアプリ開発者
  26. 実は1年前に転職をして ウェブフロントエンジニアになりました

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

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

  29. • リファクタリング • 検索 • 移動(ナビゲーション) • コード生成 • コードインスペクション

    • バージョン管理支援
  30. コードの書き方も、 どこでも検索(Shift + Shift)も、 アクション検索(Command + Shift + A)も、 宣言元への移動(Command

    + B)も、 とりあえずあれ!(Alt + Enter)も コードフォーマット(Command + Alt + L)も 考える前に指に動く操作が、一緒!
  31. めっちゃ手に馴染む! まるで実家のような安心感!

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

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

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

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

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

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

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

  39. Rider Build in Tutorial

  40. Rider Build in Tutorial

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

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

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

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

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

  46. 大丈夫、Riderなら!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  61. まとめ

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

  63. お願い

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

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

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

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

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

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