2

如何创建 eclipse 插件以在现有代码 java 类上自动创建序列化代码 read/writeExternal?

所需的步骤从活动选项卡获取类(和/或类字段信息的信息,如大纲窗口中的一个)并为每个字段生成代码,也许使用反射也会有所帮助。

4

1 回答 1

0

最简单的方法是在org.eclipse.jdt.ui.actions.GenerateMethodAbstractAction eclipse 用来实现GenerateToStringActionGeneateHashCodeEqualsAction.

基本上:

  1. 建立一个基本的子类GenerateMethodAbstractAction
  2. 实现枚举您要处理的所有字段/属性等的逻辑generateCandidates()。您还需要决定是否递归到超类。
  3. MethodDeclaration使用步骤 2 中收集的数据实现为 readExternal/writeExternal 方法生成 s 的逻辑。
  4. 将生成的 s 包装MethodDeclarationIWorkspaceRunnable将它们应用为编辑(参见GenerateToStringOperation)并从createOperation(...).
  5. 将您的新操作注册到“源”菜单,以便可以使用

所需的代码相当长且涉及,因此最好遵循两个现有的操作类以获得指导。

如果您选择将其放在“源”菜单以外的其他位置,您可以使用

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor()

也可以看看:

于 2014-04-10T00:30:24.517 回答