1。安裝EmmyLua插件

1.png
2。配置vscode啟動項,需要注意的是端口port要和代碼里面的對應(yīng)。ideConnectDebugger代表是ide連接debugger。如果true,代碼里面要用tcpListen監(jiān)聽,啟動順序要先啟動unity editer,然后啟動vscode;如果false,代碼里面要用tcpConnect,啟動順序先啟動vscdeo監(jiān)聽,然后啟動unity editer鏈接到vscode。

2.png
3.代碼啟動監(jiān)聽
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。
如果替換后發(fā)現(xiàn)local dbg = require("emmy_core") 返回一個boolean值
說明emmy_core庫初始化失敗,編譯出來的庫是不能用的。