Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>jx3-EmmyLua(C++ Native)New to Visual Studio Code? Get it now.
jx3-EmmyLua(C++ Native)

jx3-EmmyLua(C++ Native)

shellingye

|
5 installs
| (0) | Free
EmmyLua for vscode(C++ Native)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

logo

jx3-EmmyLua (C++ Native)

根据微软官方要求,为避免和原插件名称混淆,本插件名称添加后缀(C++ Native)

高性能 C++ Lua 语言服务器,专为 VS Code 超大工程优化。
拥有全新的图形化调试界面、引用查找和定义跳转等增强功能。
本项目基于 EmmyLua 早期版本深度重构。

  • 将语言解析由 Java 改为 C++ 实现,移除 Java 依赖
  • 优化了索引建立效率,对超大 Lua 工程能够高效加载
  • 实现了引用查找、定义跳转等原版缺失功能
  • 优化了函数参数提示方式,去除多余的提示信息
  • 优化了调试拉起流程,有对应 UI
  • 调试时支持端口选择器,自动记录最近使用的端口
  • 新增输出通道,方便排查问题

更新日志

CHANGELOG

FAQ:

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

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

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

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

Q: 项目中有很多大文件并不想参与解析如何排除?

A: 在项目根目录创建emmy.config.json然后如下填写:

{
    "source": [
        {
            "dir": "./",
            "exclude": [
                "csv/**.lua"
            ]
        }
    ]
}

许可证

本项目基于 MIT 许可证开源。详情请参阅 LICENSE 文件。

logo

jx3-EmmyLua (C++ Native)

A high-performance C++ Lua language server optimized for large-scale VS Code projects.
Features a new graphical debugging UI, reference search, go-to-definition, and more.
This project is a deep re-architecture based on an early version of EmmyLua.

  • Changed language parsing from Java to C++, removing Java dependency
  • Optimized index building for efficient loading of very large Lua projects
  • Implemented previously missing features such as reference search and go-to-definition
  • Improved function parameter hints by removing redundant information
  • Streamlined the debug launch process with a dedicated UI
  • Added a port selector during debugging that remembers the most recently used port
  • Added an output channel for easier troubleshooting

Changelog

CHANGELOG (EN)

FAQ

Q: Why doesn't attach debugging work?
A: Attach debugging tries to retrieve Lua symbols from the process to determine the Lua version for debugging calculations, etc. Therefore, the target process must export Lua symbols.

Q: Why can't Emmy New Debug connect to the target?
A: Usually because the injected require call fails, or require("emmy_core") returns true, which means the executable does not export Lua symbols.

Q: How can I exclude large files from being parsed in my project?
A: Create an emmy.config.json file in the project root with the following content:

{
    "source": [
        {
            "dir": "./",
            "exclude": [
                "csv/**.lua"
            ]
        }
    ]
}

Credits

This extension is a fork of the original EmmyLua project by @EmmyLua. It has been significantly re-architected with a new C++ language server for improved performance and additional features.

License

This project is licensed under the MIT License. See the LICENSE file for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft