Может ли Emacs поддерживать концепцию проектов? Здесь несколько вариантов конфигурации различаются в зависимости от того, над каким проектом вы работаете.





Обычно вы не ожидаете, что emacs будет знать о различиях в требованиях к сборке - вы позволяете системе сборки (make или другой) позаботиться об этом. Для обработки другого стандарта кодирования определите локальные файлы yourproject.el для установки переменных, загрузки и выгрузки локальных режимов и т. д. (Используйте M-x load-file для его запуска).
Чтобы быть педантичным, Emacs может поддерживать все, что угодно, поскольку это среда выполнения языка Lisp, которая, так сказать, имеет редактор поверх нее.
Чтобы быть конкретным, некоторые надстройки для Emacs поддерживают проекты, например JDEE.
Чувак, как упоминалось в другом ответе, EMACS может делать что-нибудь. Тем не менее, давайте немного расширим, что означает «проект» в этом контексте. В большинстве IDE, таких как Eclipse, Netbeans, Visual Studio или Xcode, «проект» означает две вещи: макет файла для частей, которые принадлежат друг другу, и инструкции системе сборки для создания элемента, состоящего из этих частей.
В EMACS у вас есть полный контроль над этими вещами, но то, как они работают вместе, зависит как от целевой среды - Lisp, Java, C / C++ и так далее. Lisp поддерживается SLIME, Java - JDEE, C / C++ - встроенными режимами и множеством соглашений; Контроль версий также встроен, если вы хотите его использовать.
В большинстве случаев детали сборки не сильно влияют на сам редактор, но вы можете специализировать поведение для конкретных файлов, используя модели или локальные переменные. В JDEE встроено особое понятие «проект».
С какими языками и средами вы пытаетесь работать?
Я работаю в Clojure с использованием Slime, моя проблема в основном заключается в том, чтобы иметь правильный CLASSPATH для проекта Slime.
Проверьте плагин локальные переменные проекта. Я не использовал его лично, но видел, что он упоминается в документации режима Rinari для определения области действия функции find-file-in-project.
Я думаю, что это хороший пример (хотя: «Обратите внимание, что с мая 2008 года эта функциональность была реализована в Emacs, поэтому в этой библиотеке нет необходимости. См.« Переменные каталога »в Руководстве по Emacs»).
Да, пожалуйста, посмотрите пакет EDE от Библиотека CEDET
Это выглядит интересно, но, похоже, только для проектов на основе make.
Он очень расширяемый, поэтому вы можете добавить поддержку своих собственных типов проектов. По каким проектам вы хотите получить поддержку?
Как видите, для этого есть несколько пакетов.
Вам может понравиться такой подход: http://blog.jrock.us/articles/eproject.pod
Я только что прочитал это сегодня.
Я выбираю этот ответ не потому, что это ответ, а потому, что именно его я и использовал.