【问题标题】:Time to develop an option in Eclipse to modify a Java file source是时候在 Eclipse 中开发一个选项来修改 Java 文件源了
【发布时间】:2025-12-06 17:10:02
【问题描述】:

我正在评估开发一个 Eclipse 插件来修改一些 Java 文件的源代码的可能性。

Eclipse 插件应该:

  1. 添加一个菜单选项或上下文菜单选项以启动修改过程。
  2. 添加键绑定
  3. 仅当编辑器在 Java 文件上打开时才以这种方式更改 UI。
  4. 修改过程不会打开对话框,或者可能是一个非常简单的对话框。
  5. 修改过程将遍历 Java 文件的 AST 并对其进行修改。

考虑到我们没有使用 Eclipse 插件的经验,我们需要花时间阅读文档,您估计开发该插件需要多少时间?

提前致谢。

【问题讨论】:

  • 我投了反对票,因为我不认为这是做估算的方法。如果我错了,请纠正我
  • 他要求估价,因为他们在编写 Eclipse 插件时没有 XP... 我相信这确实是一个好问题。
  • 我投了赞成票,因为有人问我估计我对问题领域一无所知的地方。在这种情况下,您的估计范围从 1 天到无穷大。提问者很懂事,问“知道技术,你要花多长时间?”和“一个完整的初学者需要多长时间才能做到这一点”。他们需要一个数字来带回管理层,SO 的回答将为他们的“猜测”提供一些“估计”,使其成为“有根据的猜测”
  • 另外,根据“构建时间”和“学习曲线”的比例,短期内购买一些专业知识可能会更好,而不是让学习曲线陡峭而痛苦。团队。可以在 SO 上找到的所有信息(希望如此)。不幸的是,我对你所说的这个“Eclipse”一无所知:)
  • 我想你是在假设这是对“管理”的“估计”,也许这只是一个个人项目?

标签: eclipse eclipse-plugin code-generation


【解决方案1】:

真的一点都不难...我的设计模式课上有学生在做作业(添加/删除 javabean getter 和 setter)

http://help.eclipse.org/ganymede/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_manip.htm

[编辑添加了以下文章参考]

http://www.eclipse.org/articles/article.php?file=Article-JavaCodeManipulation_AST/index.html 上还有一篇很棒的文章(从 2006 年开始,可能会有一些 API 更改)

是的,编写插件需要一点时间来适应,但任何 API 也是如此。

您可以修改 AST -- 请参阅我上面引用的页面。

(我应该注意,上面的链接来自 eclipse 帮助,也可以通过 Eclipse 中的 Help->Help Contents 访问——那里有很多很好的信息,但这只是一个起点)

【讨论】:

    【解决方案2】:

    您可能会花费相当长的时间来诅咒 eclipse 插件系统的复杂性。有一些示例插件开发项目,如果它们涵盖您正在工作的领域,它们会非常有用。

    我会说你要花 2-4 天的时间来熟悉这个平台——一个有丰富编写 eclipse 插件经验的人可能不会超过一个小时。

    但是,您的第 5 步可能很棘手。我不知道访问和更改 Java AST 有多么容易;我的经验是基于为奇异的文件格式而不是 Java 代码开发编辑器插件。

    【讨论】:

      【解决方案3】:

      嗯,前四点很容易实现,即使是查看 Eclipse 附带的 eclipse PDE 文档的猴子程序员也是如此。这些可以在 1 天的工作中实现,也许 2 天。

      最难的点实际上是第五个,也是你期望做的那种修改。直接作用于编辑器内容很简单,访问编辑器内部 AST 并修改它确实是一个更大的挑战,我怀疑没有经验的人可以在不到一周的时间内实现(可能需要更长的时间,取决于什么样的修改你想申请)。

      【讨论】:

      • 我不同意你的说法,即第一点很容易实现,考虑到 Eclipse 附带的 PDE 文档包含已弃用的结构!做起来可能很容易,但正确地做起来肯定不容易。