我通常在 linux 环境 (ubuntu) 中使用 emacs 进行开发,因为我喜欢这个编辑器。我也时不时地使用 eclipse,但我发现它很慢。
因为我想要类似 IDE 的功能,所以我尝试设置 cedet,它似乎可以完成这项工作。
- 我发现 cedet 永远找不到基类成员。例如,gcc 中的
std::vector
在其基类中有std::vector::size
而它找不到它。 - 似乎不准确:如果我做类似“
myvector.
”的操作,它会给我类似size_type
的补全。 - 不能使用来自 c++11 的
auto
,它似乎不起作用。 - 即使是基本用法,srecode-getset 也会给我错误。
我的配置没有给出任何错误并且基于 alexott cedet config .
我的问题是:
- 完成度还那么不准确吗? (想想“
vector.
”给出诸如“size_type
”之类的东西。 - c++/c++11 的 cedet 状态如何?汽车应该工作吗?我做错了什么?
我尝试同时使用捆绑的 ubuntu 版本和 bzr 存储库中的最新版本。 CEDET 似乎是一个非常有用的工具,但我想知道它是否需要做更多的工作。
提前致谢。
最佳答案
与其依赖 CEDET 来完成,您可能需要考虑 Emacs 中的替代完成提供程序。
Auto-complete-clang 和 auto-complete-clang-async 都与 clang 一起工作以获取完成并与自动完成包一起显示它们。 company-clang 类似,但使用 company 包来显示完成。
C、C++ 和 ObjC 的另一个次要模式称为 irony它使用 clang 来完成并可以使用多个前端来显示完成。这可能是设置它的最佳文档。
所有这些都可以在 Marmalade 上找到与 Emacs 24 中的包管理器一起使用。
关于c++ - Emacs、cedet 和 c++/c++11 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20117496/