[23.08.05 緊急] Unity VS Code Extension

更新於 發佈於 閱讀時間約 4 分鐘

前情提要

微軟想把 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

新版本為 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 後效能變差、且不是預設選項。

安裝

raw-image

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

注意,C# Dev Kit、Unity Extension 會與舊版本的 C# Extension 衝突,需要解除安裝。
預設應該是安裝好的狀態,沒有安裝的話要先安裝才能選擇其他版本

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

選擇 2.x 以前的版本

選擇 2.x 以前的版本

回 Unity ,選單 Edit → Preferences → External Tools

raw-image

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


不安裝舊版本的方法

開啟設定(Command: >preferences open settings

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

搜尋 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

raw-image

接著安裝 Unity Extension

raw-image

還有 C# Dev Kit

raw-image


回 Unity ,選單 Edit → Preferences → External Tools

raw-image

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

avatar-img
6會員
10內容數
只要10分鐘!
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
#Jaku的沙龍 的其他內容
深入探討一些程式碼撰寫的習慣
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
C# 9.0 給 Unity 程式設計上帶來的便利
如何使用Game CI 提供的Github Action 將建置專案自動化
UnityEvent 簡單介紹。
深入探討一些程式碼撰寫的習慣
紀錄如何讓簡單的 Property 在 Inspector 內顯示。
每個專案開發,都是由多個工程師來完成,就算只有一個人,隨著專案增量,你便會與過去的你面對面,這時候程式碼的可讀性高低就會成為左右你開發效率的一塊石頭,這篇就來說說幾個程式碼管理的小撇步
C# 9.0 給 Unity 程式設計上帶來的便利
如何使用Game CI 提供的Github Action 將建置專案自動化
UnityEvent 簡單介紹。
你可能也想看
Google News 追蹤
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
首先要安裝vscode : Visual Studio Code - Code Editing. Redefined 安裝後我們就可以把她打開來,接著去檔案 -> 喜好設定 -> 設定檔(預設) -> 你就會看到設定裡面的 settings.json,就可以開始你的設定拉(主要是依照個人的喜好設定
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
在學習C#之前,必須先建立開發環境,例如安裝Visual Studio或其他IDE,並且建立第一個C#專案。可以在Visual Studio中或使用dotnet CLI來建立各種類型的專案。
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
本文介紹了在升級.NET專案時使用.NET Upgrade Assistant的方法,詳細說明瞭如何下載、安裝並使用此工具來實現跨版本升級,並提供了升版過程中的注意事項。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
提問的內容越是清晰,強者、聰明人越能在短時間內做判斷、給出精準的建議,他們會對你產生「好印象」,認定你是「積極」的人,有機會、好人脈會不自覺地想引薦給你
首先要安裝vscode : Visual Studio Code - Code Editing. Redefined 安裝後我們就可以把她打開來,接著去檔案 -> 喜好設定 -> 設定檔(預設) -> 你就會看到設定裡面的 settings.json,就可以開始你的設定拉(主要是依照個人的喜好設定
Thumbnail
理解一個全新的操作環境有時候可能是一個挑戰,尤其對於那些剛開始接觸VS Code的開發者來說,即便具備一定的英文閱讀能力,可能也會對這個陌生的操作環境感到徬徨和不安。不過,沒有必要擔心,我們接下來就來一起用短短的一分鐘時間,將VS Code轉換成最熟悉的中文環境吧! 安裝繁體中文語言包 由於VS
Thumbnail
本章講述了C#開發中的程序集,命名空間和 NuGet 包管理器。程序集是 .NET 應用的基礎,命名空間用於組織和預防命名衝突,而 NuGet 用於管理 .NET 的外部庫和依賴項。
Thumbnail
在學習C#之前,必須先建立開發環境,例如安裝Visual Studio或其他IDE,並且建立第一個C#專案。可以在Visual Studio中或使用dotnet CLI來建立各種類型的專案。
Thumbnail
完成了Debug.log()的測試,接著還是要跟各位簡單講一下C#的一些規則,之後看程式會(比較)看得懂。 又講到變數? 在Unity中,變數是重要的工具,用來儲存和管理資料。讓開發者能夠靈活調整遊戲的行為和性能,減少代碼的重複性,使得遊戲開發更加高效和簡潔。透過使用變數,開發者可以輕鬆修改資料
Thumbnail
本文介紹了在升級.NET專案時使用.NET Upgrade Assistant的方法,詳細說明瞭如何下載、安裝並使用此工具來實現跨版本升級,並提供了升版過程中的注意事項。
Thumbnail
VS code是什麼? Visual Studio Code(通常縮寫為VS Code)是微軟開發的一款免費且開源的跨平台文本編輯器。它支持廣泛的編程語言,提供了一系列先進功能和插件,讓開發者能更有效率地進行代碼編寫。VS Code擁有優秀的代碼自動完成、錯誤偵測、內建的版本控制系統等特性。
Thumbnail
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。