lua插件原理 lua插件是什么_linux

导语:Lua因其语法简单、使用灵活,在游戏开发中十分流行。但因其是一门小众语言,相关工具并不完善。在Lua项目开发过程中,发现目前市面流行的各类Lua工具,仍存在一些不足。在代码编辑方面,随着项目工程文件的日益增多,插件使用会存在卡顿情况,“代码补全”效率下降;“全文引用查找“等部分基础功能,仍未支持。在代码静态检查方面,仅能提供“单文件"程度的检查;“语义检查“种类较少,检测的错误有限。这些不足一定程度上影响了Lua开发者的效率和代码质量。

LuaHelper是一款可定制化的高性能Lua插件,它基于Lua编译原理过程,采用LSP协议开发实现。通过提供对Lua编辑、检测、注释等方面的丰富功能,有效提高了Lua开发的效率与质量。

lua插件原理 lua插件是什么_linux_02

主要设计目标

1.多编辑器高适配。插件核心功能仅需一次开发,可以通过适配不同编辑器前端的方式,完成多编辑器下的核心功能支持。

2.各项功能完善。代码编辑方面,除了包含基础代码编辑辅助功能外,还需支持"符号查找"、"全局引用查找"、"智能代码补全"等功能。代码静态检测方面,需要丰富语义检测的种类。

3.性能高效。面对各类大型项目,各项功能具备高实时性,无明显卡顿。插件占用内存小。

4.解决Lua弱类型语言带来的项目后期维护成本高的问题。

lua插件原理 lua插件是什么_linux_03

LuaHelper核心功能简介

1.主要设计特点

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

2.支持基于作用域的各类型引用查找

lua插件原理 lua插件是什么_python_04

3.智能补全

lua插件原理 lua插件是什么_人工智能_05

4.全局符号表查询

lua插件原理 lua插件是什么_python_06

5.丰富的语法/语义检测

lua插件原理 lua插件是什么_java_07

6.支持代码调试

lua插件原理 lua插件是什么_lua插件原理_08

lua插件原理 lua插件是什么_java_09

LuaHelper项目规划

1.增强语法检查功能,支持编辑过程中提示多处语法错误的能力

2.函数注释支持markdown语法

3.优化注解功能,增加注解字段查找引用

4.进一步优化插件性能,提升插件速度并降低内存占用

lua插件原理 lua插件是什么_java_10

LuaHelper开源地址

https://github.com/Tencent/LuaHelper

请给项目 一个 Star !

欢迎提出你的 issue 和 PR!

 国内镜像地址:

(登录后才能访问公开项目)

腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像