Я работаю с проектом С++ и пытаюсь настроить его на использование синтаксиса. В моем проекте у меня есть вложенная структура каталогов файлов заголовков (фактическая вложенная структура намного хуже, это пример).
--libs
|---dir1
|---foo1.h
|---dir2
|---foo2.h
|---foo3.h
|---dir3
|---foo4.h
Я включил файлы lib в файл .vimrc, используя:
let g: syntastic_cpp_include_dirs = ['libs/']
Я предположил, что все рекурсивные файлы заголовков будут возвращаться, но это не так. В коде синтаксис жалуется на ошибку "такой файл или каталог не найден".
Когда я явно изменяю эту переменную, ссылаясь на конкретный каталог:
let g: syntastic_cpp_include_dirs = ['libs/dir2/dir3/']
он работает.
Мои вопросы:
- Как вы настраиваете синтаксис, чтобы он включал заголовочные файлы из набора каталогов рекурсивно?
- Как вы это делаете для нескольких проектов? Всегда редактирование .vimrc при переключении проекта, над которым я работаю, звучит не так. Я считаю, что должен быть лучший способ.
EDIT:
Я не упоминал, что в моем .vimrc для синтаксиса присутствуют следующие параметры:
let g:syntastic_check_on_open=1
let g:syntastic_enable_signs=1
let g:syntastic_cpp_include_dirs = ['libs/dir2/dir3', 'libs/dir2 ]
let g:syntastic_cpp_check_header = 1
let g:syntastic_cpp_remove_include_errors = 1