2016-07-20 84 views
1

我已經安裝了一個名爲PMD的Eclipse插件,我只想使用它的一個功能(提取抽象語法樹)。主要的問題在於,我不想點擊任何東西,而是在每個Java源代碼上單擊右鍵,然後單擊AST功能,而不是完全自動化它。如何從源代碼觸發Eclipse PMD插件功能?

因此,問題是有沒有一種方法或方法從我寫的源代碼中調用該插件的功能。

我試圖導入PMD的maven項目,但是我遇到了一些錯誤,並且有許多功能我不會使用(支持其他語言等)。因此,我試圖找到一個更輕量級的方法。 PMD是一個相當大的項目,可以將其整合到我自己的項目中。

在此先感謝。

+0

[Eclipse JDT](http://www.vogella.com/tutorials/EclipseJDT/article.html)也可用於獲取AST。 –

+0

你正在創建一個Eclipse插件嗎? –

+0

@ greg-449我知道我可以使用JDT,但它不提供我真正想要的輸出 – Ekin

回答

0

顯然,PMD Plugin的源代碼已打開。因此,當相關的類和方法被轉換爲標準的Java桌面應用程序(而不是插件)時,可以在沒有UI交互的情況下創建AST文件。

轉換部分非常簡單和容易。由於PMD插件需要用戶界面,因此它使用諸如IFile,IProject等類。因此,這些類可以被改變等價類,例如;文件,項目等

在給出項目路徑並添加一個遞歸遍歷其子目錄的簡單代碼後,將幫助您找到所有Java源文件。然後通過將每個Java源文件發送到AST生成器方法將完成所有技巧。