emacs24 — Попытка настроить проект C ++ с помощью CEDET / EDE

У меня есть пара C ++ проектов, над которыми я работаю. Я использовал семантику ради автодополнения. Тем не менее, я хочу лучше использовать инструменты там.

У меня есть следующая структура каталогов

  • проект /
    • Makefile
    • SRC /
      • мои файлы .cpp и .h
      • couple_other_directories /
    • тестовое задание/
      • мои тестовые файлы

В настоящее время у меня есть следующее в моем .emacs

(load-file "~/.emacs.d/vendor/cedet-bzr/cedet-devel-load.el")

(add-to-list 'semantic-default-submodes 'global-semanticdb-minor-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-local-symbol-highlight-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-scheduler-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-completions-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-idle-summary-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-show-parser-state-mode)
(add-to-list 'semantic-default-submodes 'global-semantic-highlight-edits-mode)
(semantic-mode 1)
(require 'semantic/ia)

(require 'semantic/bovine/clang)

;; PROJECTS

(global-ede-mode t)

(ede-cpp-root-project "MyProject":name "My Project":file "/path/to/project/Makefile":include-path '("/path/to/first/includes""/path/to/second/include")
:system-include-path '()
:spp-table '())

Всякий раз, когда у меня открыт проект, и C-c . g Я получаю ошибку в мини-буфере Method project-rescan called on nil Что мешает мне сканировать все мои исходные файлы ради автозаполнения.

Что я здесь не так делаю?

Я пытался следовать за Алексом Оттом Нежное введение в CEDET но ничего не говорится об этой ошибке.

Я также использую CEDET с базара.

Это то, что мой M-x cedet-version похоже.

CEDET Version:  2.0
Requested   File        Loaded
Package           Version     Version     Version
----------------------------------------------------------
cedet:            2.0         ok          ok
eieio:            1.4         ok          ok
semantic:         2.2         ok          ok
srecode:          1.2         ok          ok
ede:              1.2         ok          ok
cogre:            1.2         ok          Not Loaded
cedet-contrib:    1.2         nil         Not Loaded

Любая помощь будет принята с благодарностью.

Заранее спасибо!

3

Решение

Связывание клавиш C-c . g который связан с ede-rescan-toplevel предназначен для сканирования данных определения проекта, а не для анализа ваших исходных файлов. Так как ede-cpp-root-project не имеет данных определения в проекте, он никогда не реализовывал эту функцию.

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

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]