vscode调试Unity

这篇具有很好参考价值的文章主要介绍了vscode调试Unity。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

vscode调试Unity

C#

现在使用vscode调试Unity的C#代码很简单,直接在vscode的EXTENSIONS里面搜索“Unity”,第一个就是,然后安装它,它会自动帮你安装上C#C# Dev Kit扩展,这两个扩展的作用是代码导航和编译。

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

环境需求

  • Unity 2019 LTS或更高的版本
  • 需要在vscode中激活C# Dev Kit扩展,安装后就是激活的
  • .NET 7 SDK或更高的版本,C# Dev Kit会自动帮你安装
  • Unity的Visual Studio Editor包需要2.0.20或更高版本

Visual Studio Code Editor是舍弃的包,不用管。如果Visual Studio Editor的版本小于2.0.20,可以先解锁再升级到最新的版本,下图是解锁过。

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

.Net Core SDK的版本检测,打开cmd,输入dotnet --list-sdks就可以查看本机上安装的sdk的版本。

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

开始调试

Unity扩展添加了两个命令到vscode的命令面板(Ctrl+Shift+P打开)

  • Attach Unity Debugger:这个命令会显示可以附加到Unity debugger的Unity Editor和Playervscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

  • Unity API Reference: 这个命令会打开你选中的代码的Unity文档。

注意:如果你第一次运行,没有使用Attach Unity Debugger命令选择Unity Editor和Player,直接在Run And Debug那里点击开始,会弹出出dotnot is not yet acquired,无法成功附加,原因应该是你没有选择附加的Unity对象。执行Attach Unity Debugger选择Unity Editor和Player之后就正常了。

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

Lua

Lua的调试是使用的EmmyLua扩展。为了方便Lua的编写,以及添加断点,需要安装Lua扩展。

添加Debugger

打开.vscode/launch.json文件,右下角有一个Add Configuration...按钮,点击,在弹出的列表中查找,可以看到EmmyLua New DebugEmmyLua: Attach by process idEmmyLua: Attach by launch program三个选项,这里我选的是EmmyLua New Debug

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

可以看到emmylua支持的文件扩展名也有.lua.txtideConnectDebugger默认是true,这里我将它改成了false。如果是true的话,需要先运行Unity,再在vscode开始调试;false则相反。ideConnectDebugger从字面意思理解就是ide连接到debugger,ide是vscode,debugger是Unity。再结合上面的hostport字段,可以猜出emmylua和unity的连接是使用网络协议连接的,所以ide和debugger必定一个为服务单,一个为客户端。

添加debugger之后,我们可以在调试那里变成了两个选项:

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

Attach to Unity是用来调试C#的;EmmyLua New Debug是用来调试Lua的;你想调试哪个就使用哪个Debugger,不能同时调试C#和Lua。

环境配置

联系.txt文件

由于Unity不支持.lua文件,所以lua脚本一般使用.txt文件。但是vscode的lua又无法识别.txt文件,所以必须将lua和.txt文件联系起来。又为了和其他.txt文件区分,文件后缀可以改成.lua.txt。上面的launch.json里面EmmyLua也支持.lua.txt的文件后缀。打开.vscode/settings.json文件,在其中添加:

"files.associations": {
        "*lua.txt": "lua",
    },
配置Java环境

EmmyLua需要Java环境的支持,可以直接去java的官网下载安装。安装完后需要配置JAVA_HOME环境变量JAVA_HOME=XXX/Java/jre-1.8,再在Path里面添加一个路径$JAVA_HOME$/bin。但是我这样添加环境变量后,发现EmmyLua还是无法找到Java。后来发现EmmyLua的Settings里面有一个java.home的变量:

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

这里可以看到,emmylua.java.home的值为null,需要将它设置为我们上面的JAVA_HOME的值。再EmmyLua扩展的界面点击设置里面的Extension Settings

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

或者,打开命令面板(Ctrl+Shift+P),输出settings.json,选择Open User Settings

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

打开用户的设置文件(.vscode/settings.jsonWorkspace Settings),在里面设置emmylua.java.home的值

vscode 调试unity,环境搭建,vscode,unity,EmmyLua,Lua,C#

添加调试代码

上面已经说了,vscode和Unity一个客户端,一个服务端。如果ideConnectDebugger=true,那么是vscode连接到Unity,Unity是服务端,vscode是客户端;false则相反。所以,我们开始运行lua的时候,需要和vscode建立连接,建立连接的API在emmy_core.dll里面,路径是C:/Users/xxx/.vscode/extensions/tangzx.emmylua-0.5.19/debugger/emmy/windows/x64/emmy_core.dll。所以在lua的开始我们需要加入下面的代码

local path = "C:/Users/xxx/.vscode/extensions/tangzx.emmylua-0.5.19/debugger/emmy/windows/x64/emmy_core.dll"
package.cpath = package.cpath .. ";" .. path  #将emmy_core.dll的路径加入后,就可以使用require了
local dbg =require("emmy_core")
dbg.tcpConnect("localhost", 9966)             #因为是ideConnectDebugger=false,vscode是服务端,使用connect;反之使用tcpListen

然后就可以开始调试了。

断点不生效的问题

按照上面完成所有操作后,你会发现连接成功了,但是断点没有生效。然后你的代码很可能是这样的(我使用的是xlua)

