Синтастик, кажется, не работает должным образом для меня. Он установлен: SyntasticInfo говорит, что все в порядке (активный режим включен, тип файла cpp, проверка — ycm). На первый взгляд все выглядит хорошо, потому что выглядит так:
У меня есть мои знаки слева и список мест внизу. Но как только я перемещаю курсор, знаки и список локальных объектов исчезают, и это выглядит так:
Единственное исключение из этого правила — вход в режим вставки прямо при запуске. Но, конечно, как только я покидаю его, все исчезает.
Теперь я знаю, что есть такие команды, как :SyntasticCheck
или же :Errors
и они делают точно … ничего. Я набираю их, я их выполняю и все. Как будто я ничего не сделал. Естественно, сохранение файла также не дает никакого результата.
Мой .vimrc выглядит так:
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list=1
let g:syntastic_check_on_open = 1
let g:syntastic_cpp_compiler_options = ' -std=c++11 -Wall'
Если я уберу эти строки, у меня даже не будет знаков и списка мест при запуске. Так что да, я действительно в растерянности здесь.
Оказывается, это была скорее проблема YouCompleteMe, чем Syntastic. YCM автоматически устанавливает себя в качестве средства проверки синтетического (для совместимых языков), а также требует .ycm_extra_conf.py
который должен содержать флаги компиляции для компилятора ycm. Без этих флагов он не способен компилировать код или обнаруживать какие-либо ошибки.
Других решений пока нет …