适用于Vim的JS检查器(Syntastic | YouCompleteMe)?

时间:2015-11-15 04:48:39

标签: javascript vim jslint syntastic youcompleteme

我正在使用Syntastic直到在终端vim中安装YouCompleteMe。所以,问题是YouCompleteMe不允许Syntastic检查错误,但我需要两个插件。

YouCompleteMe有一些错误检查器,但我没有找到一种方法让它能够解决Javascript错误。

我该如何解决?

.vimrc for 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 for YCM:

" 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安装之前工作!

1 个答案:

答案 0 :(得分:0)

您可以使用Neovim而不是Vim与ALE插件以及可选的LanguageClient-neovim插件一起使用。

要使后者起作用,您还需要运行npm install -g javascript-typescript-langserver

这可以通过JavaScript语言服务器获得异步linting(ALE)和异步完成/ linting功能。