Riderのおすすめ初期設定(個人的な
UnityをMacでVisualStudioCodeで開発した上でのストレスポイントとして
- デバッグがまともに動かない時がある
- インテリセンス機能が使えない時がある
がありました。 (その度に再起動、もしくは .sln, .proj などのVisualStudioファイルの削除をして強制リフレッシュ)
利点としては軽量で高速にタイピングができることはかなりのストレスフリーでした。
最近Riderに乗り換えたのですが、補完機能やアナライズ機能によってタイピングが詰まるタイミングがあったりもっさりすることがありかなりのストレスを受けてます。
そこでいくつか設定を変更(いらない機能を削除)して軽量化を目指しました。 そのメモ📝
(Rider 2021.1 の内容です)
1. ヒント機能を消す
画像に表示されている - 割り当てようとしている型名 - メソッドの引数名
などを表示してくれる機能。正直いらないのと、タイピングするときに急に現れて慣れないので非表示にします
Preference > Inlay Hints > General
Default visibility を Never Show にして要らないチェックも外す
Generalで Never Show にすると C# 以下のHintも全て Never Show になります(何も触ってなければ
これで消えました。
2. アナライズ機能をいくつかOFF
Editor > Inspection Settings の Enable code analysis でまとめてOFF似できますが、こうするとコード上のハイライトも消えてしまうので使いにくくなります。
OFF にしていいかなと思う機能
- Highlight context exits
return、throwをクリックすると、メソッド内にある全てのreturn, throwと 戻り地の箇所がグレイのマーカーで塗りつぶされる。
今まで無くても問題を感じなかったのでOFF
- 「変数名の命名規則が違うよ」警告抑制
Launguages & Framewordks > Unity Engine の C# にある Enable inspection を OFF
ここでチーム全体で「特定の命名規則に乗っ取らせる場合」は Prefix と Suffix にルールを設けると良さそうです。
命名規則について間違っていたら警告を出してくれる機能ですがOFFにしちゃいます
- Editor > Cod Style > C# Naming > Use auto-detected values
現在のプロジェクトを解析して自動的に”命名規則ルール”を調整してくれる機能のOn/Off。
上記の inconsistant Naming をOffにするのでいらなくなるのでこちらもOFF
- Editor > Inspection Settings > Inspection Severity > C# > Constraints Violations > Namespace does not correspond to file location
namespace が ディレクトリ階層と違う場合警告してくれる機能ですが、違うプロジェクトが多いんじゃないかと思うのでOFF(自分もそう
こっから↓は Editor > Typing Assistance 内
その名の通り、Riderさんはタイピングアシストをしてくれるのですが、自分にとっては過剰すぎると感じてしまいます
慣れの問題といえばそのとおりだと思いますが、やはりOFFにしたいと感じたものはOFF。
公式ページを見るとわかりやすいです
Typing Assistance | JetBrains Rider
- Auto-format on semicolon
セミコロンを自動で打ったあと自動でフォーマット
- Auto-format on closing brace
カッコを閉じたときに自動でフォーマット
Braces and Parentheses 項目
- Surround selection on typing a quote, brace or parenthesis
カッコ入力時、選択中のテキストを自動で囲んでくれる機能。
AAA という文字を選択した状態で " を打つと "AAA" になる。これは好みでON/OFF項目
- Auto-insert pair brackets, parentheses and quotes
メソッド呼び出し処理で ( や { を打ったときに ) や } を自動で打ってくれる機能。有り難いけど癖で閉じカッコも打っちゃうので毎回消す羽目になるのでOFFにしたい
こっから↓は Inspection Settings > inspection Serverity > C# 内
- Acceess to a static member of a type via a derved type
継承先を介してstaticメンバにアクセスしてたら警告
- Field can be made readonly
変数に Readonlyつけれるよと教えてくれる
個人的には readonly をつけまくるのはやりすぎじゃないかと思うのでOFF
3. Unity の自動リフレッシュ機能OFF
コード保存する度にUnityの更新がかかる機能をOFF
Launguages & Framework > Unity Engine にある Automatically refresh assets in Unity をOFF
4.プラグインを切る
いくつかデフォルトでONになっているプラグインを切っちゃいます。
とくにバックグラウンドで動いてそうなもの。
Plugins の中の
- Performance Testing
- Dynamic Program Analysis
- Machine Learning Code Completion (怪しい
波線だらけになっていたコードがスッキリしました。
あくまで個人的な設定であり「それはONだろう」と思うところもあると思います。
そこは各々調整してもらえると良いかなと
個人的には命名規則や未使用変数等の警告増加などはIDEに教えてもらうのではなく、プルリク出したときに静的解析ツールに通すのと警告増加してないかテストする機能を入れるほうが良いと思いました。
過剰に警告やサジェスチョン、ヒントだらけになり可読性の低下、タイピングの重さにつながることでストレス貯めるよりかはある程度スッキリさせてあとはプルリクで解析ツールに任せたいです。
これからもRiderを使っていく中で気になった機能のOn/Off設定は追記していきます