{"id":13898151,"url":"https://github.com/EmmyLua/VSCode-EmmyLua","last_synced_at":"2025-07-17T15:32:19.311Z","repository":{"id":42233610,"uuid":"126278608","full_name":"EmmyLua/VSCode-EmmyLua","owner":"EmmyLua","description":"Lua IDE/Debugger Plugin for VSCode","archived":false,"fork":false,"pushed_at":"2025-06-03T12:13:53.000Z","size":2400,"stargazers_count":675,"open_issues_count":14,"forks_count":98,"subscribers_count":25,"default_branch":"master","last_synced_at":"2025-06-03T18:00:30.484Z","etag":null,"topics":["emmylua"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EmmyLua.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-03-22T04:16:50.000Z","updated_at":"2025-06-03T12:13:48.000Z","dependencies_parsed_at":"2024-05-05T16:32:39.629Z","dependency_job_id":"b2853f98-ac9c-4ee9-9788-c88cd13813a5","html_url":"https://github.com/EmmyLua/VSCode-EmmyLua","commit_stats":null,"previous_names":[],"tags_count":104,"template":false,"template_full_name":null,"purl":"pkg:github/EmmyLua/VSCode-EmmyLua","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmyLua%2FVSCode-EmmyLua","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmyLua%2FVSCode-EmmyLua/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmyLua%2FVSCode-EmmyLua/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmyLua%2FVSCode-EmmyLua/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EmmyLua","download_url":"https://codeload.github.com/EmmyLua/VSCode-EmmyLua/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EmmyLua%2FVSCode-EmmyLua/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265622704,"owners_count":23800025,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emmylua"],"created_at":"2024-08-06T18:04:07.535Z","updated_at":"2025-07-17T15:32:19.306Z","avatar_url":"https://github.com/EmmyLua.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","IDEs"],"sub_categories":[],"readme":"# EmmyLua for VSCode\n\n![logo](/res/logo.png)\n\nEmmyLua is a powerful Lua language support extension for Visual Studio Code, providing intelligent code completion, debugging, and analysis capabilities.\n\n## 📋 Quick Links\n\n- 📖 [Documentation](https://github.com/EmmyLuaLs/emmylua-analyzer-rust/blob/main/docs/config/emmyrc_json_EN.md)\n- 📝 [Changelog (English)](CHANGELOG.md)\n- 📝 [更新日志 (中文)](CHANGELOG_CN.md)\n- 🔧 [Language Server (Rust)](https://github.com/CppCXY/emmylua-analyzer-rust)\n- 💬 QQ Group: `29850775`\n\n[![Online EmmyLua Doc](https://img.shields.io/badge/emmy-doc-46BC99.svg?style=flat-square)](https://emmylua.github.io)\n[![donate](https://img.shields.io/badge/donate-emmy-FF69B4.svg?style=flat-square)](https://emmylua.github.io/donate.html)\n[![加入QQ群](https://img.shields.io/badge/chat-QQ群-46BC99.svg?style=flat-square)](//shang.qq.com/wpa/qunwpa?idkey=f1acce081c45fbb5670ed5f880f7578df7a8b84caa5d2acec230ac957f0c1716)\n\n## 🚀 Features\n\n- **Smart Code Completion**: Intelligent auto-completion with type inference\n- **Real-time Diagnostics**: Error detection and warnings as you type\n- **Advanced Debugging**: Support for attach, launch, and remote debugging\n- **Cross-platform**: Works on Windows, macOS, and Linux\n- **LSP-based**: Built on Language Server Protocol for reliability\n\n## 📦 Related Extensions\n\nEnhance your Lua development experience with these complementary extensions:\n\n- [EmmyLuaCodeStyle](https://marketplace.visualstudio.com/items?itemName=CppCXY.emmylua-codestyle) - Code formatting and style enforcement\n- [EmmyLuaUnity](https://marketplace.visualstudio.com/items?itemName=CppCXY.emmylua-unity) - Unity3D integration\n\n## 🔧 Configuration\n\n### Project Configuration\n\nCreate a `.emmyrc.json` file in your project root to customize behavior:\n\n```json\n{\n  \"diagnostics\": {\n    \"undefined-global\": false\n  }\n}\n```\n\nFor detailed configuration options, see:\n- [English Documentation](https://github.com/CppCXY/emmylua-analyzer-rust/blob/main/docs/config/emmyrc_json_EN.md)\n- [中文文档](https://github.com/CppCXY/emmylua-analyzer-rust/blob/main/docs/config/emmyrc_json_CN.md)\n\n## 🐛 Debugging\n\n### Remote Debug Setup\n\n1. **Insert Debugger Code**\n   - Use command: `EmmyLua: Insert Emmy Debugger Code`\n   - Or manually add:\n   ```lua\n   package.cpath = package.cpath .. \";path/to/emmy/debugger/?.dll\"\n   local dbg = require('emmy_core')\n   dbg.tcpListen('localhost', 9966)\n   dbg.waitIDE()\n   ```\n\n2. **Set Breakpoints**\n   - Add `dbg.breakHere()` where you want to pause execution\n   - Or use VSCode's built-in breakpoint system\n\n3. **Start Debugging**\n   - Run your Lua application\n   - Launch \"EmmyLua New Debug\" configuration in VSCode\n   - The debugger will connect automatically\n\n### Debug Types\n\n- **EmmyLua New Debug**: Modern debugging with better performance\n- **EmmyLua Attach**: Attach to running processes (requires exported Lua symbols)\n- **EmmyLua Launch**: Direct launch debugging\n\n## ❓ Frequently Asked Questions\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhy doesn't attach debugging work?\u003c/strong\u003e\u003c/summary\u003e\n\n**English**: The debugger needs access to Lua symbols from the target process. Ensure your executable exports Lua symbols.\n\n**中文**: 调试器需要获取进程中的 Lua 符号，因此需要进程导出 Lua 符号。\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhy do I see many \"undefined variable\" warnings?\u003c/strong\u003e\u003c/summary\u003e\n\n**English**: Create `.emmyrc.json` in your project root and disable the `undefined-global` diagnostic:\n```json\n{\n  \"diagnostics\": {\n    \"undefined-global\": false\n  }\n}\n```\n\n**中文**: 在项目根目录创建 `.emmyrc.json` 文件并禁用 `undefined-global` 诊断。\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eCan I use EmmyLua analysis in other editors?\u003c/strong\u003e\u003c/summary\u003e\n\n**English**: Yes! EmmyLua uses a standard Language Server Protocol implementation. Any LSP-compatible editor can use it.\n\n**中文**: 可以！EmmyLua 基于标准的语言服务器协议，任何支持 LSP 的编辑器都可以使用。\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhy use .emmyrc.json instead of VSCode settings?\u003c/strong\u003e\u003c/summary\u003e\n\n**English**: Project-specific configuration files work across different editors and platforms without requiring IDE-specific setup.\n\n**中文**: 项目配置文件可以跨平台和编辑器使用，无需在每个 IDE 中重复配置。\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWhy was the language server rewritten in Rust?\u003c/strong\u003e\u003c/summary\u003e\n\n**English**: The Rust implementation provides better performance, memory safety, and cross-platform compatibility compared to the previous .NET and Java versions.\n\n**中文**: Rust 实现提供了更好的性能、内存安全性和跨平台兼容性。（作者说：因为我想试试 rust 😄）\n\u003c/details\u003e\n\n## 🤝 Contributing\n\nWe welcome contributions! Please feel free to:\n- Report bugs and issues\n- Suggest new features\n- Submit pull requests\n- Join our QQ group for discussions\n\n## 📄 License\n\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEmmyLua%2FVSCode-EmmyLua","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FEmmyLua%2FVSCode-EmmyLua","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FEmmyLua%2FVSCode-EmmyLua/lists"}