寻求 emacs 中的自动完成功能

2024-04-12

我正在寻找一个插件来为 emacs 中的 c++ 开发自动完成弹出窗口。我尝试过的是 Cedet Semantics 和自动完成模式 http://cx4a.org/software/auto-complete/index.html,只要我已经有几个单词,它们在完成变量和函数名称方面就非常简洁。例如,我有一个名为 foo 的类和一个返回整数 1 的函数

class foo{
   int getInt(){return 1};
};

在main方法中,只要我开始输入这个

int main(){
 foo bar;
 bar.get...
}

插件可以毫无问题地弹出像 bar.getInt() 这样的建议。然而,我真正想要的是像在 Eclipse 中一样,只要我按下“点”,就可以为我生成可能的选择。在 Emacs 中可以吗?谢谢


这取决于您的自动完成和 CEDET 设置。看起来自动完成设置是为了仅在输入几个字符后才显示可能的完成。您可以检查的值ac-auto-start变量 - 如果这是一个数字,则在该字符数之后将调用自动完成功能。 另一件重要的事情是你的里面有什么ac-sources变量 - 为了与 CEDET 一起使用,您需要使用ac-source-semantic-raw or ac-source-semantic完成源。 之后自动完成. or ->您可以尝试使用 Semantic 的内置完成功能,例如:

(defun my-c-mode-cedet-hook ()
 (local-set-key "." 'semantic-complete-self-insert)
 (local-set-key ">" 'semantic-complete-self-insert))
(add-hook 'c-mode-common-hook 'my-c-mode-cedet-hook)

附:你见过吗我关于 CEDET 和 C++ 的文章 http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

寻求 emacs 中的自动完成功能 的相关文章

随机推荐