2017-07-16 4 views
0

J'ai créé un nouveau plugin sous PDE dans eclipse. Exporté vers un plugin déployable et collé dans le dossier plugins d'eclipse. Au démarrage d'eclipse, les plugins se chargent automatiquement et sont empilés avec la console et les autres fenêtres au bas d'Eclipse.Différer le Plugin Chargement/Ouverture automatique au démarrage d'Eclipse

Je veux reporter sa charge/ouverture automatique. Je veux qu'il soit ouvert que lorsque je l'ouvre explicitement par Show View>My Plugin Suite est mon 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

Les vues ne s'ouvrent normalement pas au démarrage. Montrez-nous comment vous avez défini la vue dans votre fichier pligin.xml. Faites-vous autre chose qui ouvrirait la vue? Notez qu'Eclipse rouvre les vues ouvertes la dernière fois que vous avez exécuté l'espace de travail. Est-ce ce qui se passe? –

+0

@ greg-449 Je l'essaie en créant un nouvel espace de travail. Ajouté Plugin.xml à l'article d'origine. –

+0

Vous devez également nous montrer votre classe 'Perspective' –

Répondre

0

Vous spécifiez visible="true" dans les extensions en perspective définition de la vue - cela rend la vue visible dès que la perspective est montrée. Remplacez ceci par visible="false".

Remarque: Vous devrez peut-être réinitialiser la perspective pour prendre en compte les modifications apportées à la définition de la perspective.

+0

1) Set visible = "false" 2) Exporté le plugin à nouveau plugin déployable 3) Supprimé l'ancien espace de travail 4) copié le nouveau plugin dans le dossier plugins 5) a commencé eclipse - Still plugin est chargé au démarrage –

+0

Spécifier '- clean' quand vous démarrez le RCP pour vous assurer que les caches du plugin sont effacées. –

+0

fourni -clean tag dans eclipse.ini..n'a pas aidé –

0

Changer mes propriétés de la vue de

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

à cette

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

a fonctionné pour moi.