2012-09-01 25 views
0

我試圖使用CEDET在Emacs中獲得自動完成功能,並且對於C/C++可以正常工作。但是,如果沒有JDEE的幫助,我無法找到關於如何使用Java的CEDET的東西,JDEE已經過時並且與CEDET 1.1不兼容。我有一個標籤文件使用實用工具here,但我不知道如何將其整合到CEDET系統中。根據CEDET的網站,這是可能的。但他們沒有解釋如何去做。有人願意回答這個問題嗎?如何在Emacs中將外部標籤文件添加到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 

回答

2

它可以在標籤CEDET拉從一個.jar文件。它通過使用javap來以文本形式提取標籤,然後解析該數據。

這不是很容易建立,因爲在CEDET,在哪裏可以找到你的庫文件的概念是EDE,項目管理系統,而不是解析器和智能完井系統的一部分。 CEDET 1.1中唯一支持的基於Java的項目是Android。

的基礎是通過(require 'semanticdb-javap)在CEDET 1.1,或CEDET的BZR版本(require 'semantic/db-javap)加載它首先使javap的數據庫。

完成之後,您可以通過cedet-java-classpath-extension進行配置。我對接下來發生的事情的細節有點模糊,但是人們在郵件列表上報告了成功。

如果從BZR庫使用CEDET,有義德-java的根項目,這類似於義德-CPP-根項目。該項目類型可讓您配置您的庫路徑。該文檔位於帶有項目類型的ede/java-root.el文件中,並向您顯示如何使用它的基礎知識。

相關問題