Очень специфические трудности установки CEDET

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

1 ответ

Решение

Есть несколько вариантов, но я предполагаю, что когда ваш проект 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.

Другие вопросы по тегам