Vim и clang_complete, как явно запросить повторный анализ моего кода

Я использую Vim с clang_complete для полного завершения.

Плагин автоматически запускается, когда мне нужно завершить, например, после ввода . или же -> для доступа к членам объекта или методам (см. скриншот ниже).

clang_complete, показывающий методы std:: map

Плагин работает очень хорошо, однако мне понадобится способ запустить его вручную (т.е. скомпилировать мой код для проверки синтаксиса).

Это полезно по двум причинам:

  1. Статическая проверка синтаксиса
  2. Очистите предыдущие ошибки, которые были исправлены (которые в противном случае останутся в их буфере). Смотрите два скриншота ниже для лучшего понимания.

Любая помощь приветствуется. Благодарю.


Снимок экрана 1


Ошибка в строке 3


Снимок экрана 2


Исправлена ​​ошибка


2 ответа

Решение

Из документов clang_complete:

        *clang_complete-periodic_quickfix*
        *g:clang_periodic_quickfix*
If equal to 1, it will periodically update the quickfix window.
Default: 0
Note: You could use the g:ClangUpdateQuickFix() to do the same with a mapping.

Если вы установите эту переменную равной 1, она будет периодически обновлять окно быстрого исправления (и), или вы можете создать отображение таким образом:

nmap <leader>uq :call g:ClangUpdateQuickFix()

так что \uq вызовет обновление. (конечно, используя ВАШЕ отображение лидеров, естественно)

Если вы ищете проверку синтаксиса на лету, я предлагаю вам взглянуть на syntastic, который в основном запускает g++ --fsyntaxonly в вашем коде и отмечает ошибки в вашем буфере. Вы также можете настроить его для использования Clang!

Другие вопросы по тегам