2010-05-31 2 views
8

Из того, что я могу сказать из документов, семантических произведений, медленно создавая представление о том, что в вашем проекте, анализируя каждый файл (и, возможно, его соседи), когда вы их посещаете. Это слишком медленно. Я бы хотел, чтобы он посещал все файлы в моем проекте. Есть простой способ сделать это? Приходится посетить сотни файлов, прежде чем я смогу получить достойную работу автозаполнения, кажется сумасшедшей.Можно ли получить Семантический (emacs) автоматический доступ ко всем файлам?

У меня также есть файл etags. Могу ли я использовать это как-то?

Соответствующая информация: Emacs на Windows, версия 23.2.1

+0

Почему бы вам не взглянуть на GCCSense (http://cx4a.org/software/gccsense/)? –

+0

Bozhidar: вы знаете, если это будет конфликтовать с семантикой/cedet? – Yktula

ответ

7

Cedet будет автоматически анализировать все ссылки файлы через #include заявления, обеспечивая тем самым очень хороший завершение. Если вы хотите прыгать в своих файлах, вы можете настроить CEDET на использование GNU Global, CScope, чтобы предоставить базу данных, необходимую для перемещения по проекту по имени тега.

Кроме того, CEDET будет анализировать ваши заголовки и файлы поблизости в режиме простоя, поэтому в конечном итоге у вас будет полная база данных всех ваших локальных файлов примерно через 10 минут после использования инструментов в первый раз. Вы можете ускорить его, открыв файл и позвонив по телефону

M-x semantic-debug-idle-work-function 

, который выйдет и сделает это без ожидания.

+0

Спасибо, Эрик. Сейчас у меня есть свободные рабочие функции. На данный момент я подозреваю, что у меня небольшие проблемы с моей настройкой. Я использую интегрированную версию CEDET Emacs 23, поэтому все статьи, посвященные настройке, включают в себя вещи, которые больше не актуальны или не являются возможными. Используя простые тестовые примеры, я не могу получить Semantic, чтобы завершить что-либо, кроме самой простой информации в файле (т. Е. Не работает завершение переменной члена). Я также попробую GNU Global. Благодаря! – RealityMonster

1

В конце концов, я нашел, что лучшим решением является грубая синтаксическая разборка файлов вручную, используя немного elisp. Лучший ответ, который я нашел, - here.

Смежные вопросы