LuaPanda
LuaPanda copied to clipboard
自定义module没有命令提示
自定义的module没有命令提示,自动完成等功能
To Reproduce Steps to reproduce the behavior:
- Unity2019,VS Code1.45.0
- lua文件放在Assets/StreamingAsset/LuaScripts目录下
- 文件夹已添加到vs code 工作区
- 可以正常调试进断点
- 自动不全,代码格式化功能不正常
Expected behavior 希望能正常提示代码补全,代码格式化功能正常
Screenshots
Desktop (please complete the following information):
- OS: masOS Catalina [10.15.4]
- Visual Studio Code [1.45.9]
- LuaPanda Version [3.1.0]
- Framework [Xlua]
我看到截图中 blood_balance 文件大纲视图是空的,这说明插件遇到了错误。这里有两种可能
-
是插件在启动时出错了,这种情况下插件功能失效,所有文件的大纲都会为空。我们遇到出现这种情况的案例是项目中文件名包含中文,导致初期建立索引时读取文件名出错。 如果所有文件都没有大纲,那应该就是本问题。可以看下 console 中是否有什么错误提示,导致插件运行不起来。
-
是单文件分析失败。代码提示插件运行的一个步骤是把文本转为AST , 这个功能借助luaparser完成。当本文件中有错误时,则转换失败,本文件中只有部分或完全没有符号,影响代码提示。 如果只是某个文件没有符号,尝试看一下文件中是否有lua error, 把文件修改为没有lua error的状态看下符号是否生成。
有的文件是没有大纲。部分文件有大纲
我仔细检查过项目完整路径名都没有包含中文字符
控制台输出为空,没有显示任何错误
感谢补充,我了解了。应该是静态语法分析在处理这种模拟继承的语义时,支持的不好,导致没有分析出 Test()的返回值从而确定 test 的类型。 后面我看能否花些时间再优化下
没有大纲的,文件是语法有错误,语法检查未能提示错误位置。我装lua lint后可以提示已部分错误,单仍然不能,提示方法名,我用的是LoxodonFramework 框架内的Lua framework.System class方法做面向对象类实现