var luaEnv = new LuaEnv();
luaEnv.DoString(textAsset.text);

这是因为你没有指定chunkName,emmylua不知道是哪个文件,所以断点没有生效。如果textAsset.textmain.lua.txt文件的内容,按照下面的修改断点就会生效了文章来源地址https://www.toymoban.com/news/detail-853292.html

var luaEnv = new LuaEnv();
luaEnv.DoString(textAsset.text, "main.lua.txt");

到了这里,关于vscode调试Unity的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Rust环境搭建以及vscode调试环境配置

    Rust 编译工具:https://www.rust-lang.org/zh-CN/tools/install Visual Studio Code:https://code.visualstudio.com/Download Rust的编译工具依赖C语言的编译工具。如果使用Linux系统,需要安装GCC或clang。如果使用macOS,需要安装Xcode。如果使用Windows系统,需要安装Visual Studio 2013以上的环境以使用MSVC或安装

    2024年02月12日
    浏览(82)
  • VSCode使用 - 搭建python运行调试环境

    VSCode是一个优秀的编辑工具,适合代码阅读,代码编辑,甚至配置好之后,可以编译与调试代码。 为了方便编辑,运行python程序,本文就聊聊如何将VSCode搭建为一个python的IDE吧,具备运行与调试python程序的能力。 首先,安装python程序,这样才能进行python开发,我这里安装了

    2024年02月12日
    浏览(72)
  • 搭建stressapptest调试环境:VSCode的分步教程

    stressapptest(简称SAT)是一种用于在Linux系统上测试系统稳定性和可靠性的工具,通过产生CPU、内存、磁盘等各种负载来测试系统的稳定性。 VSCode(Visual Studio Code)是一款轻量级的现代化代码编辑器,为开发者提供了丰富的功能和扩展,是一个理想的集成开发环境。 本文章的目标

    2024年03月13日
    浏览(81)
  • Jlink+OpenOCD+STM32 Vscode 下载和调试环境搭建

    首先下载编译器:gcc-arm-none-eabi-xxx Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer 对于 Mingw 的安装比较困难,国内的网无法正常在线下载组件, 需要手动下载 x86_64-8.1.0-release-posix-seh-rt_v6-rev0.7z 版本的软件包,添加环境变量,并将 mingw32-make.exe 名字改成 make.exe。 MinGW-w6

    2024年04月22日
    浏览(51)
  • Vscode搭建开发调试STM32/RISC-V环境IDE(最全面)

    单片机开发IDE环境如KeilMDK,虽然操作简单 ,方便调试。但就是代码编辑风格很老套,中文符号乱码还是常有的事。而如今流行的vscode编辑器很不错,免费且相当轻量级,用来代码开发体验很不错,看着都舒服。Clion IDE体验更好,但就是它不免费且体积较大。Stm32cubeIDE生成工

    2024年02月16日
    浏览(69)
  • 基于VSCode的Linux内核调试环境搭建以及start_kernel跟踪分析

    参考ppt的步骤: 准备工作:1-5 ,配置vscode环境:6 ,跟踪分析:7。 目录 1.安装开发工具  2.下载内核源码  3.配置内核选项 4.编译和运行内核 5.制作内存根文件系统 *gdb调试(可跳过)  7.配置VSCode调试Linux内核  7.跟踪分析 下载出现了“Axel -n 20 :太多重定向”的问题,原因是

    2023年04月17日
    浏览(63)
  • Unity的PICO项目基础环境搭建笔记(调试与构建应用篇)

    在之前的文章中,我们实现了PICO项目创建的所有流程。 Unity的PICO项目基础环境搭建笔记(环境准备篇) Unity的PICO项目基础环境搭建笔记(环境配置篇) Unity的PICO项目基础环境搭建笔记(建立项目XR环境篇) 在这篇文章中,我们来实现PICO开发的调试与打包。 连点这个 实时预

    2024年03月28日
    浏览(52)
  • 测试驱动的嵌入式开发 002:VSCode + CMake + Unity 环境搭建

    本文是对《测试驱动的嵌入式 C 语言开发》第二章的实践。 这部分参考博文《基于Windows 的 VS Code C/C++ 编译环境搭建》。 安装 CMake ,在官网下载最新安装包。安装时选择 对所有用户添加 CMake 到系统 PATH 。 安装以下插件: CMake:VSCode 的 CMake 语言支持插件 CMake Tools:对插件

    2023年04月18日
    浏览(41)
  • idea调试unity里面的lua代码

    本人一名java后端开发,看到前端同事调试lua代码无脑print,甚为鄙视,百度加实操写一份调试unity的lua脚本文档 1.安装lua lua官网下载页面 最终下载页面 2.idea安装插件 emmylua 3.idea打开unity的lua脚本 idea-file-open 选择相应目录 idea-file-project structure-sdks选择+号 4.配置启动参数 5.复制

    2024年02月10日
    浏览(43)
  • VSCode 配置 Lua 开发环境(清晰明了)

    由于 AutoJS 学得已经差不多了,基本都会了,现在开始向其他游戏脚本框架进发, Lua 语言很强大 ,就不多说, 按键精灵、触动精灵等等都是用该语言编程脚本的,由于按键精灵、触动精灵 和 AutoJS 类似,不是说一样是因为按键精灵、触动精灵整合大漠插件等牛逼插件,控制

    2024年02月07日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包