Как заставить руководство 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