Skip to content

LuaHelper is a High-performance lua VSCode plugin, Language Server Protocol for lua.

License

Notifications You must be signed in to change notification settings

Tencent/LuaHelper

Repository files navigation

LuaHelper Guide

logo

Introduction

LuaHelper is a High-performance lua plugin, Language Server Protocol for lua.

Lua is very popular in game development because of its simple syntax and flexible use. However, its ecology is not perfect, and IDE tools and support are few, which affects Lua's development efficiency and quality. LuaHelper complies with Microsoft Language Server Protocol and is a cross-platform Lua code editing and testing tool developed in go language. Compared with other Lua plugins currently on the market, it has the following improvements:

  • 1. Coroutine development, real-time detection, millisecond output detection results
  • 2. Support large-scale Lua projects, perfectly support editing and testing of 1000+ file project
  • 3. Comprehensive error type detection, including: grammar detection, semantic detection
  • 4. Various types of reference search, including: multi-file reference search, multi-layer reference search
  • 5. Rich configurable items, including: multiple alarm information configurations, ignorable file settings
  • 6. Low memory consumption, low-performance machines can still run smoothly

Lua因其语法简单、使用灵活,在游戏开发中十分流行。但其生态并不完善,IDE开发工具及配套支持较少,一定程度上影响了Lua的开发效率及质量。LuaHelper遵从微软Language Server Protocol协议,是采用go语言开发的一种跨平台Lua代码编辑及检测工具。

相较目前市面其他Lua插件,具有以下改进

  • 1.协程开发,实时检测,毫秒级输出检测结果
  • 2.支持大型Lua项目,完美支持1000+文件项目工程的编辑与检测
  • 3.全面的错误类型检测,包括:语法检测、语义检测
  • 4.多种类引用查找,包括:多文件引用查找、多层引用查找
  • 5.丰富的可配置项,包括:多种告警信息配置、可忽略文件设定
  • 6.内存消耗低,低性能机器仍可流畅运行

Documentation

Background [项目背景] | Configuration [检查配置] | Manual [源码介绍] | Annotate [注解功能]

Feature Summary

Code Editing

Code Detection

Debug lua

调试功能集成了腾讯开源LuaPanda的调试组件,采用了Debug Adapter Protocol调试协议。debugger主体使用lua语言开发,调试程序只要引入LuaPanda.lua文件,即可方便开启调试功能。

Installation

App Market Installation

应用市场安装

avatar

Acknowledgements

  • luago-books, Go language generates Lua's AST, modified the source code (adding column attributes to each node of the AST, and also optimizing performance).
  • LuaFormatter, Lua code formatting library written in c++, with high performance.
  • LuaPanda, Integrating the debugging components of LuaPanda, LuaPanda author stuartwang also provided us with a lot of help.
  • EmmyLua, The author, Tang, provides a lot of help and suggestions for the implementation of our entire plug-in.

  • luago-books, go语言生成lua的AST,修改了源码(对AST的每个节点增加了列的属性,同时也优化了性能)。
  • LuaFormatter, c++写的Lua代码格式化库,性能较高。
  • LuaPanda,集成了LuaPanda的调试组件,LuaPanda的作者stuartwang也给我们提供了很多帮助。
  • EmmyLua, 作者阿唐对我们整个插件的实现提供很多帮助和建议。

Support

If you have any questions, please refer to FAQ. If you have any questions, please use issues. We will follow and reply. 如有问题先参阅 FAQ ,如有问题建议使用 issues ,我们会关注和回复。

Email:yvanfyin@tencent.com; handsomeli@tencent.com; richardzha@tencent.com

QQ群:747590892