①Unity方面
在负责lua的代码里,初始化lua的代码里添加如下代码
#if UNITY_EDITOR_WIN
//链接rider和vscode的lua调试器
//这里改路径
var path = "C:/Users/Administrator/.vscode/extensions/tangzx.emmylua-0.7.4-win32-x64/debugger/emmy/windows/x64/emmy_core.dll";
if (File.Exists(path))
{
path = path.Replace("emmy_core.dll", "?.dll");
bool openDebugFinish = true;
try
{
LuaState.main.doString(
string.Format("package.cpath = package.cpath .. ';{0}'", path) +
"local dbg = require('emmy_core')" +
"dbg.tcpConnect('localhost', 8456)"// 这里改端口号
);
}
catch (Exception e)
{
openDebugFinish = false;
Debug.LogError("不需要调试请忽略>>>>>\t调试server未能连接:\n" + e.Message);
}
finally
{
if (openDebugFinish)
{
Debug.LogError("成功连接调试server\n" + path);
}
}
}
#endif
需要修改的内容
path: 找到自己的安装位置,确保正确的路径
端口号: 我使用的是8456,需要改成你需要使用的
②vscode
- 在插件里找到Emmylua,安装
- 配置
先配置emmylua,打开Debug(左侧竖边栏),你第一次设置调试配置,VS Code 会提示你选择环境。在弹出的菜单中选择 EmmyLua。我这安装过了,这是配置好了的,根据我文件中的进行修改即可,注意 port 需要修改,和C#代码设置的一致
③调试
- 首先在代码上打上断点
- 打开vscode的EmmyLua启动Debug
启动之后,等待连接
- 再启动unity的项目
- 连接成功