【问题标题】:User-defined code folding regions in EclipseEclipse 中用户定义的代码折叠区域
【发布时间】:2019-04-13 06:06:02
【问题描述】:

是否有任何内置功能或插件可以让我为代码折叠定义自己的自定义区域?我使用的是 4.8.0 版本(Photon 版本)

特别是,我对折叠 .java 文件的某些部分很感兴趣,我需要声明很多变量。

【问题讨论】:

  • 取决于您要为其定义区域的内容类型。如果您打开文件“x.y”并且“.y”尚未映射到内容类型,那么是的,您可以为通用编辑器编写折叠结构提供程序。您可能需要提供有关您想要折叠支持的文本/内容类型的其他详细信息
  • 感谢您的回复 - 我编辑了我的原始帖子并提供了更多详细信息。

标签: eclipse eclipse-plugin


【解决方案1】:

要向 Java 源代码添加折叠区域,您可以实现扩展“org.eclipse.jdt.ui.foldingStructureProvider”。为此,您需要创建一个 Eclipse 插件项目(需要 Eclipse PDE)并向您的 plugin.xml 添加一个扩展点。然后创建一个实现 IJavaFoldingStructureProvider 和可能的 IJavaFoldingStructureProviderExtension 的类。

折叠区域是这样添加的:

FoldingStructureComputationContext context

IRegion normalized = alignRegion(new Region(offset, length), context);
if (normalized != null) {
    Position position = createMemberPosition(normalized, (IMember) element);
    if (position != null) {
        boolean isCollapsed = false, isComment = false;
        context.addProjectionRange(new JavaProjectionAnnotation(isCollapsed, element, isComment), position);
    }
}

有关 alignRegion、createMemberPosition 等,请参见 DefaultJavaFoldingStructureProvider。偏移量和长度由您的代码确定。

【讨论】:

    猜你喜欢
    • 2014-06-02
    • 2014-07-23
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 2011-10-27
    相关资源
    最近更新 更多