Java Eclipse插件-查找源部件位置
我正在编写一个Eclipse插件,它应该在Java编辑器中修改源代码。 如何计算源节的位置,如Java Eclipse插件-查找源部件位置,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在编写一个Eclipse插件,它应该在Java编辑器中修改源代码。 如何计算源节的位置,如 类声明 进口 类字段 方法 因此。您要修改(AST) 您要修改(AST) 您需要了解Eclipse中的工作原理 您可以在插件中编写如下内容: IProject project = ResourcesPlugin.getWorkspace().getRoot() .getProject(PROJECT_NAME); IJavaProject javaProject = JavaCore.cr
- 类声明
- 进口
- 类字段
- 方法
因此。您要修改(AST) 您要修改(AST) 您需要了解Eclipse中的工作原理 您可以在插件中编写如下内容:
IProject project = ResourcesPlugin.getWorkspace().getRoot()
.getProject(PROJECT_NAME);
IJavaProject javaProject = JavaCore.create(project);
IType type = project.findType(TYPE_NAME);
ICompilationUnit icu = type.getCompilationUnit();
阅读以了解如何使用ICompilationUnit
如果需要更多选项,可以使用以下示例生成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
非常昂贵,因此只能在需要时执行CompliationUnit
是AST的根目录,您可以使用。再次查看文档以了解如何使用ASTs
在线阅读文档,检查所涉及类型的API,并尝试查找一些示例插件的源代码。您需要了解在Eclipse中如何工作 您可以在插件中编写如下内容:
IProject project = ResourcesPlugin.getWorkspace().getRoot()
.getProject(PROJECT_NAME);
IJavaProject javaProject = JavaCore.create(project);
IType type = project.findType(TYPE_NAME);
ICompilationUnit icu = type.getCompilationUnit();
阅读以了解如何使用ICompilationUnit
如果需要更多选项,可以使用以下示例生成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
非常昂贵,因此只能在需要时执行CompliationUnit
是AST的根目录,您可以使用。再次查看文档以了解如何使用ASTs
在线阅读文档,检查相关类型的API,并尝试查找一些示例插件的源代码