VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

目录
  • 问题
  • 环境
  • 问题定位
  • 解决方案
    • 如何在新的Visual Studio Code+Unity环境里使用Debugger for Unity进行调试
      • 方案1.降级(不推荐)
      • 方案2.躲bug生成Launch.json(推荐)
      • 方案3.手动配置Launch.json
  • 参考文章

问题

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

  • 随便创建一个txt文件,如:test.txt
  • 点击这个text.txt文件后,进入调试页签,如图:

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

方案3.手动配置Launch.json

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

再替换这个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

到此这篇关于VS Code里使用Debugger for Unity插件进行调试(2023最新版)的文章就介绍到这了,更多相关VS Code使用Debugger for Unity插件调试内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 如何使用VSCode 运行调试插件代码

    VSCode 运行插件,现在我们对这个插件的实现方式和注册方式已经有了了解,下面就到了运行和调试代码的时候了.VS Code 的插件代码脚手架已经为我们提供了 launch.json ,所以我们只需要按下 F5 即可启动代码. 代码启动后,VS Code 会打开一个新的窗口,这个窗口中就运行着我们本地书写的代码.此时我们打开命令面板,搜索 "Hello World" 并且执行. 上面我提到了,这个插件只有在 "Hello World" 命令被执行时才会被激活.那下面

  • 使用VScode 插件debugger for chrome 调试react源码的方法

    代码调试,是我们前端日常工作中不可或缺的能力了吧! 在面向dom开发的时代,我们开发时直接在chrome里打断点是很方便的. 但是,当我们面向组件开发时(react),浏览器拿到的是我们编译过后的代码,还想在浏览器里打断点几乎是不可能的了. 场景 那怎么办,方法总是比困难多!愚蠢的我想到了console/debugger!!一直在使用,虽然很不方便(打印太多实在太乱!上线还要配置删除掉),但是我竟然使用了很久(这真是一个糟糕的编码习惯吧).直到今天,我想研究一下react源码,需要断点的地方有很

  • VsCode使用EmmyLua插件调试Unity工程Lua代码的详细步骤

    目录 一.VSCode安装EmmyLua 二.添加配置文件 三.设置配置文件 四.添加Lua断点调试入口 五.运行unity测试断点功能 一.VSCode安装EmmyLua 二.添加配置文件 三.设置配置文件 执行完第二步会弹出添加好的launch.json配置文件,这个文件只需要修改“ideConnectDebugger” = false,其他一般不用修改. 四.添加Lua断点调试入口 luaEnv变量必须为全局唯一 路径标红的地方配上你的正确路径名 var path = "C:/Users/

  • VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

    目录 问题 环境 问题定位 解决方案 如何在新的Visual Studio Code+Unity环境里使用Debugger for Unity进行调试 方案1.降级(不推荐) 方案2.躲bug生成Launch.json(推荐) 方案3.手动配置Launch.json 参考文章 问题 换了台开发机,重新安装了下开发环境.突然发现Visual Studio Code无法用来调试Unity了. 明明流程都是按照Unity官方教程2023.1进行的,可在创建Launch.json文件时,死活出不来Uni

  • Jquery使用Firefox FireBug插件调试Ajax步骤讲解

    首先,我们用一个示例来说明JQuery的Ajax调用过程, 实现的一个功能是:点击确认支付按钮之后,实现余额支付的功能: 1.首先在php页面将相关需要调用的函数绑定到按钮上: 复制代码 代码如下: <input type="submit" name="pay_btn" id="pay_btn" value="确认支付" /> <script type="text/javascript"&

  • Visual Studio Code 配置C、C++ 文件debug调试环境的详细过程

    目录 vscodeC/C++ExtensionPack插件安装 vscodewindows端debug配置 windowMinGW环境安装 windows端C.CPP单文件debug调试 代码文件中文目录文件名,如何在window端正常调试 vscodeubuntu端debug配置 ubuntuC.CPP单文件调试 中文目录文件名,在ubuntu端正常调试 官方文档参考 大家好我是SLF,在午休的时候给嵌入式软件的同事,演示了一下如何用vscode调试应用端的CPP程序,他之前一直用的是Ultr

  • jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)

    本文实例讲述了jQuery自定义图片缩放拖拽插件imageQ实现方法.分享给大家供大家参考,具体如下: 综合网上一些代码 自己写的一个图片缩放拖拽的小插件 /** * * <a href="http://lib.csdn.net/base/22" class='replace_word' title="jQuery知识库" target='_blank' style='color:#df3434; font-weight:bold;'>jQuery<

  • jQuery 插件封装的方法

    扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 一.入门 编写一个jQuery插件开始于给jQuery.fn加入​​新的功能属性,此处添加的对象属性的名称就是你插件的名称: . 代码如下: jQuery.fn.myPlugin = function(){ //你自己的插件代码 }; 用户非常喜欢的符号哪里去了?它仍然存在,但是,为了避免和其他JavaScript库冲突,我们最好将jQuery传递给一个自我

  • 用VueJS写一个Chrome浏览器插件的实现方法

    浏览器基本已经天下大统了,放眼望去都是Chromium的天下.那么,能写一个浏览器插件也算是一种回报率不错的技能. 基本知识 浏览器插件官方的说法叫扩展程序,允许你为浏览器增加各种功能,但不需要深入研究浏览器本身的代码.你可以用HTML,CSS和JavaScript创建新的扩展程序,如果你曾经写过网页,那么写一个插件是非常轻松的事情. 常见的插件一般就是地址栏后面的一个图标,点击后给你当前网页提供各种功能,或者在你点击网页右键时弹出额外的菜单. 程序目录结构 最简单的扩展程序只需要3个文件,或者

  • Yii2框架引用bootstrap中日期插件yii2-date-picker的方法

    本文实例讲述了Yii2框架引用bootstrap中日期插件yii2-date-picker的方法.分享给大家供大家参考,具体如下: 最近在学习yii2 框架,发现框架很强大,而且结合了时下许多新的技术在里面. 简单记录一下yii2-date-picker插件的使用方法: 首先先了解一下github中的相关资源:https://github.com/2amigos/yii2-date-picker-widget 其次:在自己的项目中利用上面链接中的相关方法下载此资源,命令为: php compos

  • JS实现微信里判断页面是否被分享成功的方法

    本文实例讲述了JS实现微信里判断页面是否被分享成功的方法.分享给大家供大家参考,具体如下: var shareData = { img_url: "", img_width: 200, img_height: 200, link: '', desc: '', title: '', appid: 0 }; document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 发送给好友 WeixinJ

  • BootStrap使用file-input插件上传图片的方法

    最近在写自己的个人网站 ,前端使用的bootstrap框架 ,做到上传图片功能的时候网上找到一个基于bootstrap的图片上传框架 file-input 插件, 这个插件做的非常符合我的审美观,所以简单记录一下这个插件的使用方法 首先根据自己的项目路径引入插件css和js文件 注意locale语言文件在fileinput.min.js文件之后引入 <!-- file input --> <link href="../../css/fileinput.min.css"

随机推荐