Eclipse插件 - 查找源部件位置

时间:2009-11-02 12:38:54

标签: java eclipse eclipse-plugin

我正在编写一个Eclipse插件,它应该在Java编辑器中修改源代码。 如何计算源部分的位置,如

  • 班级宣言
  • 进口
  • 类字段
  • 方法

等等。

2 个答案:

答案 0 :(得分:5)

您需要了解JDT在Eclipse中的工作原理。

您可以在插件中编写类似的内容:

IProject project = ResourcesPlugin.getWorkspace().getRoot()
    .getProject(PROJECT_NAME);
IJavaProject javaProject = JavaCore.create(project);
IType type = project.findType(TYPE_NAME);
ICompilationUnit icu = type.getCompilationUnit();

阅读Manipulating Java code,了解使用ICompilationUnit可以做些什么。

如果您想要更多选项,可以使用例如:{/ p>生成ICompilationUnit的AST

CompilationUnit parse(ICompilationUnit unit)
{
    ASTParser parser = ASTParser.newParser(AST.JLS3);
    parser.setKind(ASTParser.K_COMPILATION_UNIT);
    parser.setSource(unit);
    parser.setResolveBindings(true);
    return (CompilationUnit) parser.createAST(null);
}

请注意,将resolveBindings设置为true的费用很高,因此只在需要时才这样做。 CompilationUnit是AST的根目录,您可以使用ASTVisitor访问它。再看看previous文档,看看你可以用AST做什么。

在线阅读文档,检查所涉及类型的API,并尝试查找一些示例插件的源代码。

答案 1 :(得分:1)

您想要修改Abstract Syntax Tree(AST)。