VS?Code里使用Debugger?for?Unity插件調(diào)試的方法(2023最新版)
問題
換了臺開發(fā)機(jī),重新安裝了下開發(fā)環(huán)境。突然發(fā)現(xiàn)Visual Studio Code無法用來調(diào)試Unity了。
明明流程都是按照Unity官方教程2023.1進(jìn)行的,可在創(chuàng)建Launch.json文件時(shí),死活出不來Unity Debugger選項(xiàng)。
說明:Debugger for Unity是一個(gè)非正式支持的,官方推薦的,應(yīng)用最廣的,Visual Studio Code上的Unity調(diào)試插件。如果還沒有配置Unity Debugger可以直接看官方文檔 | Debugger for Unity - Visual Studio Marketplace進(jìn)行配置。本文視作在官方文檔上的補(bǔ)充,解決按照官方文檔操作卻無法添加調(diào)試器的問題。
原本預(yù)期的步驟是:
結(jié)果出現(xiàn)的步驟是:
環(huán)境
Unity Version: 2021.3.16f1
VS Code Version: 1.74.2
Version of the Debugger for Unity: 3.0.2
- Version of C#:v1.25.1(如果你的版本也是v1.21.13+,那你很可能是遇到和我一樣的問題了)
問題定位
點(diǎn)開Visual Studio Code插件倉庫,打開Debugger for Unity,看到這個(gè)插件上次更新已經(jīng)是2020年的事情了,而且界面上明確寫著:此擴(kuò)展已啟用,因?yàn)椴辉趯ζ溥M(jìn)行維護(hù)。
再點(diǎn)開插件的github地址,在Issues里遇到了一堆的受害者。
這個(gè)倉庫棄用了嗎?距離上次更新都十個(gè)月了,這個(gè)插件最新版的unity還能用嗎?
不能發(fā)個(gè)官方的聲明嗎說明一下這個(gè)插件的情況嗎?他都壞掉了……
現(xiàn)在都2022年底了,還是沒看到官方通知。官方Unity文檔里仍然說它被推薦。
團(tuán)隊(duì)的回答也很直接:
簡單來說,我們很忙,沒錢沒人來維護(hù)這個(gè)項(xiàng)目。我們建議你換個(gè)IDE(不要用VS Code了),比如用Visual Studio Community。或者JetBrains Rider也行。
好吧,這個(gè)就是官方的態(tài)度,不要用了。
即使2023年他們?nèi)园裋isual Studio Code和這個(gè)插件放在最新文檔里,但是正如文檔里所說,這個(gè)Debugger for Unity拓展插件并沒有被正式支持(Not Ffficially supported by Unity)。
說的還是太委婉了,直接點(diǎn)說:這個(gè)拓展插件我們不維護(hù)了,愛用不用。
甭管別的博客里有多推薦,不推薦了就是官方的態(tài)度。
解決方案
要么就聽官方爸爸的,開發(fā)的時(shí)候用Visual Studio Code,調(diào)試的時(shí)候用Visual Studio得了……
要么我就想湊合用能不能行?
能!
如何在新的Visual Studio Code+Unity環(huán)境里使用Debugger for Unity進(jìn)行調(diào)試
之所以你創(chuàng)建不了Unity Debugger,是因?yàn)镃#插件在v1.21.13后,把標(biāo)識符從ms-vscode改成了ms-dotnettools了,Unity Debugger又沒有更新,所以找不到。
兩個(gè)方案:
方案1.降級(不推薦)
找到c#插件,通過手動安裝C# v1.21.12.vsix 或 自動降級的方式把C#版本回退到1.21.13以前
方案2.躲bug生成Launch.json(推薦)
說來說去,只是因?yàn)镃#插件升級后,Debugger for Unity識別不到C#文件導(dǎo)致無法生成調(diào)試的配置文件罷了。那么我們不在C#文件中去生成不就好了?
No environment to choose · Issue #202 · Unity-Technologies/vscode-unity-debug (github.com)
- 隨便創(chuàng)建一個(gè)txt文件,如:test.txt
- 點(diǎn)擊這個(gè)text.txt文件后,進(jìn)入調(diào)試頁簽,如圖:
- 點(diǎn)擊小齒輪就可以看到Unity Debugger啦,點(diǎn)擊它后就生成了能用的Launch.json,如圖:
方案3.手動配置Launch.json
先隨便生成一個(gè)Launch.json(如果已經(jīng)有了,跳過這一步)
再替換這個(gè)json的內(nèi)容(或者手動合并json)
launch.json
{ // 使用 IntelliSense 了解相關(guān)屬性。 // 懸停以查看現(xiàn)有屬性的描述。 // 欲了解更多信息,請?jiān)L問: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Unity Editor", "type": "unity", "path": "/d:/workspace/unity/learn/CSharpLearn/Library/EditorInstance.json", "request": "launch" }, { "name": "Windows Player", "type": "unity", "request": "launch" }, { "name": "OSX Player", "type": "unity", "request": "launch" }, { "name": "Linux Player", "type": "unity", "request": "launch" }, { "name": "iOS Player", "type": "unity", "request": "launch" }, { "name": "Android Player", "type": "unity", "request": "launch" }, { "name": "Xbox One Player", "type": "unity", "request": "launch" }, { "name": "PS4 Player", "type": "unity", "request": "launch" }, { "name": "SwitchPlayer", "type": "unity", "request": "launch" } ] }
大功告成,終于又可以用Visual Studio Code調(diào)試?yán)玻?/p>
參考文章
No environment to choose · Issue #202 · Unity-Technologies/vscode-unity-debug (github.com)
Unity - 手動:集成開發(fā)環(huán)境 (IDE) 支持 (unity3d.com)
Debugger for Unity - Visual Studio Marketplace
到此這篇關(guān)于VS Code里使用Debugger for Unity插件進(jìn)行調(diào)試(2023最新版)的文章就介紹到這了,更多相關(guān)VS Code使用Debugger for Unity插件調(diào)試內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C# WinForm國際化實(shí)現(xiàn)的簡單方法
這篇文章主要介紹了C# WinForm國際化實(shí)現(xiàn)的簡單方法,有需要的朋友可以參考一下2014-01-01C#使用winform實(shí)現(xiàn)進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了C#使用winform實(shí)現(xiàn)進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07使用C#實(shí)現(xiàn)對任意區(qū)域任意大小的截圖
這篇文章主要為大家詳細(xì)介紹了如何使用C#實(shí)現(xiàn)簡單的截圖功能,可以對任意區(qū)域任意大小的截圖,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01Quartz.Net實(shí)現(xiàn)原理及使用方法詳解
這篇文章主要介紹了Quartz.Net實(shí)現(xiàn)原理及使用方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-12-12c# winform 解決PictureBox 無法打印全部圖片的問題
這篇文章主要介紹了c# winform 解決PictureBox 無法打印全部圖片的問題,幫助大家更好進(jìn)行c# winform開發(fā),感興趣的朋友可以了解下2020-12-12