我想使用cedet包(emacs)中的语义代码折叠。我安装了1.1版本,并在.emacs中添加了以下几行:

(load-file "~/software/cedet-1.1/common/cedet.el")

(require 'semantic-tag-folding)
(defun c-folding-hook ()
  (global-semantic-tag-folding-mode 1)
  (local-set-key (kbd "C-c <left>") 'semantic-tag-folding-fold-block)
  (local-set-key (kbd "C-c <right>") 'semantic-tag-folding-show-block)
)
(add-hook 'c-mode-common-hook 'c-folding-hook)

好的,当我现在加载一个C++文件时,使用键绑定(bind)或直接运行相应的命令时什么也没有发生。怎么了我忘记了什么吗?

最佳答案

首先,您不需要在(global-semantic-tag-folding-mode 1)中包含defun-最好一次运行此命令...

但是我认为,主要问题是您尚未启用任何语义功能(请参阅this section in my article)-至少需要在加载CEDET之后调用(semantic-load-enable-minimum-features)

P.S.您的代码为我工作(我在设置中使用semantic-load-enable-excessive-code-helpers)

关于c++ - 用emacs/cedet折叠C++代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10223645/

10-10 02:06