2016-06-03 5 views
1

Ich bin ziemlich neu zu vim, und ein neues Javascript-Projekt mit Editor als Vim (derzeit lernen ebenso).Wie man Airbnb's JavaScript Stil Eslint Guide funktioniert in Vim mit Reagieren, es6?

fand ich, dass es einige Voreinstellungen für Styleguide sind, und durch Airbnb, Google und einige andere zur Verfügung gestellt Fusseln. Ich habe auch gefunden, dass ich das syntastische vim-Plugin benutzen kann, das mir helfen kann, linting und style-check in vim zu aktivieren.

Aber ich kann nicht herausfinden, wie Sie diese Dinge in Vim verknüpfen? Welche Konfigurationsdateien muss ich erstellen und wie kann ich diese Funktionen im Syntastic vim plugin aktivieren? Auch ich möchte jscs Autofix auf Datei speichern Funktion aktivieren.

Edit: Ich benutze auch mit es6 reagieren.

Jede grundlegende oder detaillierte Richtung, Tutorial-Link, um das gleiche zu erreichen, wird hilfreich sein.

Dank

Antwort

4

In Ihrem Home-Verzeichnis (oder bearbeiten), um die Datei .vimrc genannt, können Sie syntastic, die Linter erzählen von verwenden, um diese Zeile zu Ihrer Wie .vimrc

let g:syntastic_javascript_checkers = ['jscs'] 

hinzufügen, um automatisch Ihre Fixierung Code auf Schreib finden Sie die Antworten auf diese Frage: How can I integrate jscs autofix feature into vim?


Sugge sion/Update

JSCS ist jetzt mit ESlint verschmolzen, so sollten Sie Linters schließlich wechseln, können Sie die Zeile in Ihrem .vimrc bearbeiten, stattdessen "eslint" zu verwenden; Sie können eslint mit einer .eslintrc-Datei oder mehrere andere detaillierte Optionen in eslint's configuration docs so konfigurieren, dass sie die es6/reagieren Sachen verstehen zu bekommen, zur Zeit habe ich my .vimrc Setup bekam verschiedene Linters in verschiedenen Situationen wie diese verwenden:

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 

ich habe den Code in that answer modifiziert mit eslint arbeiten

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 

, die auf Schreib auto-Fix-Code sollte, oder wenn :FixJS

+0

jscs dem Befehl ist merg ed with eslint, heißt es, eslint wird auch Funktionen von jscs bieten? Muss ich eslint über npm auch installieren? Bitte schlagen Sie mir auch vor, wie Airbnb voreingestellt als meine linting Regel verwendet wird? – WitVault

+0

Ja, eslint hat jetzt eine '--fix' Option, die alles was jscs war, tun, das jscs Team unterstützt nun eslint. – JKirchartz

+0

@JKirchartz gibt es eine Möglichkeit, es zu verwenden, ohne lokal den eslint Stil in jedem Modul zu installieren? – zipp

Verwandte Themen