首页 > 编程语言 >VS Code调试Unity程序之2023最新版

VS Code调试Unity程序之2023最新版

时间:2023-01-10 21:57:44浏览次数:56  
标签:插件 Code Debugger launch unity Unity 最新版

问题

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

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

原本预期的步骤是:

Debugger List

结果出现的步骤是:

环境

  • 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文档里仍然说它被推荐。

团队的回答也很直接

image-20230106152732091

image-20230106152840558

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

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

即使2023年他们仍把Visual Studio Code和这个插件放在最新文档里,但是文档里写的也很明白。这个Debugger for 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

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

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

方案3.手动配置Launch.json

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

image-20230106160259231

  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调试啦!

image-20230106160501350

标签:插件,Code,Debugger,launch,unity,Unity,最新版
From: https://www.cnblogs.com/wenqu/p/17041458.html

相关文章

  • Unity中的委托
    目录目录目录基础介绍为什么用委托?源码中的委托用于回调函数用于事件处理其他知识基础介绍在c#中委托是一个类型安全的,面向对象的函数指针。委托的优点是它允许程序员......
  • leetcode刷题--算法入门第一天--二分查找
    二分查找原理二分查找算法的原理如下:1.设置查找区间:low=0;high=n;2.若查找区间[low,high]不存在,则查找失败;否则转步骤33.取中间位mid=(low+......
  • unityShader入门精要 渲染流水线
    应用阶段把数据加载到显存中设置渲染状态调用DrawCall几何阶段顶点着色器顶点着色器需要完成的工作主要有:坐标变换和逐顶点光照坐标变换:就是对顶点的......
  • leetcode206-反转链表
    思路方法一,递归。将head节点和后续所有节点看做两个部分,对后续部分执行递归函数,然后将两部分组合起来。关键在于head节点的next指向的是除head以外后续所有节点反转后的......
  • leetcode215-数组中的第K个最大元素
    思路我自己想到的是用排序,然后取下标为n-k的数字,但是这样时间复杂度是O(nlogn),不符合题目要求题解中的快速排序法很好,我也想到了快速排序,但是具体实现没有写出来要点......
  • leetcode简单(数组,字符串,链表):[168, 171, 190, 205, 228, 448, 461, 876, 836, 844]
    目录168.Excel表列名称171.Excel表列序号190.颠倒二进制位205.同构字符串228.汇总区间448.找到所有数组中消失的数字461.汉明距离876.链表的中间结点836.矩形重......
  • vscode 协议
    //grep.app|codesearch https://grep.app/search?q=vscode%3A//vscode-remote'atom'=>'atom://core/open/file?filename={file}&line={line}','emacs'=>'......
  • 代码编辑器插件 codemirror 和 monaco-editor 的使用
    codemirrorcodemirror官方文档vue-codemirror官方文档vue-codemirror官方examples因为是本项目是vue2所以先记录vue2中的使用安装4.0.6配合vue2npminsta......
  • 2021年最新版 Docker 常见面试题整理总结带答案
    2021年最新版Docker常见面试题整理总结带答案全部面试题答案,更新日期:12月30日,直接下载吧!下载链接:高清500+份面试题资料及电子书,累计10000+页大厂面试题PDFDocker......
  • github vscode-markdown-preview-enhanced 自定义主题
    ctrl+shift+p,MarkdownPreviewEnhanced:CustomizeCSS打开之后,把.markdown-preview-enhanced.markdown-preview给删掉https://github.com/shd101wyy/vscode-ma......