IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Vs调用luacheck静态检查

    金庆发表于 2017-03-08 05:10:00
    love 0
    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',
    }


    金庆 2017-03-08 13:10 发表评论


沪ICP备19023445号-2号
友情链接