2009-11-02 61 views

回答

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做什么。

如果你想要更多的选择,你可以生成你的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); 
} 

请注意,设置resolveBindingstrue价格昂贵,所以只在需要时才这样做。 CompilationUnit是您的AST的根,您可以使用ASTVisitor访问。再次看到previous文档,看看你可以用AST做什么。

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