更新於 2023/08/06閱讀時間約 4 分鐘

[23.08.05 緊急] Unity VS Code Extension

前情提要

微軟想把 VS 的一些編輯功能在 VS Code 上實作[連結], Unity 也在幾天前推出了基於 C# Dev Kit 的插件[連結],因為新舊版本並不相容,這邊說明兩種(OmniSharp、Roslyn Analyzers)開發環境設置。

我還是更支持 VSCode 保持輕量化,以目前的體驗下來有點令人失望......

Unity Package

!!非常重要!!

如同開發人員在論壇所說[連結],並沒有專門維護 VS Code Editor Package 的人力,這可能會讓在 VS Code 開發的工程師遇到無法修正的 bug(雖然目前沒遇過),於是在 C# Dev Kit 推出後 Unity 也開發了相應的插件。

新的 Unity Extension 要將 Visual Studio Package 更新至最新版才能使用。會生成新的 csproj,但這意味著整個團隊不能同時存在 OmniSharp 以及 Roslyn Analyzers 的使用者

新版本為 2.0.20 up

所以針對下面的教學設置會有兩種分歧:

  • OmniSharp(舊版) --> 2.0.14 older
  • Roslyn Analyzers(C# Dev Kit) --> 2.0.20 newer

修復 OmniSharp

為舊版的 Language Server,在 C# Extension 2.0 後效能變差、且不是預設選項。

安裝

照理說這個插件在你開 Unity 腳本時就會推薦你安裝,但在自動更新為 2.x 版本後會造成 OmniSharp 被停用、效能下降的問題,所以要安裝回舊版本。

注意,C# Dev Kit、Unity Extension 會與舊版本的 C# Extension 衝突,需要解除安裝。

預設應該是安裝好的狀態,沒有安裝的話要先安裝才能選擇其他版本

選擇 2.x 以前的版本

回 Unity ,選單 Edit → Preferences → External Tools

之後重新啟動 VS Code 就能回到更新前的樣子了。


不安裝舊版本的方法

開啟設定(Command: >preferences open settings

搜尋 OmniSharp,並確認這兩個選項有勾選

雖然能變回原本的模式,但不知道為何目前用這個方法在較大的專案會讓 OmniSharp 變得很卡,查找參考、Auto Complete 有時會故障甚至無法使用。


Roslyn Analyzers(Unity Extension)

基於 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 後,基本上就能開始使用了。

Debugger

因為 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 給開發者吃 然後收錢 的嘴臉不是很讓人滿意就是了。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.