在Emacs中完成Eclipse风格的函数,用于C、C++;JAVA呢? 如何在EMC中为Eclipse样式函数完成C、C++和java? 我喜欢Emacs文本编辑器的强大功能,但缺少“智能感知”功能 让我使用Eclipse。

在Emacs中完成Eclipse风格的函数,用于C、C++;JAVA呢? 如何在EMC中为Eclipse样式函数完成C、C++和java? 我喜欢Emacs文本编辑器的强大功能,但缺少“智能感知”功能 让我使用Eclipse。,emacs,autocomplete,intellisense,Emacs,Autocomplete,Intellisense,您尝试过Eclipse的emacs插件吗 搜索网页时,我在etags中找到了描述完整选项卡的内容。默认情况下,它绑定到M-Tab。这种绑定可能会给您带来问题 此外,etags还有一些限制,这可能会让您感到烦恼 该链接还指出CEDET具有更好的符号完成支持。我只能作为一个不太使用Eclipse的人来回答您的问题。但是如果在emacs缓冲区中输入或查看的所有内容都有一个非常好的快速启发式分析,并且在所有地方都得到了智能完成,而不仅仅是在代码中,该怎么办 M-x load-library comple

您尝试过Eclipse的emacs插件吗

搜索网页时,我在etags中找到了描述
完整选项卡的内容。默认情况下,它绑定到
M-Tab
。这种绑定可能会给您带来问题

此外,etags还有一些限制,这可能会让您感到烦恼


该链接还指出CEDET具有更好的符号完成支持。

我只能作为一个不太使用Eclipse的人来回答您的问题。但是如果在emacs缓冲区中输入或查看的所有内容都有一个非常好的快速启发式分析,并且在所有地方都得到了智能完成,而不仅仅是在代码中,该怎么办

M-x load-library completion M-x global-set-key C-RET complete RET M-x加载库完成 M-x全局设置键C-RET完全RET
M-/
是一个基于当前缓冲区内容的快速而肮脏的自动完成。它不会为您提供Eclipse中的所有功能,但它的功能非常强大。

当我进行java开发时,我曾使用:

当您显式调用JDEE提供的函数时,JDEE将提供方法名完成。它在jdee模式下为该功能提供了一个键盘绑定。

该软件包为C/C++&Java(以及其他一些语言)提供了完整的功能。对于初始定制,您可以使用我现在使用的C++项目

,我正在使用Emacs。作为当前的VisualStudio和前Eclipse用户,我可以说它可以很好地与这两个应用程序竞争。它仍然不如微软的智能感知C,但有些人会说,C++是众所周知的难以解析。 它充分利用了(我相信)来自的软件包的功能,我发现与之相比,使用起来感觉更好。它完成C++成员、局部变量等等。然而,它的缺点是无法完成重载方法(它只显示一次函数,没有参数,但我认为这是Cedet的一个限制)和其他各种事情。不过,将来可能会有所改进


顺便说一句,我可能错了,但我认为您需要设置一个EDE项目来完成类成员的完成(就像您通常使用语义一样)。我只在EDE项目中使用过它,所以我假设这是真的。

我在CEDET上编写了一个C++特定的包,它可能提供 你想要什么。它提供了一个类似Eclipse的函数参数提示。 函数参数和提示都支持重载函数 和完成。 包裹位于此处:

请务必查看漂亮的屏幕截图:

这就是你想要的。使用一个实际的C++编译器完成任务不会出错。 它唯一的问题是无法知道要传递给编译器的
-I
-D
标志是什么。有一些emacs包允许您声明项目,然后您可以使用它们


P>个人,我使用CMake来处理所有的C和C++工作,所以我写了一些把这些信息通过目录本地变量传递给Emacs。这是可行的,但我正在考虑编写一个从emacs调用cmake的包,这样可以减少入侵。

不要忘记,绑定m-/to'hippie expand提供了更多的完成可能性。