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

7 篇文章 0 订阅

问题

换了台开发机,重新安装了下开发环境。突然发现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

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
### 回答1: 在Unity中,Debugger for Unity是一个调试工具,用于帮助开发人员在开发过程中找到和修复代码中的错误和问题。然而,根据最新的Unity文档和公告,Debugger for Unity被宣布为被弃用。 Debug工具对于游戏开发而言非常重要,它可以帮助开发人员在游戏运行时实时监测代码,并提供有关变量值、函数调用和错误信息的反馈。因此,Debugger for Unity的被弃用可能引起一些开发者的关注。 根据Unity的官方公告,Debugger for Unity将不再被更新和维护。相反,Unity现在提供了一些替代的工具和功能,开发者可以使用这些工具来进行调试和错误排查。 其中一个替代方案是使用Unity的内置调试工具,例如Profiler和Console窗口。这些工具可以帮助开发人员监测游戏的性能、内存使用情况和错误日志,并提供相应的分析和反馈。另外,Unity还提供了一些插件和扩展,可以帮助开发人员进行更高级的调试和问题排查。 虽然Debugger for Unity被弃用,但Unity仍然致力于提供一个强大且全面的开发环境,以帮助开发人员有效地调试和优化他们的游戏。开发者可以通过查看Unity的官方文档和社区论坛,了解更多关于调试工具和技术的信息,以便更好地应对代码中的问题和错误。 ### 回答2: Unity官方宣布将弃用Unity Debugger这一工具。 Unity Debugger是一个用于在开发过程中调试Unity游戏的工具,它允许开发者在Unity编辑器中监视并修改游戏中的变量值。然而,由于该工具的一些限制和不足,Unity官方决定停止维护和更新该工具,将其标记为“弃用”。 主要原因之一是Unity Debugger对于大型项目和复杂场景的支持相对较弱。由于Unity游戏通常涉及大量资源和复杂逻辑,开发者经常需要一种更强大和高效的调试工具来定位和修复问题。而Unity Debugger的局限性使得它难以胜任这些任务。 此外,Unity Debugger对于跨平台开发也存在一些问题。由于Unity游戏可以在多个平台上运行,包括PC、移动设备和主机,开发者需要一个能够适应不同平台特性的调试工具。然而,Unity Debugger的功能和性能在不同平台上的表现不一致,这也导致了其被弃用的决策。 Unity官方在公告中表示,他们正在努力开发一种更强大和更全面的调试工具来替代Unity Debugger。开发者可以期待未来将会有更好的调试工具来满足他们的需求。 总而言之,Unity Debugger被弃用是因为其功能、性能和跨平台支持方面存在一些局限性和不足。Unity官方希望能够提供更强大和更全面的调试工具来帮助开发者更好地调试Unity游戏。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NickPansh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值