Как заставить руководство Airlbb по eslint в стиле JavaScript работать в vim с реакции, es6?

Я довольно новичок в vim и начинаю новый проект javascript с редактором как vim(в настоящее время также учусь).

Я обнаружил, что есть несколько предустановок для руководства по стилю и линтинга, предоставляемых Airbnb, Google и некоторыми другими. Я также обнаружил, что могу использовать синтетический плагин vim, который может помочь мне включить linting и style-check в vim.

Но я не могу понять, как связать эти вещи в VIM? Какие файлы конфигурации мне нужно создать и как включить эти функции в плагине Syntastic vim? Также я хочу включить автофикс jscs при сохранении файла.

Изменить: я также использую реагировать с ES6.

Любое основное или подробное направление, учебная ссылка для достижения того же будет полезно.

Спасибо

1 ответ

Решение

В вашем домашнем каталоге создайте (или отредактируйте) файл с именем .vimrc, Вы можете сказать синтетическому, какой линтер использовать, добавив эту строку в ваш .vimrc

let g:syntastic_javascript_checkers = ['jscs']

Что касается автоматического исправления вашего кода при записи, см. Ответы на этот вопрос: Как я могу интегрировать функцию автофиксации jscs в vim?


Предложение / Обновить

Теперь JSCS объединен с ESlint, поэтому вы должны в конечном итоге поменять строки, вы можете отредактировать строку в своем .vimrc вместо этого использовать "eslint"; Вы можете настроить eslint с .eslintrc файл, или несколько других опций, подробно описанных в документации по настройке eslint, чтобы понять, что такое es6/ реакции, в настоящее время у меня есть мой.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

Я изменил код в этом ответе, чтобы работать с 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

Другие вопросы по тегам