带有 syntastic 和 eslint 的 vim:显示警告

Posted

技术标签:

【中文标题】带有 syntastic 和 eslint 的 vim:显示警告【英文标题】:vim with syntastic and eslint: show warnings 【发布时间】:2015-02-21 20:56:59 【问题描述】:

我将 Vim 与 syntastic 插件和 eslint 一起使用。

当我保存 javascript 文件时,我可以看到错误出现得很好,但我无法显示警告。

这是我的 .vimrc 中的内容:

让 g:syntastic_javascript_checkers = ['eslint']

我安装了 eslint:

npm install eslint -g

我正在运行 Linux Mint 17

如何让警告出现?

【问题讨论】:

Eslint 默认报告警告,除非你使用--quiet。你有.eslintrc 文件吗? 我没有看到带有或不带有 .eslintrc 文件的警告 直接在 shell 中运行 eslint 会发生什么? 谢谢,我不知道你可以从命令行运行它。运行“eslint /path/to/file.js”,它返回的结果与我在 Vim 中看到的结果相同……只有错误,没有警告(即使我知道代码有警告……比如“curly”规则) 好的。这是一个 eslint 问题。试试他们的问题跟踪器,或者在这里不带 vim 标签和简短的代码示例问另一个问题。 【参考方案1】:

事实证明,这里的问题是我认为我的文件中的“警告”实际上并不是警告。 当我在文件中添加 实际 警告时,它会正确显示。

我学到的一些建议是首先在命令行上直接使用类似这样的 eslint 运行文件:

eslint /path/to/file.js

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

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

/*eslint <rule>=1*/

【讨论】:

【参考方案2】:

我真的不知道它是否会帮助你,但我会放在这里。我有一个类似的问题,但在我的情况下,它与 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']

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

【讨论】:

以上是关于带有 syntastic 和 eslint 的 vim:显示警告的主要内容,如果未能解决你的问题,请参考以下文章

兼容 Vim 的 JS 检查器(Syntastic | YouCompleteMe)?

syntastic - 设置 jslint 参数

带有 ESLint 和 Prettier 的 TypeScript 轻量级脚本支持

ESLint VueJS v-slot

Vim 声明函数中的 Syntastic 可能无法返回

带有 React 的 ESLint 给出了 `no-unused-vars` 错误