微軟想把 VS 的一些編輯功能在 VS Code 上實作[連結], Unity 也在幾天前推出了基於 C# Dev Kit 的插件[連結],因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。
我還是更支持 VSCode 保持輕量化,以目前的體驗下來有點令人失望......
!!非常重要!!
如同開發人員在論壇所說[連結],並沒有專門維護 VS Code Editor Package 的人力,這可能會讓在 VS Code 開發的工程師遇到無法修正的 bug(雖然目前沒遇過),於是在 C# Dev Kit 推出後 Unity 也開發了相應的插件。
新的 Unity Extension 要將 Visual Studio Package 更新至最新版才能使用。會生成新的 csproj,但這意味著整個團隊不能同時存在 OmniSharp 以及 Roslyn Analyzers 的使用者。
所以針對下面的教學設置會有兩種分歧:
2.0.14 older
2.0.20 newer
為舊版的 Language Server,在 C# Extension 2.0 後效能變差、且不是預設選項。
照理說這個插件在你開 Unity 腳本時就會推薦你安裝,但在自動更新為 2.x 版本後會造成 OmniSharp 被停用、效能下降的問題,所以要安裝回舊版本。
注意,C# Dev Kit、Unity Extension 會與舊版本的 C# Extension 衝突,需要解除安裝。
回 Unity ,選單 Edit → Preferences → External Tools
之後重新啟動 VS Code 就能回到更新前的樣子了。
開啟設定(Command: >preferences open settings
)
雖然能變回原本的模式,但不知道為何目前用這個方法在較大的專案會讓 OmniSharp 變得很卡,查找參考、Auto Complete 有時會故障甚至無法使用。
基於 C# Dev Kit 的新插件,可以讓 VS Code 有 VS 的體驗,包括 AI Coding、Coding Optimize Suggestion 等功能。
確認 C# Extension 版本(2.x.x newer
)
接著安裝 Unity Extension
還有 C# Dev Kit
回 Unity ,選單 Edit → Preferences → External Tools
重新開啟 VS Code 後,基本上就能開始使用了。
因為 Unity for Debugger 的相關插件已經年久失修,如果有 Debug 而且使用新版插件的開發者,要重新設定 Launch Setting(.vscode\launch.json
)
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to Unity",
"type": "vstuc",
"request": "attach",
}
]
}
Unity 有意維護 VS Code 使用體驗是好事,但以目前三、四天(2023.08.06)的使用下來,只能說是一場災難。
還有微軟有點硬要餵 AI Coding 給開發者吃 然後收錢 的嘴臉不是很讓人滿意就是了。