Очень специфические трудности установки 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.