1. Install JetBrains Rider
安裝時會先選擇 UI Theme、Color Scheme、Keymap 組
2. Unity External Tools
Unity => Preference => External Tools
將 External Script Editor 指到 Rider
3. Unity File Templates
右鍵選單中有幾個 Unity 專用的預設 Templates
MonoBehaviour、ScriptableObject、StateMachineBehaviour
4. Namespace
Namespace 預設會開始依照資料夾階層來設定的層級是在 Assets 資料夾下 2 層
Assets/Folder/AAA/BBB
=> namespace AAA.BBB
如果要調整到第一層 Assets/AAA/BBB
對目標資料夾按右鍵將 Namespace provider 打勾,之後新增的 Script 就會帶上正確的 namespace
5. Find Usages
Usages 是 Rider 強大的功能之一
除了可以跳轉到程式碼,還可以直接找出在 Unity 中所有有 Reference 到這個 Behaviour 的地方
包含 Scene 和 Prefab,十分 OP
6. Code Vision
在 class 或 function 上預設會有一排 Code Vision 可以點擊
支援很多好用的功能,不過在寫 Code 時其實並不太想看到它
點擊 ...More
後可以將單一選項關閉
我是直接跳到 Code Vision 把整個功能關閉
7. Typo Detection
Rider 預設還會貼心地幫你找拼錯字的地方
如果是專案中特殊的關鍵字,或是刻意要拼字的話
可以把這個關鍵字加入字典中,就不會一直看到綠色波浪底線了
8. Error Detection
若是有 Compile Errors 的部分
Rider 會將檔案以紅色波浪底線標示
所使用到的相關程式也會以紅色粗體標示 (視使用的 Color Scheme 而定)
9. Unity Serialized Field Naming
Serialized Field 的命名部分,預設是沒有前綴字的
如果專案中的 Coding Style 有需要
他藏在 Languages & Frameworks => UnityEngine
裡面
可以看到目前針對 Unity 的相關設定其實並不多
10. Terminal
習慣使用 command line 操作 git 的朋友
在 Rider 下直接內建 Terminal,還有多分頁功能
好處是如果開了很多 Terminal 分頁,就不用再去檢查到底是不是正確的專案
11. Version Control
除了使用內建的 Terminal 進行比較複雜的 git 操作之外
Rider 連 Version Control 都有
意思就是不想讓你開其他有的沒的,iTerm、SourceTree 通通不用開
12. Shortcut
快速鍵的部份每個人的習慣不同,以下是我有改的部分:
Find Usages:F4
Close:⌘ + W
Move Caret to Page Top:⌘ + Up
Move Caret to Page Down:⌘ + Down
12. Code Style
Coding Style 的部分有支援目前跨最多編輯器的 EditorConfig
細項設定除了可以設定到很細之外
還提供了不符合 Style 時是否要跳提示,甚至要設成 Strict Mode 出現 Error 也行
13. Reformat Code on Save (Macros)
Visual Studio 有個很好用的功能是
在儲存時會自動格式化檔案
Rider 雖然沒有內建這個選項,但是可以透過簡單錄製巨集的方式完成
Edit => Macros => Start Macro Recording
接著你可以看看你錄製的巨集指令是不是你要的
Edit => Macros => Edit Macro
ReformatCode
OptimizeImports
SaveDocument
最後要設快速鍵取代原本的儲存
14. Renaming MonoBehaviour
最後要講一下他 Refactoring 中的 Renaming 功能
之前使用各種編輯器,包含 Visual Studio
只要將 MonoBehaviour 或 SerializedField 重新命名
都會掉 Reference,或是 GUID 對不上
有了 Rider,直接爽爽的 Rename 下去一點事也沒有!
目前從 Visual Studio 跳到 Rider 三大有感
- 速度快
- Find Unity Usages
- Renaming MonoBehaviour or SerializedField