gpt4 book ai didi

Emacs:使用和初始化 CEDET

转载 作者:行者123 更新时间:2023-12-04 14:35:42 26 4
gpt4 key购买 nike

我正在使用 Emacs 和 CEDET 并自动完成代码完成。最初我设置了 CEDET,所以它每次在 Emacs 启动时加载。

但是,这花了很长时间,所以我认为在需要时加载它会很聪明,即 - 在我的情况下 - 在进入 C++ 模式时。

所以我把原来的函数移到了 lambda进入 C++ 模式时调用:

; cscope for c(++) programming (finding symbols, etc.)
(require 'xcscope)

; C++ stuff
(add-hook 'c++-mode-hook
(lambda ()
(load-file "/usr/share/emacs/site-lisp/cedet-common/cedet.el")
(global-ede-mode 1) ; enable project management system
(semantic-load-enable-code-helpers) ; enable prototype help and smart completion
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/elisp/ac-dict")
(add-to-list 'ac-sources 'ac-source-semantic)
(local-set-key (kbd "C-:") 'semantic-ia-complete-symbol-menu) ; set shortcut for auto completion.
(local-set-key (kbd "C-.") 'ac-complete-semantic)
(ac-config-default)
)
)

没有错误,但是我有以下问题: Emacs第一次进入C++-mode时,代码补全不能正常工作。但如果 Emacs 第二次进入 C++ 模式,一切正常。

有人知道我做错了什么吗?

最佳答案

CEDET 初始化设置了它自己的 C 和 C++ 模式 Hook 。如果它在运行同一个钩子(Hook)时安装了它的钩子(Hook),那么它就不会运行,并且你的第一个缓冲区也不会初始化。

您可以做的是在启动时加载 CEDET,然后在 C 模式 Hook 中初始化代码助手。这样 C++ 模式将使用 mode-local 进行初始化,但额外的功能将在钩子(Hook)运行后安装,因此可能会起作用。我自己没有试过。

我认为 EDE 模式并不慢,所以在初始化时也可以这样做。

关于Emacs:使用和初始化 CEDET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com