3

我正在编写一个 Eclipse 插件,它允许用户使用拖放式 UI 编写 java 代码。我遇到了这两个java源代码生成库。Eclipse JDT AST 和代码模型。

我想了解这两个库的优缺点。根据我的阅读和理解:

  1. AST 非常强大。看看我看到的代码示例和 ASTView 插件,我完全相信我们可以使用这个库编写任何 java 构造。我在代码模型上找不到很多文档或示例。所以,我不是很清楚它的力量。我想知道 CodeModel 是否和 AST 一样强大。

  2. CodeModel 实现相同功能所需的代码量远少于 AST。

  3. 使用 AST,我绝对可以重写现有的 java 类。在 CodeModel 的情况下我找不到类似的东西

我肯定需要 1 和 3 中的功能。拥有 2 也是一个额外的优势。我想知道codeModel是否有1和3。请让我知道这两个库的所有优缺点。另外,让我知道是否有比这两个更好的库。

注意:我正在寻找源代码生成/操作,而不是字节码操作。

提前致谢。

4

2 回答 2

3

我在我的 Eclipse 插件中使用了 Eclipse JDT AST,原因如下:

  1. CodeModel 不如 AST 强大。CodeModel 没有很多现有的 AST 不断升级的 java 结构,它目前支持 jdk 1.7
  2. CodeModel 没有解析器。它无法读取现有的 java 文件和编辑现有的代码。
  3. AST 有很好的文档,而 CodeModel 有很少或没有文档。
于 2013-09-23T12:43:58.873 回答
1

我对CodeModel一无所知,所以我不能说它是否是一个好项目。但是,由于您正在创建一个 Eclipse 插件,我建议您使用 JDT。原因主要是为了与其他 Eclipse 组件兼容。JDT AST API 可与其他 Eclipse API(资源 API、Java 模型 API、重构 API、文本操作 API 和编辑器 API,仅举几例)一起开箱即用。JDT 远非简单,但它非常强大并且非常适合 Eclipse 模型。

于 2013-06-17T04:03:12.353 回答