0

Nodeclipse UI 插件 Node 透视图中定义了几个 View

<extension
     point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
        targetID="org.nodeclipse.ui.perspectives.NodePerspective">

喜欢的时候

        <view id="org.eclipse.debug.ui.DebugView" 
            relative="org.eclipse.ui.console.ConsoleView" 
            relationship="stack"/>              
        <view id="org.eclipse.tcf.te.ui.terminals.TerminalsView"
            relative="org.eclipse.debug.ui.DebugView"
            relationship="stack"/>
        <view id="winterwell.markdown.views.MarkdownPreview" 
            relative="org.eclipse.tcf.te.ui.terminals.TerminalsView" 
            relationship="stack"/>              
        <view id="org.eclipse.ui.views.ProblemView" 
            relative="winterwell.markdown.views.MarkdownPreview" 
            relationship="stack"/>   

没关系。结果是

第三

但是当我想把 TCF 终端放在首位时

        <view id="org.eclipse.ui.console.ConsoleView" 
            relative="org.eclipse.tcf.te.ui.terminals.TerminalsView" 
            relationship="stack"/>
        <view id="org.eclipse.debug.ui.DebugView" 
            relative="org.eclipse.ui.console.ConsoleView" 
            relationship="stack"/>              
        <view id="winterwell.markdown.views.MarkdownPreview" 
            relative="org.eclipse.debug.ui.DebugView" 
            relationship="stack"/>              
        <view id="org.eclipse.ui.views.ProblemView" 
            relative="winterwell.markdown.views.MarkdownPreview" 
            relationship="stack"/>   

它在右侧分解为新的 epmty 视图,并且没有终端视图

在此处输入图像描述

更新:我试过

        <view id="org.eclipse.tcf.te.ui.terminals.TerminalsView"
             relative="org.eclipse.ui.editorss"
             relationship="bottom"/>
        <view id="org.eclipse.ui.console.ConsoleView" 
            relative="org.eclipse.tcf.te.ui.terminals.TerminalsView" 
            relationship="stack"/>
        <view id="org.eclipse.debug.ui.DebugView" 
            relative="org.eclipse.ui.console.ConsoleView" 
            relationship="stack"/>
        <view id="winterwell.markdown.views.MarkdownPreview" 
            relative="org.eclipse.debug.ui.DebugView" 
            relationship="stack"/>              
        <view id="org.eclipse.ui.views.ProblemView" 
            relative="winterwell.markdown.views.MarkdownPreview" 
            relationship="stack"/>   
        <view id="org.eclipse.pde.runtime.LogView" 
            relative="org.eclipse.ui.views.ProblemView" 
            relationship="stack"/>

正如 Uwe Stieber 在https://bugs.eclipse.org/bugs/show_bug.cgi?id=454884#c3中所建议的那样

但结果是将 View 堆栈放在编辑器下,而不是在 South 部分:

c3

4

1 回答 1

0

正如 Uwe Stieber 后来建议的那样,通过使用NodePerspective.java解决

    IFolderLayout rightBottom = factory.createFolder("rightBottom", IPageLayout.BOTTOM, 0.75f, factory.getEditorArea());// NON-NLS-1
    if (viewRegistry.find(ID_TERMINALS_VIEW) != null){
        rightBottom.addView(ID_TERMINALS_VIEW);        
    }
    rightBottom.addView(IConsoleConstants.ID_CONSOLE_VIEW);
    rightBottom.addView(ID_DEBUG_VIEW);
    if (viewRegistry.find(ID_MARKDOWN_VIEW) != null){
        rightBottom.addView(ID_MARKDOWN_VIEW); 
    }
    if (viewRegistry.find(ID_GFM_VIEW) != null){
        rightBottom.addView(ID_GFM_VIEW);        
    }
    rightBottom.addView(IPageLayout.ID_PROBLEM_VIEW);
    if (viewRegistry.find(ID_LOG_VIEW) != null){
        rightBottom.addView(ID_LOG_VIEW);        
    }
于 2015-01-13T03:29:00.957 回答