VSCode使用EmmyLua调试Lua代码
《Unity3D VSCode使用EmmyLua调试Lua代码》前提:电脑需要配置安装Java环境(javajdk, jre)。一、将会用到的工具 -(工具都会在文中提供):Unity客户端工程用到 :emmy_core.dll 【Github】https://github.com/EmmyLuaVSCode需要安装插件EmmyLua二、具体流程(1).在客户端工程入口处,在启动Lua虚拟机后(一
《Unity3D VSCode使用EmmyLua调试Lua代码》
前提:
电脑需要配置安装Java环境(javajdk, jre)。
一、将会用到的工具 -(工具都会在文中提供):
Unity客户端工程用到 :emmy_core.dll 【Github】https://github.com/EmmyLua
VSCode需要安装插件EmmyLua
二、具体流程
(1).在客户端工程入口处,在启动Lua虚拟机后(一般在main.lua中),使用下方两张截图中的代码,require到emmy_core.dll,然后调用tcpConnect方法连接VSCode (后面会讲到如何在vscode开启监听)
local dbg = require('emmy_core')
dbg.tcpConnect('localhost', 8866)
--连接EmmyLua
function ConnectEmmyLua()
local func = function()
--UnityEngine.Application.dataPath绝对路径:
--E:\hankangwen-LuaFramework-master\LuaFramework\LuaFramework\Assets
--emmy_core.dll绝对路径:E:\hankangwen-LuaFramework-master\LuaFramework\Tools\Emmylua
local assets = UnityEngine.Application.dataPath
local assetDict = string.split(assets, "/")
local path = ''
for i = 1, #assetDict-2 do
path = path .. assetDict[i] .. '/'
end
package.cpath = package.cpath .. ';' .. path .. 'Tools/Emmylua/emmy_core.dll'
local dbg = require('emmy_core')
dbg.tcpConnect('localhost', 8866)
end
local handle = function()
print('IDE没有开启调试')
end
xpcall(func, handle)
end
(2).在VSCode中搜索并安装“EmmyLua”插件,(启用EmmyLua如果提示没有java环境,则需要安装java环境)
点到红框框着的调试栏,然后点击“create a launch.json file”,Environment选择“EmmyLua New Debugger”,
修改launch.json: "port"改为客户端工程"dbg.tcpConnect('localhost', 8866)"连接的端口,"ideConnectDebugger"改为false(这里ide是指VSCode,Debugger是指Unity)。
因为我们是先启动VSCode中EmmyLua的调试监听,然后启动Unity来Connect到VSCode。
配置完成后点击调试栏三角箭头启动VSCode的EmmyLua的调试监听,然后再启动Unity连接VSCode的EmmyLua即可开启调试。
三、拓展附录:
【在线文档 EmmyLua for IntelliJ IDEA】https://emmylua.github.io/zh_CN
下一篇:【Unity3D JetBrainsRider + EmmyLua(更新)调试Lua】https://www.jianshu.com/p/5a453a80b7e9
使用Rider调试的好处:1.不需要安装java环境; 2.比vscode方便调试。
更多推荐
所有评论(0)