禁用lisp模式的cedet /语义代码完成

dee*_*t42 5 emacs cedet

我已经为我的c ++项目设置了cedet /语义代码完成(使用本教程:http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html )但是不想要它或所有帮助器(在我看来,在lisp模式下提供自动化.

所以,我的问题是如何在lisp模式下禁用它们或仅在c ++模式下启用它们.

谢谢,雷内.

Ale*_*Ott 3

我认为,您需要稍微更改文章中的配置 - 那里使用了许多全局模式,例如:

(global-srecode-minor-mode 1)
(global-semantic-mru-bookmark-mode 1)
Run Code Online (Sandbox Code Playgroud)

等等,你可以在公共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)
Run Code Online (Sandbox Code Playgroud)

或者仅对 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++ 模式钩子中启用其他必要的功能...