vim(gvim)配合ZendCodeAnalyzer检查php语法

来源:互联网 发布:知乎 中国风力发电现状 编辑:程序博客网 时间:2024/06/01 10:23

http://www.vimer.cn/2011/01/vimgvim%E9%85%8D%E5%90%88zendcodeanalyzer%E6%A3%80%E6%9F%A5php%E8%AF%AD%E6%B3%95.html


本博之前有写过一篇vim+php.exe检查php语法的文章-在vim中检查php语法格式,这种方式的优点是只依赖php环境本身,但缺点也很明显:检查并不严格,很多错误检查不出来。

所以我们考虑使用另一个语法检查工具-ZendCodeAnalyzer.
博友梧桐之前在博客中咨询该怎么写ZendCodeAnalyzer的errorformat,所以这里放出代码如下:

1234567891011121314151617
map <F7> :call CheckPHPSyntax()<CR>function CheckPHPSyntax()    let php_check_syntax_cmd='ZendCodeAnalyzer  --disable var-arg-unused'     let exeFile = expand("%:t")    let &makeprg = php_check_syntax_cmd    set errorformat=%f(line\ %l):\ %m    silent make %    if len(getqflist())>2        call setqflist(remove(getqflist(),2,-1))        copen    else        cclose        normal :        echohl WarningMsg | echo "Check over,No error!" | echohl None    endifendf

把ZendCodeAnalyzer放到环境变量中后,在vim中按下F7即可调用进行语法检查了,如下图:

1

由于网站流量的限制,ZendCodeAnalyzer的windows和linux版本就不放出下载了,大家有需要在下面留言即可,我晚上会统一发送。

附:
其实这里还有个遗憾,就是没能做成像pyflakes一样的实时语法检查,之前尝试过实时检查,发现每次启动进程速度还是太慢了,可能需要考虑新的方法,这里如果有博友有好方法,欢迎不吝告知