2017-06-21 5 views
0

私はvimのシンセティックをeslintとjshintと一緒に正しくインストールしました。私は、JavaScriptのプログラミングのほとんどのjshintを好む。しかし、私はReactを学び始めており、eslintをsyntastic(eslintは反応に対して優れた/適切なlintingを持っています)と使用したいと考えています。ファイル拡張子に基づいて特定のチェッカーを使用するようにVimのSyntagを変更しますか?

* .jsファイルにはjshint、* .jsxファイルにはeslintを使用するようにvimを設定することはできますか?

私はfrom:help syntastic-checkersを参照してください。反応はjavascriptで集中します。リンターを連鎖することは、私が望むものでもありません。

+0

あなたは 'autocmd BufRead、BufNewFile * .jsxを試してみることができます。b:syntastic_checkers = ['eslint']'。これは、 'autocmd'を実行するためにVimが選択する順序に依存して、' syntastic_check_on_open'で動作するかどうかは関係ありません。開いている状態で 'jshint'を実行している場合、' * .js'にも同様の 'autocmd'を追加し、' g:syntastic_javascript_checkers'は設定しないでください。 – lcd047

+0

私を答えに導いてくれてありがとう、@ lcd047! – bradleyhop

答えて

-1

見つけました!あなたは@ lcd047に非常に近いですが、あなたのコメントは私を正しい道に導きます!私.vimrc作品に以下を入れ、唯一* JSXファイルのeslintを有効にするには:私の場合は

au BufEnter *.jsx let b:syntastic_checkers = ['eslint']

、syntasticはチェッカーが.vimrcに設定されていない場合でも、デフォルトではJavaScriptをjshintを使用します。上記の設定はg:syntastic_javascript_checkersが設定されていなくても、私の場合はjshintに設定されていても有効です。

+0

'BufEnter'の' autocmd'は 'syntastic_check_on_open'では間違いなく動作します。でも、私を無視しても構いません。 – lcd047

+0

@ lcd047、おそらく私はバグを見つけましたか?私はまだ上記と同じ動作をします:javascriptファイルの場合はjshint、* .jsxファイルの場合はeslintです。私はまた、私のvimrcに 'g:syntastic_check_on_open = 1'を持っています。私は2つのチェッカーをnpm経由でグローバルにインストールしました。 syntasticの主な貢献者として、私はあなたの助けに感謝します。ちょっと私が教師のトレーニングと自分の経験不足/興奮を見せているように思えば、私を許してください。 – bradleyhop

+1

何が起きるかを理解する上で不具合があります。 'check_on_open'は' BufRead'で実行され、 'BufRead'は' BufEnter'の前に適用されます。 'b:syntastic_checkers'はアクティブモードで' check_on_open'を実行する最初の時刻に設定されません。 – lcd047

関連する問題