Подтвердить что ты не робот

Статус CEDET и ECB в Emacs 24.2

Я немного смущен тем, что мне нужно сделать, чтобы запустить CEDET и ECB в Emacs 24.2.1.

В Emacswiki есть следующий текст:

Как включить инструменты CEDET, которые были объединены с Emacs

В Emacs 23.2 CEDET был объединен с основным дистрибутивом Emacs. код конфигурации, который объясняется в учебниках CEDET, не работает больше. Например, вы не можете использовать (semantic-load-enable-gaudy-code-helers), чтобы особенности.

TODO: пожалуйста, объясните, какой код вам нужен для загрузки наиболее полезной IDE инструменты, предоставляемые CEDET

У меня есть базовая конфигурация для работы со следующим в моем .emacs:

(global-ede-mode 1)
(require 'semantic/sb)
(semantic-mode 1)
  • Q1: Являются ли CEDET и ECB в комплекте с Emacs? Если да, то почему для него существует отдельный проект Sourceforge?
  • Q2: Как включить CEDET и ECB в Emacs 24.2? Должен ли я по-прежнему загружать исходный код с соответствующих сайтов и устанавливать их отдельно?
4b9b3361

Ответ 1

Вам нужно учитывать несколько вещей:

  • CEDET поставляется с GNU Emacs 24.2, но он немного устарел... CEDET 1.1 или CEDET от bzr лучше с функциональной точки зрения. Я надеюсь, что Emacs 24.3 будет иметь новую версию CEDET
  • У меня есть вилка ECB, которая работает со свежим CEDET (1.1 или bzr) и с CEDET в комплекте с Emacs - но вам нужно установить его вручную
  • Вы можете включить CEDET в комплекте с GNU Emacs или CEDET из bzr с следующей конфигурацией, для CEDET 1.1 вы можете использовать следующие конфигурации.

P.S. Я постараюсь ответить на другие вопросы здесь, или вы можете написать мне напрямую по электронной почте

Ответ 2

Q1: Да и нет: CEDET в комплекте, но ECB - нет. Хотя CEDET в комплекте, основное развитие продолжает происходить за пределами репозитория Emacs по частично историческим и отчасти техническим причинам.

Q2: (semantic-mode 1) и (global-ede-mode 1) должно быть достаточно, чтобы включить CEDET (нет необходимости (require 'semantic/sb)). Что касается ЕЦБ, поскольку он не связан,...

Ответ 3

Браузер Emacs Code Browser, но мне потребовалось несколько дней, чтобы выяснить, как настроить его до моего удовлетворения на моем текущем Emacs 24.5.1. Будем надеяться, что следующие инструкции помогут сделать его более популярным в будущем.

Шаг 1: на Ubuntu: установите texinfo с помощью:

sudo apt-get install texinfo

Это фактически устанавливает makeinfo, который необходим для установки ecb. У Macs уже установлен makeinfo - я не думаю, что мне нужно было установить texinfo на моем Mac.

Шаг 2: Используйте el-get для установки ecb. Сделайте поиск в Интернете на "el-get emacs", чтобы узнать больше о el-get. Преимущество использования el-get заключается в том, что он автоматически позаботится о добавлении ecb в ваш путь загрузки emacs.

Кстати, для установки ecb с использованием el-get, кажется, требуется около 15 минут. Будьте терпеливы и не выходите из emacs, если он говорит вам, что у него активный процесс.

Когда el-get закончил, появится сообщение: ecb был успешно установлен (или что-то в этом роде)

Шаг 3: добавьте следующее в ваш файл инициализации emacs (или ~/.emacs.d/init.el или ~/.emacs), чтобы изменения были доступны в зависимости от того, какой из этих двух файлов уже присутствует)

;; start of ecb configuration/customization:
;;
(require 'ecb)


(setq stack-trace-on-error t)
(setq ecb-version-check nil)
(setq ecb-layout-name "left15")
(setq ecb-tip-of-the-day nil)
(setq ecb-primary-secondary-mouse-buttons 'mouse-1--mouse-2)


(setq ecb-source-file-regexps
  '((".*" .     (("\\(^\\(\\.\\|#\\)\\|\\(~$\\|\\.\\(pyc\\|elc\\|obj\\|o\\|class\\|lib\\|dll\\|a\\|so\\|cache\\)$\\)\\)")
             ("^\\.\\(emacs\\|gnus\\)$")))))



;;
;; disable global semantic idle scheduler.
;; it doesn't really seem to work all that well in automatically
;; reparsing buffers and it actually intrusive when i'm typing:

(add-hook 'ecb-activate-hook
          '(lambda()
             (semantic-mode t)
             (ecb-maximize-window-methods)
             (setq global-semantic-idle-scheduler-mode nil)
             ))



(add-hook 'after-save-hook
          '(lambda()
             (when (bound-and-true-p ecb-minor-mode)
               ;; this is to get the methods buffer to refresh correctly.
               ;; semantic idle mode refresh doesn't seem to work all that     well.
               (run-at-time 1 nil 'semantic-force-refresh)
               )
             ))


(set-face-attribute 'ecb-default-general-face nil
                    :inherit 'default)

(set-face-attribute 'ecb-default-highlight-face nil
                    :background "#464646")

(set-face-attribute 'ecb-tag-header-face nil
                    :background "#464646")
;;
;; end of ecb configuration/customization

Шаг 4: Перезапустите emacs, откройте исходный файл python (как пример теста) в emacs, а затем введите: M-x ecb-activate

Если вы получаете окно списка методов слева и исходный файл справа, вы его работаете.