金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
Vs调用luacheck静态检查

(金庆的专栏 2017.3)

1. 安装luacheck
    1. 下载 luacheck-0.19.0
    2. 解压复制到 d:/tools/luacheck-0.19.0
    3. 运行 install.lua <path>
    
    d:\tools\luacheck-0.19.0>d:\tools\lua\lua53.exe install.lua d:\tools\luacheck
    
运行install.lua仅仅是复制文件,改写bin\luacheck.bat.

2. VS 添加外部工具调用
    工具->外部工具->添加
    
    标题:luacheck
    命令:d:\tools\luacheck\luacheck.bat
    参数:$(SolutionDir)src\*.lua
    或者单个文件
    参数:$(ItemPath)
    
    选择“使用输出窗口”

3. 更改luacheck输出格式,可以双击定位到出错行。

luacheck输出格式如下:

Checking E:\server_oschina\scripts\cell\svc_test_cmd.lua 4 warnings

    E:\server_oschina\scripts\cell\svc_test_cmd.lua:3:7: unused variable 'log'
    E:\server_oschina\scripts\cell\svc_test_cmd.lua:14:5: line contains trailing whitespace

双击可以打开文件,但是定位在第1行。需要改为行号在括号内的格式:“cmd.lua(3):”

可以直接更改luacheck\format.lua, 也可以复制为 luacheck\format_vs.lua 更改。

-   local res = ("%s:%d:%d"):format(file, location.line, location.column)
+   local res = ("%s(%d):%d"):format(file, location.line, location.column)

- return format
+ return formatters.plain

    参数:$(SolutionDir)src\*.lua
    参数:$(SolutionDir)src\*.lua --formatter luacheck.format_vs

现在输出为:
E:\server_oschina\scripts\cell\svc_test_cmd.lua(3):7: unused variable 'log'
E:\server_oschina\scripts\cell\svc_test_cmd.lua(14):5: line contains trailing whitespace

4. 如果安装了lfs, 则可以输入目录作为参数。

5. 添加配置 .luacheckrc
Windows下创建 .luacheckrc 需要输入文件名为 .luacheckrc., 即尾部加一点。
或者用 echo > .luacheckrc

创建在sln目录,然后设置外部工具luacheck调用的初始目录为 $(SolutionDir),这样就可以让配置生效。

示例:
exclude_files = {
    "lualibs/**/*",
}

globals = {
}

read_globals = {
    'c_log',
}
posted on 2017-03-08 13:10 金庆 阅读(1410) 评论(0)  编辑 收藏 引用 所属分类: 9. 其它

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理