unity教程五:VSCode使用EmmyLua调试Lua代码

1。安装EmmyLua插件


1.png

2。配置vscode启动项,需要注意的是端口port要和代码里面的对应。ideConnectDebugger代表是ide连接debugger。如果true,代码里面要用tcpListen监听,启动顺序要先启动unity editer,然后启动vscode;如果false,代码里面要用tcpConnect,启动顺序先启动vscdeo监听,然后启动unity editer链接到vscode。


2.png

3.代码启动监听

            luaEnv.DoString("package.cpath = package.cpath .. ';/Users/gino/.vscode/extensions/tangzx.emmylua-0.3.49/debugger/emmy/mac/emmy_core.dylib'");
            luaEnv.DoString("local dbg = require('emmy_core');  print(dbg);  dbg.tcpConnect('localhost', 9898);");
            luaEnv.AddLoader(CustomMyLoader);

需要注意的是
Mac上提示 'dynamic libraries not enabled;check your lua installation'
这个问题需要重新编译lua c代码所在的模块,加上编译宏LUA_USE_MACOSX。(Unity下的xlua.bundle/tolua.bundle替换之后要重启Unity)

在make_osx_lua54.sh 或者 make_osx_lua53.sh 的第一个cmake前面加-DLUA_USE_DLOPEN,重新编译,编译后放在vscode里面,最后记得重启unity。

如果替换后发现local dbg = require("emmy_core") 返回一个boolean值
说明emmy_core库初始化失败,编译出来的库是不能用的。

参考资料
https://github.com/mr-kelly/KSFramework/issues/26

你可能感兴趣的:(unity教程五:VSCode使用EmmyLua调试Lua代码)