Comments (5)
自己调试了一下,发现造成这个问题的原因
插件在调用luacheck的时候,命令行参数过长导致的
命令行的参数里包含了项目中所有的全局符号,恰好因为我项目里存在不规范的lua代码
Localization = {
AbilityLimitWarnning = "",
AbortCityWar = "",
Abroad = "",
Academy1 = "",
Academy11 = "",
Academy12 = "",
Academy13 = "",
Academy14 = "",
Academy15 = "",
AcademyIncreament = "",
ActivityCalendar = "",
ActivityLoginDay = "",
ActivityFinished = "",
ActivityLeftTime = "",
AccountBlock = "",
}
以上代码所有的Localization内部字段都会作为全局符号传入到luacheck命令中,导致项目中所有lua文件的lualint都无法正常工作。
非常感谢你们提供如此好用的工具,希望越来越好,春节快乐!
from luapanda.
感谢反馈!
之前我们用你上传的文件单独测试过,功能正常所以关闭了issue。
关于命令行参数过长导致luacheck功能异常的问题我们会再测试一下。
调用luacheck时将全局符号传递给luacheck是为了避免出现使用未定义的全局符号的warning,因为调用luacheck是针对单个文件的,而文件中使用到的全局符号可能定义在工程中其他文件,所以我们统一忽略了全局符号。
如果传递给luacheck的参数过多会导致luacheck运行异常,我们会在这里做一些处理,初步考虑看是否方便只将本文件内的全局符号传递给luacheck,并对数量做限制。如果你对这个问题有其他见解也可以和我们一起讨论,当然,更欢迎PR,一起参与到LuaPanda的开发维护中!
from luapanda.
谢谢回复,我传的代码里在lua文件中直接将模块声明全局变量的做法应该不符合lua的规范,规范的做法是声明为local,然后在文件末尾return。
所以我认为调用luacheck的时候可以不传代码中的全局符号,有luapanda配置中的全局符号就够了,或者用.luacheckrc配置文件配置全局符号的方案更灵活一些
from luapanda.
@GrandZhuo 我的cocos2dx-lua工程也遇到了同样的问题,查看代码发现原来的luacheck global参数是将工程中所有全局变量Symbol方式拼接并传入,例如在上面2楼给到的例子只需传入Localization就可以了,但实际上可能会传入 Localization.AbilityLimitWarnning Localization.AbortCityWar ...这样几十乃至上千个字符串,我提交的PR修改了这个情况,只会传入Localization等顶级全局变量名,@dayongxie 你可以看下有没有解决你的问题
from luapanda.
@GrandZhuo 我的cocos2dx-lua工程也遇到了同样的问题,查看代码发现原来的luacheck global参数是将工程中所有全局变量Symbol方式拼接并传入,例如在上面2楼给到的例子只需传入Localization就可以了,但实际上可能会传入 Localization.AbilityLimitWarnning Localization.AbortCityWar ...这样几十乃至上千个字符串,我提交的PR修改了这个情况,只会传入Localization等顶级全局变量名,@dayongxie 你可以看下有没有解决你的问题
感谢PR!
from luapanda.
Related Issues (20)
- libpdebug.lua找不到是什么原因 HOT 1
- UE5蓝图使用Luajit,在Load的时候会直接崩溃,你们有碰到类似的问题吗? HOT 1
- 关于 lua 5.3/5.4 无法建立连接的问题 HOT 1
- 打开包含大量文件的目录,插件会coredump HOT 3
- 关于Arm架构 lipDebug支持的问题 HOT 1
- 关于在5.4下使用luapanda
- 反转C-S后,内网环境下,远程调试连接不上 HOT 1
- Lua Debug 插件和 LuaPanda 插件 attach 模式会互相冲突,导致无法断点,或者断点失效问题 HOT 1
- 更新到vscode 1.82后,插件报错无法运行 HOT 5
- 使用了distinguishSameNameFile=true,truncatedOPath过滤公共串后,同名文件正则识别错误(没有处理"["、"]") HOT 2
- 没有 用于IntlliSense的cpp 菜单 HOT 2
- 希望在独立脚本执行的lanuch配置中,可以使用args的参数 HOT 3
- 打开LuaPanda会出现这个问题 Connection to server got closed. Server will not be restarted. HOT 1
- F12 not work HOT 1
- 调试递归调用时,局部变量获取错误 HOT 5
- 请问是否支持从.c文件中调试或打印相关栈内容呢 HOT 1
- 随手写点,关于调试器的框架
- sol2 兼容BUG HOT 2
- 接入luapanda后,在unity编辑器中启动游戏会导致编辑器闪退 HOT 2
- ![image](https://github.com/Tencent/LuaPanda/assets/16960038/542e775c-5686-4bb2-a702-25629b0229af) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from luapanda.