使用Rider做的編寫Unity代碼的IDE,記錄一些與VS不相同的筆記
安裝和設置方法:
我使用Rider 2019.1 + Unity3D 2018.3.4,在安裝完Rider之后,在Unity中選擇Rider做為腳本編輯器,然后在Unity中雙擊代碼就可以跳轉到Rider中,Rider會自動在Unity工程中導入調試的dll。
更新於2020-4-21 ,使用Rider 2019.2 + Unity3D 2019.3.7f1 無需再導入調試dll到Unity中,需要在Rider中取消勾選自動導入(具體選項名字在Unity中會以日志輸出)
Rider的使用筆記
-
從進程中來看,Rider中包含了一個Resharper
-
轉到定義快捷為Ctrl +B
-
文件會自動保存,這樣在寫完代碼后,Unity就會自動編譯,可以在設置中禁用自動保存
-
禁用拼寫檢查 搜索 Typo
-
可以為不同語言禁用 ReSpeller
Rider編寫純C#程序時,要先Build,再執行 run/debug。
關於Rider和Resharper的關系可查看中的Rider部分:https://github.com/JetBrains/resharper-unity
Rider禁用自動保存
rider默認會開啟自動保存功能,如果想關閉它的話,就把這2個地方點掉。
打開Systemsetting - Synchronize
Synchronize files on frame or editor tab activation -> 編輯時自動保存
Save files on frame deactivation -> 切換到其它窗口自動保存
對比的軟件版本
在windows系統下比較
VS 2017企業版/專業版
Rider 2019.1/2019.2
IDEA 2018.4
Rider比VS的優點
- 調試Unity更加方便,在我使用Unity 2018.4.7+vs2017 專業版/企業版,經常出現無法斷點的問題,尤其對於使用partial關鍵詞的文件(一個類拆分在多個文件中)
- 安裝包沒有VS大,Rider2019.1約500MB,而VS2017接近20GB。
- 對於習慣使用Resharper來說,Rider的快捷鍵和使用體驗是一致的,文件跳轉和查找引用更加方便。
- 個人感覺Rider相對沒有VS那么卡頓
Rider對於Unity的支持介紹:https://www.jetbrains.com/zh-cn/dotnet/promo/unity/
Rider和IDEA的區別
之前使用過兩年的IDEA編寫Lua,記錄下Rider與IDEA的區別(這兩款編輯器都出自同一家公司)
-
折疊代碼塊的插件,似乎IDEA更好用
-
對於一個超級大的文件,里面有N個Class,在查找時無法在某個Class范圍內搜索
Rider的自定義
修改每行字符的長度
使用情景:當使用快捷鍵格式化代碼時,如果一行代碼的長度(字符個數)太多,編輯器會自動換行。同時在編輯器的右側會有一條堅立分隔線,超過這條線的在格式化時會自動換行
修改方法:Settings - Editor - Code Style - C#(可以換成其它語言) - Line Break and Wrapping - Hard wrap at 修改這個值就可以(默認是120可以修改成180,在1920x1280的分辨率下180會比滿屏一行長一些)。從字段的描述來看,它是超過X個字符就會換行。
避免每次修改代碼都進行編譯
遇到問題:每當在Rider中按下Ctrl+S保存代碼時,就會感覺Rider卡卡的,因為此時Rider正在和Unity同步,讓Unity編譯代碼
修改方法: Settings - Languages&Frameworks - Unity Engine - 取消勾選 Automatically refresh assets in Unity
Rider和ILRuntime集成
Rider 生成dll 方法,點擊 Build - Build Solution 就可以生成出dll
在Project中切換到Solution視圖,右鍵熱更新project - Properties,修改編譯事件,和VS的編譯選項類似
用Rider調試ILRuntime目前還沒有好方法,ILRuntime官方只提供了VS的擴展插件,需要社區開發Rider調試插件
Rider常見提示
第一次用Rider打開項目時會提示
rider detects naming conventions in opend soultions and updates setting accordingly
其它
漢化包:Rider 2019.2 漢化包
Rider插件平台:https://plugins.jetbrains.com/rider
使用Rider開發.Net程序,比如web項目或者前端項目:https://www.cnblogs.com/Leo_wl/p/8467901.html