Очень специфические трудности установки CEDET - PullRequest
4 голосов
/ 07 января 2012

У меня есть следующие настройки: я работаю с проектами C ++ в рамках пользовательской системы сборки, и каталоги исходного кода не очень стабильны на моей машине для разработки, потому что я постоянно проверяю конкретные версии некоторых проектов в их собственных каталогах(из единственного исходного каталога, в котором я храню весь исходный код) для обслуживания или разработки новых функций, а затем удаляю их, когда я закончу.Я хочу использовать EDE / CEDET, но я не хочу хранить определения проектов в моей домашней области.Что мне действительно нужно, так это какой-то автозагрузчик, который, кажется, существует, но я не могу разобраться в документации.Может кто-нибудь подсказать, пожалуйста, как настроить такую ​​вещь?

1 Ответ

1 голос
/ 18 января 2012

Есть несколько вариантов, но я предполагаю, что когда ваш проект C ++ обнаруживается в нескольких случайных местах, вы хотите создать собственный способ автоматического создания проектов ede-cpp-root.

Если вы посмотрите в ede / ede-cpp-root.el или в emacs lisp / cedet / ede / cpp-root.el, в комментариях вверху найдите ADVANCED EXAMPLE.Здесь показано, как создать в вашем .emacs три простые функции с правилами, которые будут создавать новые проекты при обнаружении.

Допустим, каждый из ваших проектов находится в директории, подобной этой:

/home/BD/somewhere/MYPROJ/

тогда у вас может быть код в MY-FILE-FOR-DIR (из примера), который выглядит следующим образом:

  (when (string-match "/MYPROJ/" dir)
      (expand-file-name "Makefile" (substring dir (match-end 0)) )

или если в каждом проекте всегда есть какой-то специальный файл, например ".SPECIAL", выможет иметь

  (when (file-exists-p (expand-file-name ".SPECIAL" dir)))
      (expand-file-name ".SPECIAL" dir))

Скорее всего, вы сможете получить много денег из простого кода Emacs Lisp.

...