LuaPanda

LuaPanda 是一个基于 VS Code 的 lua 代码工具,设计目标是简单易用。它支持多种开发框架,主要提供以下功能:

代码补全(code completion)

代码片段(snippet completion)

定义跳转(definition)

生成注释(comment generation)

类型推断(limited type inference)

代码格式化(formatting): 依赖 lua-fmt

代码诊断(linting):依赖 luacheck

调试器(debugger)

功能详情可以参考项目介绍。LuaPanda 支持 lua5.1- 5.4,调试器运行环境需要包含 luasocket。

文档

接入和使用文档

更多文档

特性

支持常用的代码补全,代码片段,定义跳转,生成注释,符号列表等功能

支持单步调试,断点调试,条件断点,协程调试

支持lua5.1 - 5.4, win/mac 平台,支持 slua/xlua/slua-unreal 等框架

支持REPL : 在断点处可以监视和运行表达式,并返回执行结果

可以根据断点密集程度自动调整 hook 频率,有较好的效率

支持 attach 模式,lua 运行过程中可随时建立连接

使用 lua / C 双调试引擎。lua 部分可动态下发,避免打包后无法调试。C 部分效率高,适合开发期调试。

支持多目标调试(multi target) ,可以同时调试多个 lua 进程。

近期更新

V3.2.0

代码提示支持大小写不敏感,无论输入大小写都能提示对应的符号。

支持多端调试(multi target), 在一个VSCode面板中可以启动多个不同port的调试端,连接多个lua进程。

支持反转client-server。目前 vscode 插件作为 server , lua 进程作为 client。支持通过设置反转,方便真机调试。

支持require 路径中含有 . , 目前只支持require("A/B"), 后续支持require("A.B")的形式,无需设置

在autoPath模式支持同名文件

重新测试和优化真机调试,修复真机调试socket连接可能存在的问题

V3.1.0

新增了导出 slua 符号用于代码提示。 使用说明

重构了定义跳转和代码提示框架,提升了分析效率。自测修复了 #49 大量lua工程下无法工作的问题。

修复了 #47 table 成员展示问题。

修复了 #46 配置 program 后 , attach 启动拉起新进程的问题。增加了一个attach启动项。

实现了 #44 提出的 terminal 复用的建议。

依赖和适用性

调试器功能依赖 luasocket , 可运行于 slua,slua-unreal ,xlua 等已集成 luasocket 的开发环境,在其他环境(如 console)中运行时,需要用户自行保证 luasocket 可用 。

其他依赖项目(插件中已包含,无需用户手动安装):