推迟插件在Eclipse启动时自动加载/打开

问题描述:

我在eclipse中的PDE下创建了一个新的插件。 将其导出到可部署的插件并粘贴到eclipse的插件文件夹中。 在eclipse启动时,插件自动加载并与Eclipse底部的控制台和其他窗口堆叠在一起。推迟插件在Eclipse启动时自动加载/打开

我想推迟它的自动加载/打开。 我希望它被打开,只有当我明确地通过Show View>My Plugin 以下开放这是我的plugin.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<?eclipse version="3.4"?> 
<plugin autoStart="false"> 

    <extension 
     id="application" 
     point="org.eclipse.core.runtime.applications"> 
     <application> 
     <run 
       class="com.Myplugin.packages.Application"> 
     </run> 
     </application> 
    </extension> 
    <extension 
     point="org.eclipse.ui.perspectives"> 
     <perspective 
      name="Myplugin" 
      class="com.Myplugin.packages.Perspective" 
      id="Myplugin.perspective"> 
     </perspective> 
    </extension> 
    <extension 
     point="org.eclipse.ui.views"> 
     <view 
      name="Myplugin" 
      class="com.Myplugin.login.view.OpenView" 
      id="Myplugin.view"> 
     </view> 
    </extension> 
    <extension 
     point="org.eclipse.ui.perspectiveExtensions"> 
     <perspectiveExtension 
      targetID="*"> 
     <view 
       closeable="false" 
       id="Myplugin.view" 
       minimized="false" 
       relationship="stack" 
       relative="org.eclipse.debug.ui.ModuleView" 
       standalone="true" 
       visible="true"> 
     </view> 
     </perspectiveExtension> 
    </extension> 
    <extension 
     point="org.eclipse.ui.menus"> 
     <menuContribution 
      locationURI="menu:org.eclipse.ui.main.menu"> 
     </menuContribution> 
    </extension> 
</plugin> 

Perspective.java:

public class Perspective implements IPerspectiveFactory { 
    public void createInitialLayout(IPageLayout layout) { 
     try{ 
     layout.setEditorAreaVisible(false); 
     layout.setFixed(true); 
     PlatformUI.getWorkbench().getActiveWorkbenchWindow() 
      .addPerspectiveListener(new PerspectiveListener()); 
     }catch(Exception e){ 
      OpenView.log4jCallingForError("Perspective error : " +getStackTrace(e)); 
//   Plugin.getLog().log(new Status(Status.INFO, Activator.PLUGIN_ID, Status.OK, e.getMessage(), e)); 

     } 
    } 

    public static String getStackTrace(final Throwable throwable) { 
     final StringWriter sw = new StringWriter(); 
     final PrintWriter pw = new PrintWriter(sw, true); 
     throwable.printStackTrace(pw); 
     return sw.getBuffer().toString(); 
    } 

} 
+0

视图在启动期间通常不会打开。向我们展示如何在pligin.xml中定义视图。你在做什么可以打开视图的东西吗?请注意,Eclipse会重新打开上次运行工作区时打开的视图 - 这是怎么回事? –

+0

@ greg-449我正在尝试创建一个新的工作区。将原始帖子添加了Plugin.xml。 –

+0

您还需要向我们展示您的'Perspective'类 –

您指定的角度扩展定义visible="true"的观点 - 一旦展示了视角,这使得视图变得可见。将其替换为visible="false"

注意:您可能必须重新设置透视图,才能获取透视定义的更改。

+0

1)设置visible =“false”2)将插件再次导出到可部署插件3)删除旧的工作空间4)将新插件复制到plugins文件夹中5)启动eclipse - 启动时插入静态插件 –

+0

指定'干净“,当你启动RCP以确保插件缓存被清除。 –

+0

在eclipse.ini中提供了-clean标签..不需要帮助 –

<view 
       closeable="false" 
       id="Myplugin.view" 
       minimized="false" 
       relationship="stack" 
       relative="org.eclipse.debug.ui.ModuleView" 
       standalone="true" 
       visible="true"> 
     </view> 

改变我的看法性能这

<view 
      closeable="true" 
      id="Myplugin.view:*" 
      minimized="false" 
      relationship="stack" 
      relative="org.eclipse.ui.views.ResourceNavigator" 
      standalone="true" 
      visible="false"> 
    </view> 

为我工作。