如何使用JSHintconfigurationSyntastic?
如何使用JSHint的Syntastic Vim插件来validationJavaScript代码?
环境:
- Ubuntu 11.04
- VIM – Vi改进7.3
我已经安装了VIM + JSLint的解决scheme? :
- Vundle
- 的node.js
- 节点包pipe理器
- jshint,全球
- 通过Vundle安装的Syntax(在Vim中使用:BundleInstall命令确保安装了Syntastic。)
.vimrc中:
set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc() " let Vundle manage Vundle " required! Bundle 'gmarik/vundle' " My Bundles here: Bundle 'scrooloose/syntastic' filetype plugin indent on " required! let g:syntastic_enable_signs=1 let g:syntastic_auto_jump=1 let g:syntastic_stl_format = '[%E{Err: %fe #%e}%B{, }%W{Warn: %fw #%w}]' set statusline+=%#warningmsg# set statusline+=%{SyntasticStatuslineFlag()} set statusline+=%*
寻找已安装的可执行文件:
$ which gjslint $ which jslint $ which jsl $ which jshint /home/fernando/local/node/bin/jshint $ $ echo $PATH >/home/fernando/local/bin:/home/fernando/local/node/bin:/home/fernando/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games $ jshint test.js
test.js:第3行,第1列,“blbla”未定义。
test.js:第4行,第1列,“x”未定义。
test.js:第4行,第5列,“nonono”未定义。
test.js:第6行,第1列,未定义“a”。
test.js:第7行,第1列,“b”未定义。
test.js:第8行,第5列,未定义“a”。
test.js:第8行,第10列,“b”未定义。
test.js:第8行,第7列,预期的“===”,而是看到“==”。8错误
$ vi test.js -- no error message shown :SyntasticEnable -- Vim exits and restarts, opening the same file, but still no message :w -- still no error message :Errors -- the location list opens but it is empty
jshint和Syntastic都似乎已经安装,但可能会丢失一些东西。 会是什么?
这是一个更新的信息,有一个configuration文件扩展名与检查器相关联,
在你的.vimrc
let g:syntastic_javascript_checkers = ['jshint']
也要获取有关在vim中运行此命令的信息
:SyntasticInfo
你会得到类似这样的输出:
Syntastic info for filetype: javascript Available checkers: gjslint jshint Currently active checker(s): gjslint Press ENTER or type command to continue
我只是有同样的问题。 原来,Syntastic在寻找jshint之前寻找jsl
(JSLint)。 如果你们都安装了,你可能会被误导。 我把jsl
移到了不在我PATH的地方,jshint被检测到很好。
我在这个问题上苦苦挣扎了好几天, SyntasticInfo
即使在添加let g:syntastic_javascript_checkers['jshint']
到我的.vimrc
后, SyntasticInfo
也不会将jshint
识别为可用的检查器。 我使用的是Ubuntu 15.04,我按照这个教程在Ubuntu上安装了nvm,nodejs和jshint。 之后,我发现,如果我从我的.vimrc
删除行filetype plugin indent on
然后打开一个.js
文件一切工作完美! 总结…
- 按照上面链接的教程
- 将
~/.nvm/<version_number>/bin
到.bashrc
path - 从
.vimrc
删除filetype plugin indent on
- 将
let g:syntastic_javascript_checkers['jshint']
到.vimrc
-
:so %
在vim里面 - 打开一个
.js
文件 - 添加
filetype plugin indent on
到您的.vimrc
- 一切都神奇地现在工作