Я использую CEDET (последние CVS) с несколькими умеренно большими проектами (несколько сотен kLOCs каждый, в основном C, но некоторые С++), и иногда испытывают длительные паузы, в которых система полностью не отвечает на секунды. Реже он полностью выходит из-под контроля, и я должен затормозить C-g
и попытаться переместить курсор или переключиться на другой буфер, чтобы получить контроль.
Я использую GNU Global для создания тегов для проектов, с которыми я работаю, но это все же иногда медленное, особенно для semantic-symref-symbol
, и некоторые переходы, которые, похоже, требуют разбора большого количества заголовков и исходных файлов. В некоторых случаях ошибки semantic-ia-fast-jump
с сообщением semantic-ia--fast-jump-helper: Tag SomeFunction has no buffer information
, хотя gtags-find-tag
находит его немедленно (в том же проекте), хотя, возможно, на устаревшем месте; это может быть временная ошибка, обычно semantic-ia-fast-jump
является надежной.
Я был бы признателен за любые предложения о том, как
- Дроссель CEDET без потери семантического анализа.
- Узнайте, что привело CEDET к выходу из-под контроля, поэтому я могу исправить свои определения проекта или написать отчет об ошибке.
- Определите, почему не выполняется семантический анализ.
- Получите семантику для кэширования дополнительной информации, чтобы сделать ее более отзывчивой, у меня много памяти, которую я бы хотел использовать.
- Управление GNU Global (создание и сохранение текущих) для нескольких проектов в разных местах, включая системные каталоги.
- Управление зависимостями между проектами, которые я настроил с помощью
ede-cpp-root-project
. - Управляйте проектами с несколькими конфигурациями сборки, каждый со своим собственным "config.h" и каталогом сборки.
В статье есть несколько советов http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html, я ищу что-либо за пределами этой статьи.