2016-07-20 28 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生成器方法将完成所有技巧。