# Einträge von einem PlugIn unterbinden.



## Koringar (2. Okt 2009)

Hi,

ich habe nun so einige PlugIn's in meinem Project, jedoch habe ich nun das Problem das manche von dennen Einträge in der Menüleiste oder der PrefencePage machen. Kann man das irgend wie unterbinden das sie das machen sollen, ich weis wo die Einträge kommen.

Habe mal ein Bild angehangen, in dem ich die Elemente Mackiert habe die ich nicht haben will.

MfG Koringar


----------



## Gonzo17 (2. Okt 2009)

Ja, das geht, ist sogar recht komfortabel. Stichwort "org.eclipse.ui.activities". Wenn du diese Extension in deiner plugin.xml hinzufügst, kannst du bestimmte Plug-Ins oder auch Teile davon deaktivieren. Um genau herauszufinden, in welchem Plug-In diese Einträge der Preferencepage gemacht werden, kannst du auf die entsprechende Seite und drückst dann ALT + Shift + F1 (Plug-In Spy). Dann siehst du unter "contributing Plug-In" höchstwahrscheinlich das Plug-In, das du deaktivieren möchtest.


----------



## vogella (4. Okt 2009)

Die Verwendung von Activities ist hier beschrieben: Eclipse Activities – Hide / Display certain UI elements


----------



## Koringar (5. Okt 2009)

Hi,

ich weis auch nicht irgend wie kapiere ich das mit den Activities nicht, es funktioniert einfach nicht. Könnte ihr mir da vielleicht ein konkretes Beispiel geben.

Gehen wir mal von dem XML Plugin 'org.eclipse.wst.xml.ui' aus, mit diesem bekommt man die zusätzlichen Einträge in der Prefence Page 'org.eclipse.wst.xml.ui.preferences.xml', 'org.eclipse.wst.xml.ui.preferences.xml.xml', 'org.eclipse.wst.sse.ui.preferences.xml.source', 'org.eclipse.wst.sse.ui.preferences.xml.templates', 'org.eclipse.wst.sse.ui.preferences.xml.colors', 'org.eclipse.wst.xml.core.ui.XMLCatalogPreferencePage' und 'org.eclipse.wst.sse.ui.preferences.xml.typing'. Die will ich nun alle mit diesen Activities unterbinden, wie geht das jetzt?

Einfach mal ein Versuch von mir:

```
<extension
          point="org.eclipse.ui.activities">
       <activity
             id="de.meinprojekt.prefence.pages"
             name="Deactivate Pages">
       </activity>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml.xml">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml.source">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml.templates">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml.colors">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.ui.preferences.xml.typing">
       </activityPatternBinding>
       <activityPatternBinding
             activityId="de.meinprojekt.prefence.pages"
             isEqualityPattern="false"
             pattern="org.eclipse.wst.xml.core.ui.XMLCatalogPreferencePage">
       </activityPatternBinding>
    </extension>
```
und was muss ich jetzt angeben, damit diese nicht angezeigt werden?????? ???:L

MfG Koringar


----------



## vogella (5. Okt 2009)

Mein Link enthält ein konkretes Beispiel.


----------



## Gonzo17 (5. Okt 2009)

Hey, 

ich beschreib mal kurz wie ich vorgehe bei so nem Fall. Besonders bei Preference Pages ist das relativ einfach. 

Als erstes hab ich mir eine "Category" erstellt, der ich alle Elemente zuordne, die ich später deaktivieren möchte. Als nächstes erstelle ich eine "Activity", der ich nen passenden Namen und ne ID gebe. Dann erstelle ich ein "ActivityPatternBinding", was wohl so viel bedeutet wie ein bestimmtes Plug-In (oder nen Teil davon) dieser Activity zuzuordnen. Als "pattern" musst du dann eben die entsprechende ID des Plug-Ins eintragen (nachher ein kleines konkretes Beispiel). Danach noch ein "CategoryActivityBinding", das die Activity der Category zuordnet. Das wars eigentlich auch schon. Ob man die Category jetzt zwingend braucht, weiss ich nicht, musst du ausprobieren. 

Und jetzt das konkrete Beispiel mit der XML-Preference-Page. Du erstellst eine "Activity", gibst ihr beispielweise die ID "id.test.xml", gibst ihr nen Namen und erstellst dazu ein "ActivityPatternBinding" mit dem "pattern"  "org.eclipse.wst.xml.ui.*". Das ist schon alles was du brauchst, wenn du jetzt startest wird die XML-Preference-Page nicht mehr angezeigt. Das kannst du entsprechend für alle Elemente machen, die du deaktivieren willst, über den Plug-In Spy findest du quasi alles raus.  Das Beispiel sieht dann so aus: 


```
<extension
         point="org.eclipse.ui.activities">
      <activity
            id="id.test.xml"
            name="XML">
      </activity>
      <activityPatternBinding
            activityId="id.test.xml"
            pattern="org.eclipse.wst.xml.ui.*">
      </activityPatternBinding>
   </extension>
```


----------



## Koringar (5. Okt 2009)

Oje ok,
genau so habe ich es eigentlich gemacht, hat aber nicht funktioniert. Jetzt habe ich das mal kopiert und es ist weg. Wer weis (vielleicht das * vergessen), ich versuch das jetzt mal bei den anderen, auf jedenfall vielen vielen vielen Dank :toll: .


Edit: Gut ich bn einfach mal ziemlich radikal und unterbinde alles was von 'org.eclipse.*' kommt und es funktioniert. Funktioniert auch wenn man die einzeln angibt, aber da tauchen immer wieder welche auf die aus irgend welchen anderen Plugin's kommen, die von meinen Plugin's sind -.-. Danke aber trotzdem nochmals für die Hilfe.


----------

