Eclipse中的程序化折叠

Eclipse中的程序化折叠,eclipse,folding,eclipse-jdt,Eclipse,Folding,Eclipse Jdt,我正在寻找一种(干净的)方法,以编程方式在Eclipse的JDT编辑器中折叠/展开方法(或者更低级一点:行的间隔) 我已经阅读了有关折叠的基本概念的文档(主文档、投影文档),但是文档到目前为止对我没有帮助 我选择的一个替代方案是所谓的SWTBOT,它可以用来“模拟”点击编辑器的折叠/展开按钮,但我目前认为这是一个丑陋的黑客。p> 有没有人做过类似的事情,或者有过线索/例子?我没有尝试过,但是查看JDT中的JavaEditor.class,我看到了以下代码: IJavaElement[] elem

我正在寻找一种(干净的)方法,以编程方式在Eclipse的JDT编辑器中折叠/展开方法(或者更低级一点:行的间隔)

我已经阅读了有关折叠的基本概念的文档(主文档、投影文档),但是文档到目前为止对我没有帮助

我选择的一个替代方案是所谓的SWTBOT,它可以用来“模拟”点击编辑器的折叠/展开按钮,但我目前认为这是一个丑陋的黑客。p>


有没有人做过类似的事情,或者有过线索/例子?

我没有尝试过,但是查看JDT中的JavaEditor.class,我看到了以下代码:

IJavaElement[] elements = ....;
    IJavaFoldingStructureProviderExtension  extension=  (IJavaFoldingStructureProviderExtension) JavaPlugin.getDefault().getFoldingStructureProviderRegistry().getCurrentFoldingProvider();
    extension.collapseElements(elements);
    extension.expandElements(elements);

请告诉我它是否有效。

不幸的是,它没有明显的反应。我使用以下代码进行了尝试:。。。ICompilationUnit c=…;//这是一个类IJavaElement[]elements=c.getAllTypes()[0].getMethods();扩展。折叠元素(元素);调试时,我在数组中找到了所有方法,但调用不会影响标识。如果您认为我的回答有帮助,请将其标记为解决方案。