emacs Semantic / senator: автозаполнение для внешних библиотек

Кажется, этот форум более живой, чем список рассылки: http://sourceforge.net/mailarchive/forum.php?forum_name=cedet-semantic. Я хотел бы сделать репост о своем квесте неделю назад:

Прежде всего, привет всем, кто вносит свой вклад в этот замечательный пакет, такой как CEDET: D.

Без особой суеты я могу приступить к работе с большей частью фьючерсов CEDET, но когда дело доходит до сенатора / семантики, вещи становятся более продуманными: \.

Разбор локальных файлов в порядке. Я не использую EDE, чтобы не усложнять задачу. Я использую версию 1.0.6 git trunk для совместимости с ECB.

  1. Во-первых, это шумиха вокруг emacs core / cedet git-trunk hussle. Как мне проверить, что текущая установка работает с последним? (Я сделал несколько модификаций .emacs, см. Ниже).

  2. Обычно я не могу получить правильную работу автозаполнения для внешних библиотек - в данном случае это проект OGRE3D, который находится в / usr / include / OGRE. Полагаю, я добавил к «пути поиска», как правильно, semantic-describe-c-env. видит, что они добавлены правильно.

2.a Каковы основные команды семантического парсера? , то есть мне нужно заставить его проанализировать желаемое включение.

Однажды я увидел семантический парсинг файлов OGRE в «время простоя». Тем не менее автозаполнение не работает (OGRE: RAY не распознается как тип). сенатор-завершение-меню-всплывающее окно дает некоторую несоответствующую 'c ** p'

2.b Я знаю, что есть варианты настройки семантики, но их описание мало что мне говорит.

Из другого поста:

"Да, это требует затрат на установку. Вы можете использовать semanticdb.sh для предварительного синтаксического анализа вашего кода, но если вы никогда не откроете каждый файл, вы можете получить Emacs с такой огромной структурой данных, что становится больше, чем может справиться ваша машина. Если ваш проект небольшой, это не должно быть проблемой ».

Ну это могло быть, если что бы разобрать OGRE.

вот мой .emacs:

.emacs на pastebin.com


person paul424    schedule 16.05.2012    source источник


Ответы (1)


Вот что я получил в списке рассылки, надеюсь, что это кому-то поможет, спасибо Эрику Лудламу: D:

======================

1. First is the rumble about the emacs core / cedet git-trunk hussle. How do I check that current installation is running the latter ? ( I have done some .emacs modificaitons see below) . 

После запуска emacs используйте:

M-x cedet-версия RET

и ищите версию 1.1 в CEDET / bzr.

Я просто попробовал это и заметил, что не все имеет правильный номер версии. Интересный. Я должен разобраться в этом.

В любом случае, следующее, что нужно попробовать:

M-x локальная библиотека RET cedet RET

и убедитесь, что он указывает именно там, где вы думаете.

2. I generally cannot get the proper autocomplete working for external libs - in this case the OGRE3D project, which all are in the /usr/include/OGRE. I suppose I have added to 'search path' include properly, semantic-describe-c-env. sees them added properly. 

Если вы включите режим global-semantic-decoration-mode, вы можете щелкнуть правой кнопкой мыши файлы заголовков, и он предоставит вам некоторые параметры, например, показать, где находится заголовок, и показать, был ли он проанализирован или нет.

2.a What are the basic commands to the semantic parser ? , that is I need to force it to parse the desired includes. 

Вы можете использовать меню включения, чтобы принудительно проанализировать заголовок, или посетить указанное включение. Если он не может его найти, вы также можете добавить OGRE в свой путь оттуда.

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

C-u M-x бычковатая RET

to do it.

Once I saw semantic parsing the OGRE files in the 'idle time'. Still the autocomplete does not work ( OGRE:RAY is not recongized as a type). senator-completition-menu-pop gives some non-matching 'c**p' 

Автозаполнение может не работать по многим причинам. Лучший способ узнать, почему:

M-x семантический анализ-отладочная помощь RET

в том месте, где вы хотите завершить. Он расскажет вам о ваших файлах заголовков, символах и т. Д. Возможно, символы препроцессора нуждаются в некоторой настройке.

Для больших сложных заголовков библиотек иногда просто нужно правильно настроить символы препроцессора в Semantic, чтобы правильные биты заголовков анализировались на наличие символов. Вам нужно будет посетить заголовок, где находится символ, который вы хотите заполнить, и посмотреть, был ли он проанализирован. С использованием:

M-x boviante RET

сбросит таблицу символов.

2.b I know there are customize-group options for semantic, tough their description say little to me.

    From the other post: 

"Yes, there is a setup cost. You can use semanticdb.sh to pre-parse your code, but if you never open *every* file, you might end up with Emacs having such a huge data structure it gets larger that your machine can handle. If your project is small, this shouldn't be a problem." Well this might be, if that would parse OGRE. 

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

Эрик

===================================

person paul424    schedule 29.06.2012