EmmyLua / VSCode-EmmyLua

Lua IDE/Debugger Plugin for VSCode
638 stars 94 forks source link
emmylua

logo

EmmyLua for VSCode

VSCode version of EmmyLua

QQ交流群:29850775 (最新版本以及部分视频演示在群文件中下载)

Online EmmyLua Doc donate 加入QQ群

更新日志

CHANGELOG

FAQ:

Q: vscode-emmylua全家桶还有哪些?

A: EmmyLuaCodeStyle, EmmyLuaUnity

Q: 为什么附加调试没有作用?

A: 附加调试会试图获取进程内的lua符号,判断当前的lua版本,用于调试计算等。所以要求进程本身导出lua符号

Q: Emmy New Debug为什么连不上目标

A: 通常是由于插入代码require执行失败,或者require("emmy_core")返回true,这表明可执行文件没有导出lua符号

Q: 为什么打开项目后大量爆红

A: 这就是惊喜! 大部分爆红是因为emmylua检查到项目中有未定义的全局变量, 而大部分人没有给自己项目写annotation所以就会爆红了, 如果想快速修复它, 需要在你打开的首个vscode工作区的顶层目录(不是在.vscode中)中创建.emmyrc.json之后填入

{
    "diagnostics": {
        "disable": [
            "undefined-global"
        ]
    }
}

Q: 我能否在其他平台上用到vscode-emmylua的代码分析功能?

A: 可以, vscode-emmylua的代码分析功能来自EmmyLuaAnalyzer, 它是标准的语言服务器, 可以被任何实现了LSP的客户端使用. 比如在Intellij平台你可以通过安装LSP4IJ然后通过简单的配置开启EmmyLuaAnalyzer的代码分析功能.

Q: 为什么不用Vscode配置而是用.emmyrc.json?

A: 为了方便在其他平台上使用EmmyLuaAnalyzer, 并且使用任何IDE也不用重新配置

Q: 为什么选择使用dotnet重写emmylua语言服务器?

A: 原本的基于java的语言服务内存占用比较大, 另外存在各种无法解决的递归崩溃, 而如今的dotnet性能被微软优化的非常高, 内存占用也比较低, 各方面工具链比较完整. 所以我选择了dotnet

Q: 为什么没有文档?

A: 配置文件的文档见 https://github.com/CppCXY/EmmyLuaAnalyzer/blob/master/docs/.emmyrc.json_CN.md