我尝试在Emacs中使用CEDET来实现自动补全,这在C/C++中工作得很好。但是我找不到任何关于如何在没有JDEE帮助的情况下在Java中使用CEDET的东西,JDEE被认为是过时的,并且与CEDET1.1不兼容。我得到了一个标签文件使用实用程序发现here,但我不知道如何集成到CEDET系统。根据CEDET的网站,这是可能的。但他们没有解释如何做到这一点。有人愿意回答这个问题吗?
以下是该实用程序生成的标记文件的一些示例:
java.applet.Applet$AccessibleApplet
protected java.applet.Applet$AccessibleApplet(java.applet.Applet)
public java.applet.Applet$AccessibleApplet.getAccessibleRole() returns javax.accessibility.AccessibleRole
public java.applet.Applet$AccessibleApplet.getAccessibleStateSet() returns javax.accessibility.AccessibleStateSet发布于 2012-09-02 00:17:53
可以让CEDET从.jar文件中拉入标签。它的工作原理是使用javap提取文本形式的标签,然后解析数据。
这并不容易设置,因为在CEDET中,在哪里找到库文件的概念是EDE的一部分,项目管理系统,而不是解析器和智能完成系统。CEDET 1.1中唯一支持的基于Java的项目是Android。
基本步骤是首先使用CEDET1.1中的(require 'semanticdb-javap)或bzr版本的CEDET中的(require 'semantic/db-javap)加载javap数据库。
完成后,您可以通过cedet-java-classpath-extension对其进行配置。我对接下来会发生什么的细节有点模糊,但人们已经在邮件列表上报告了成功。
如果您从bzr存储库使用CEDET,则有一个类似于ede-cpp-root项目的ede-java-root项目。该项目类型允许您配置库路径。该文档位于ede/java-root.el文件中,其中包含项目类型,并向您展示了如何使用它的基础知识。
https://stackoverflow.com/questions/12225585
复制相似问题