Emacs 代码浏览器很棒,但我花了几天时间才弄清楚如何在我当前的 Emacs 24.5.1 上设置它让我满意。希望以下说明将有助于使其更受欢迎。
第 1 步:在 Ubuntu 上:通过以下方式安装 texinfo:
sudo apt-get install texinfo
这实际上安装了安装 ecb 所需的 makeinfo。Mac 可能已经安装了 makeinfo —— 我认为我不必在我的 Mac 上安装 texinfo。
第二步:使用el-get安装ecb。在“el-get emacs”上进行网络搜索以了解有关 el-get 的更多信息。使用 el-get 的优点是它会自动将 ecb 添加到您的 emacs 加载路径。
顺便说一句,使用 el-get 安装 ecb 似乎需要 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's 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
第四步:重启emacs,在emacs中打开一个python源文件(作为测试示例)然后输入:mx ecb-activate
如果您在左侧有一个方法列表窗口,在右侧有源文件视图,那么您就可以正常工作了。