使用Syntastic和ESLint的Vim:显示警告

13
我正在使用带syntastic插件和eslint的Vim。
当我保存JavaScript文件时,我可以看到错误信息,但无法显示警告信息。
以下是我的.vimrc文件内容:

let g:syntastic_javascript_checkers = ['eslint']

我使用以下命令安装了eslint:

npm install eslint -g

我正在运行Linux Mint 17系统。
如何让警告信息出现?

2
Eslint默认会报告警告,除非您使用 --quiet。你有 .eslintrc 文件吗? - romainl
我无论是否有 .eslintrc 文件,都没有看到警告。 - Jonathan.Brink
2
当您直接在shell中运行eslint时会发生什么? - romainl
谢谢,我之前不知道可以从命令行运行它。 通过运行“eslint /path/to/file.js”,它返回与我在 Vim 中看到的相同的结果...只有错误,没有警告(即使我知道代码存在警告,例如“curly”规则)。 - Jonathan.Brink
3
好的,这是一个ESLint问题。请尝试使用他们的问题跟踪器或在此处提问另一个没有vim标签并附有简短代码示例的问题。 - romainl
感谢对此的帮助。 结果发现我运行的代码规则本来就是错误的。当我添加JavaScript注释/* eslint <rule> = 1 */时,我现在可以在命令行和vim中看到警告了。 - Jonathan.Brink
2个回答

11

问题在于,我原以为我的文件中有“警告”,但实际上并没有。

当我加入一个真正的警告后,它才能正确显示。

不过,我学到的一些建议是首先直接在命令行上使用类似于eslint的工具来运行文件:

eslint /path/to/file.js

然后将这些结果与您在Vim中看到的结果进行比较。

另一个提示是,您可以使用注释语法即可实时更改规则,如下:

/*eslint <rule>=1*/

8

我不知道这是否对你有帮助,但我会把它放在这里。我遇到了类似的问题,但在我的情况下,它与syntastic的版本有关,因此简单的git pull解决了它。我的vim配置有点标准,所以我会分享一下:

let g:syntastic_mode_map = { 'mode': 'active',
                            \ 'active_filetypes': ['python', 'javascript'],
                            \ 'passive_filetypes': [] }

set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_javascript_checkers = ['eslint']

当您打开包含一些错误的文件时,它应该将其显示在错误窗口中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接