EMACS для разработки C++ — проблема с завершением кода CEDET и проектом

Я настраиваю EMACS для проекта C++ на UBUNTU. Я пока успешно устанавливаю

  1. ЕЦБ
  2. CEDET — завершение кода и другие функции работают.
  3. Цветовая тема

У меня проблемы с пакетом EDE. Меню "Проект" не отображается. Я добавил (global-ede-mode t) в файл .emacs, но безуспешно. Нужно ли устанавливать пакет EDE отдельно или он поставляется вместе с CEDET? Как я могу решить эту проблему и иметь меню проекта?

Моя вторая проблема заключается в том, что семантика не может найти системные включаемые файлы. Он говорит, что не может найти заголовочный файл, поэтому завершение кода не работает для стандартной библиотеки. Я добавил (require'semantic-gcc), но безуспешно. Я решил эту проблему, добавив (semantic-add-system-include "/usr/include/c++/4.3" 'c++-mode), но я не думаю, что это правильный подход. Как заставить (require'semantic-gcc) работать?

Вот файл .emacs.

(load-file "~/emacs/cedet/common/cedet.el")
(load-file "~/emacs/cedet/ede/ede.el")
(semantic-load-enable-minimum-features)
(semantic-load-enable-code-helpers)
(semantic-load-enable-gaudy-code-helpers)
(semantic-load-enable-excessive-code-helpers)
(semantic-load-enable-semantic-debugging-helpers)
(require 'semantic-ia)
(require 'semantic-gcc)
(add-to-list 'load-path  "/home/nkn/emacs/ecb-2.40")
(require 'ecb)
(require 'ecb-autoloads)
(setq ecb-tip-of-the-day nil)
(ecb-activate)

;; custom key bindings for smart completion
(global-set-key "\C-x\C-m" 'semantic-ia-complete-symbol-menu)

(load "/home/nkn/emacs/color-theme-6.6.0/color-theme.el")
(color-theme-initialize)
(setq color-theme-is-global t)
(color-theme-classic)

(require 'ede)
(setq global-ede-mode t)

(semantic-add-system-include "/usr/include/c++/4.3" 'c++-mode)

Я уже проверил Alex статья на эту тему и не смог найти никакой информации, касающейся моих проблем.

Любая помощь будет оценена по достоинству.

Изменить

Версия CEDET: cedet-1.0pre6


person Navaneeth K N    schedule 26.09.2009    source источник


Ответы (2)


какую версию CEDET вы используете?

вторая строка конфигурации не нужна - первая строка должна загрузить все...

из строк 3-7 нужно оставить только одну, с нужным набором характеристик. в большинстве случаев вам нужно использовать только строку 4 или 5

EDE надо активировать по строке (global-ede-mode 1) - по крайней мере у меня так работает. Вы можете просмотреть мою конфигурацию cedet

person Alex Ott    schedule 27.09.2009
comment
Я использую cedet-1.0pre6. Вы говорите, что мне нужна только строка 4 или 5? Есть ли статья, которая подробно объясняет проект EDE, как ваша статья? Спасибо за ответ - person Navaneeth K N; 27.09.2009
comment
лучше использовать версию из CVS, в которой много исправлений. О EDE можно прочитать только в официальной документации - о других компонентах CEDET я планирую написать подробнее, но сейчас нет времени... - person Alex Ott; 27.09.2009
comment
Еще раз спасибо Алекс. Попробую сам настроить. Ваша статья просто замечательная и мне очень помогла. - person Navaneeth K N; 27.09.2009
comment
Я заметил, что меню проекта появляется только тогда, когда я открываю какой-либо файл, который находится в этом проекте. Но как начать новый проект? Меню не появляется, если я запускаю пустое окно emacs (только с командой emacs, без имени файла). - person Navaneeth K N; 27.09.2009

Меню «Проект» EDE появляется только в том случае, если вы находитесь в проекте. EDE может автоматически определять проекты, такие как любые каталоги с файлами Automake. Он также автоматически обнаружит Emacs или ядро ​​Linux.

Чтобы создать новый проект с нуля, используйте команду ede-new. Затем вам нужно будет знать, какой проект вы хотите создать. Проекты, созданные таким образом, создадут файл Project.ede и могут автоматически сгенерировать Makefile для вас.

Чтобы заставить работать поддержку автоопределения gcc, попробуйте:

M-x семантическая-c-описать-окружающая среда

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

M-x семантическая-gcc-настройка

чтобы заставить его работать. Это будет сделано автоматически, если вы используете систему gnu, gnu/linux, mac или cygwin.

person Eric    schedule 28.09.2009