私は端末vimにYouCompleteMeをインストールするまでシンタックスを使用していました。ですから、YouCompleteMeはSyntasticにエラーチェックをさせませんが、私は両方のプラグインが必要です。Vim(Syntax | YouCompleteMe)用の互換JSチェッカー?
YouCompleteMeにはいくつかのエラーチェッカーがありますが、Javascriptエラーの原因を調べる方法が見つかりませんでした。
どうすれば修正できますか? YCM用Syntastic
let g:syntastic_always_populate_loc_list = 0
let g:syntastic_auto_loc_list = 2
let g:syntastic_loc_list_height = 8
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 1
let g:syntastic_aggregate_errors = 1
let g:syntastic_id_checkers = 1
let g:syntastic_error_symbol = "✗"
let g:syntastic_warning_symbol = "⚠"
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_javascript_checkers = ['jslint', 'jsonlint', 'gjslint']
let g:syntastic_html_tidy_exec = 'tidy5'
の.vimrcため
の.vimrc:
" YouCompleteMe and UltiSnips compatibility, with the helper of supertab
let g:ycm_key_list_select_completion = ['<A-¶>', '<A-Space>', '<Down>']
let g:ycm_key_list_previous_completion = ['<A-§>', '<A-π>', '<Up>']
" You Complete Me Options
let g:ycm_show_diagnostics_ui = 0
let g:ycm_enable_diagnostic_highlighting = 0
let g:ycm_enable_diagnostic_signs = 0
let g:ycm_show_diagnostics_ui = 0
let g:ycm_open_loclist_on_ycm_diags = 0
let g:ycm_complete_in_comments = 0
let g:ycm_complete_in_strings = 0
let g:ycm_collect_identifiers_from_comments_and_strings = 0
let g:ycm_collect_identifiers_from_tags_files = 1
:SyntasticInfo
出力
> Syntastic version: 3.7.0-31 (Vim 704, Darwin)
> Info for filetype: javascript
> Global mode: active
> Filetype javascript is active
> The current file will be checked automatically
> Available checkers: -
> Currently enabled checkers: -
利用可能なチェッカーを有効にした理由がわかりません。彼らはそこにいて、YCMインオレーションの前に働いていました!
YCMは、C、C++、Objective-C、Objective-C++ファイルのシンセティックチェッカーを無効にします(その動作を無効にするオプションもあります)。他のすべての場合、YCMはコードの補完のみを行い、チェックは行いません。そして、syntasticと平和的に共存することができます。 JavaScriptリンタをシンセティックで使用できるようにするには、マニュアルを読むことを検討しましたか?恐ろしい視点、私は知っています。 – lcd047
@ lcd047私はドキュメントを読んだが、実際には "ターンオフ"オプションが見つかりませんでした。私はいくつかの** let **変数を追加して、エラーを表示しても無駄なYCMオプションを無効にしましたが、Syntasticはまだ動作しません。私はSyntextのドキュメントも読んでいますが、すべては問題ありません。私は '':SyntasticInfo''を使うとチェッカーを認識していないことに気付きました。上の出力を見て、私は質問を更新するつもりです。 –
これは、シンセティックをデバッグするのには適していません。課題トラッカーは[この方法]です(https://github.com/scrooloose/syntastic/issues)。 – lcd047