2010-04-08 2 views
11

Я настроил CEDET для emacs после Alex article (отлично !!). Теперь вопросы:Emacs, Cedet и семантический

  1. Я сгенерированный GTAGS с Gnu Global в моем /usr/include, как я могу проверить, если семантический используют GTAGS?
  2. Могу ли я сохранить свой GTAGS в другом каталоге и указать семантику для использования этого каталога?
  3. В источниках C/C++ завершение инструкции включения (из системных заголовков) не содержит список всех доступных заголовков. Хорошо, это глупо проблема .. но заставляет меня думать, что что-то не работает правильно

ответ

16

Вы можете использовать команду:

M-x semantic-c-describe-environment RET 

, чтобы узнать о вашем пути поиска и настройки CPP макросов.

Для тестирования GNU Global использования, вы можете использовать:

M-x semanticdb-test-gnu-global RET printf RET 

искать "Printf" в в каком-то проекте. Поскольку ваш проект (возможно, в/home/you/myproject) не имеет printf, он будет терпеть неудачу, но если вы откроете файл в/usr/include и выполните ту же команду, он, надеюсь, идентифицирует printf.

Более общий способ, чтобы спросить о GNU Global является с:

M-x cedet-gnu-global-version-check RET 

Это все сказанное, поддержка GNU Global является лучшим в тех ситуациях, когда вы хотите иметь много и много preparsed файлов, доступ к которым нечасто , Как только заголовок будет доступен один раз (например, для printf), база данных GNU Global больше не будет использоваться, потому что для нее будет создана эквивалентная семантическая база данных. Это необходимо, потому что GNU Global не предоставляет достаточной информации для интеллектуального завершения.