我已经为我的 c++ 项目设置了 cedet/semantic 代码完成(使用本教程:http ://alexott.net/en/writings/emacs-devenv/EmacsCedet.html )但不想要它的或所有帮助器(在我看来是自动的)以 lisp 模式提供。
所以,我的问题是如何在 lisp 模式下禁用它们,或者只在 c++ 模式下启用它们。
谢谢,雷内。
我认为,您需要稍微更改文章中的配置 - 那里使用了许多全局模式,例如:
(global-srecode-minor-mode 1)
(global-semantic-mru-bookmark-mode 1)
等你可以在常用的 C 模式钩子中启用相应semantic-mru-bookmark-mode
的 ,srecode-minor-mode
等,例如:
(defun my-c-mode-cedet-hook ()
(semantic-mru-bookmark-mode 1)
;; .....
)
(add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook)
或仅对 Lisp 禁用这些模式...其他模式包括semantic-auto-parse-mode
, semantic-idle-summary-mode
, semantic-idle-scheduler-mode
- 您可以使用以下方式获取此列表M-x apropos semantic.*mode
这里的主要内容 - 您需要semantic-load-enable-minimum-features
在配置中使用默认启用最少数量的功能,并仅在 C/C++ 模式挂钩中启用其他必要功能...