Vs调用luacheck静态检查

Vs调用luacheck静态检查

(金庆的专栏 2017.3)

1. 安装luacheck
    1. 下载 luacheck-0.19.0
    2. 解压复制到 d:/tools/luacheck-0.19.0
    3. 运行 install.lua
    
    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)

    初始目录:$(SolutionDir)

    
    选择“使用输出窗口”

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',
}

你可能感兴趣的:(其它)