VS Code里使用Debugger for Unity插件进行调试(2023最新版)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

问题

换了台开发机重新安装了下开发环境。突然发现Visual Studio Code无法用来调试Unity了。

明明流程都是按照Unity官方教程2023.1进行的可在创建Launch.json文件时死活出不来Unity Debugger选项。

说明Debugger for Unity是一个非正式支持的官方推荐的应用最广的Visual Studio Code上的Unity调试插件。如果还没有配置Unity Debugger可以直接看官方文档 | Debugger for Unity - Visual Studio Marketplace进行配置。本文视作在官方文档上的补充解决按照官方文档操作却无法添加调试器的问题。

原本预期的步骤是

结果出现的步骤是

环境

  • 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+那你很可能是遇到和我一样的问题了

问题定位

点开Visual Studio Code插件仓库打开Debugger for Unity看到这个插件上次更新已经是2020年的事情了而且界面上明确写着此扩展已启用因为不在对其进行维护。

再点开插件的github地址在Issues里遇到了一堆的受害者。


这个仓库弃用了吗距离上次更新都十个月了这个插件最新版的unity还能用吗


不能发个官方的声明吗说明一下这个插件的情况吗他都坏掉了……


现在都2022年底了还是没看到官方通知。官方Unity文档里仍然说它被推荐。


团队的回答也很直接

简单来说我们很忙没钱没人来维护这个项目。我们建议你换个IDE不要用VS Code了比如用Visual Studio Community。或者JetBrains Rider也行。

好吧这个就是官方的态度不要用了。


即使2023年他们仍把Visual Studio Code和这个插件放在最新文档里但是正如文档里所说这个Debugger for Unity拓展插件并没有被正式支持(Not Ffficially supported by Unity)。

说的还是太委婉了直接点说这个拓展插件我们不维护了爱用不用。

甭管别的博客里有多推荐不推荐了就是官方的态度。

解决方案

要么就听官方爸爸的开发的时候用Visual Studio Code调试的时候用Visual Studio得了……

要么我就想凑合用能不能行

如何在新的Visual Studio Code+Unity环境里使用Debugger for Unity进行调试

之所以你创建不了Unity Debugger,是因为C#插件在v1.21.13后把标识符从ms-vscode改成了ms-dotnettools了Unity Debugger又没有更新所以找不到。

两个方案

方案1.降级不推荐

找到c#插件通过手动安装C# v1.21.12.vsix 或 自动降级的方式把C#版本回退到1.21.13以前

方案2.躲bug生成Launch.json推荐

说来说去只是因为C#插件升级后Debugger for Unity识别不到C#文件导致无法生成调试的配置文件罢了。那么我们不在C#文件中去生成不就好了

No environment to choose · Issue #202 · Unity-Technologies/vscode-unity-debug (github.com)

  1. 随便创建一个txt文件如test.txt

  1. 点击这个text.txt文件后进入调试页签如图

  1. 点击小齿轮就可以看到Unity Debugger啦点击它后就生成了能用的Launch.json如图

方案3.手动配置Launch.json

  1. 先随便生成一个Launch.json如果已经有了跳过这一步

  1. 再替换这个json的内容或者手动合并json

launch.json

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息请访问: 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调试啦

参考

No environment to choose · Issue #202 · Unity-Technologies/vscode-unity-debug (github.com)

Unity - 手动集成开发环境 IDE 支持 (unity3d.com)

Debugger for Unity - Visual Studio Marketplace

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6