eclipse插件-查找源部件位置

vxqlmq5t  于 2021-07-05  发布在  Java
关注(0)|答案(2)|浏览(291)

我正在编写一个eclipse插件,它应该在java编辑器中修改源代码。如何计算源代码段的位置
类声明
进口
类字段
方法
就这样。

pcww981p

pcww981p1#

您需要了解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();

阅读java代码,看看你能用它做些什么 ICompilationUnit .
如果您想要更多的选项,您可以生成您的 ICompilationUnit ,例如:

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);
}

注意,设置 resolveBindingstrue 价格昂贵,所以只在需要时才做。 CompilationUnit 是ast的根,您可以使用astvisitor访问它。再次查看上一个文档,了解如何使用asts。
在线阅读文档,检查相关类型的api,并尝试查找一些示例插件的源代码。

szqfcxe2

szqfcxe22#

您想修改抽象语法树(ast)。

相关问题