如何让Airbnb的JavaScript风格的eslint指南在vim中使用react,es6?

时间:2016-06-03 14:31:49

标签: javascript vim eslint jscs

我对vim相当新,并且使用编辑器作为vim开始一个新的javascript项目(目前正在学习)。

我发现风格指南有一些预设,而 Airbnb Google 和其他一些提供了linting。我还发现我可以使用syntastic vim插件来帮助我在vim中启用linting和style-check。

但是我无法弄清楚如何在vim中链接这些东西?我需要创建哪些配置文件以及如何在Syntastic vim插件中启用这些功能?另外,我想在文件保存功能上启用jscs autofix。

编辑:我也在使用与es6的反应。

任何基本或细节方向,实现相同的教程链接都会有所帮助。

由于

1 个答案:

答案 0 :(得分:4)

在您的主目录中创建(或编辑)名为.vimrc的文件,您可以通过将此行添加到.vimrc

来告知合成器使用哪个linter
let g:syntastic_javascript_checkers = ['jscs']

至于在写入时自动修复代码,请参阅此问题的答案:How can I integrate jscs autofix feature into vim?

<强>建议/更新

JSCS现在已与ESlint合并,因此您最终应该切换短片,您可以在.vimrc中修改该行以使用&#39; eslint&#39;代替;您可以使用.eslintrc文件或eslint's configuration docs中详述的其他几个选项配置eslint,以使其了解es6 / react内容,目前我已设置my .vimrc在不同的情况下不同的短裤如下:

if has("autocmd")
    " use google/jshint for js "
    autocmd FileType javascript.js let g:syntastic_javascript_checkers = ['gjslint','jshint']
    " use eslint for jsx "
    autocmd FileType javascript.jsx let g:syntastic_javascript_checkers = ['eslint']
else
    " if an older version of vim without autocmd just use google/jshint "
    let g:syntastic_javascript_checkers = ['gjslint','jshint']
endif

我修改了that answer中的代码以使用eslint

function! FixJS()
    "Save current cursor position"
    let l:winview = winsaveview()
    "run eslint fix on current buffer"
    ! eslint --fix %
    "Restore cursor position"
    call winrestview(l:winview)
endfunction
command! FixJS :call FixJS()

"Run the FixJS command just before the buffer is written for *.js files"
autocmd BufWritePre *.js FixJS

应该在写入时自动修复代码,或者在使用命令:FixJS

时自动修复代码