Interna och externa redigerare
ID:
org.eclipse.ui.editors
Beskrivning:
Den här utökningspunkten används för att lägga till nya redigerare i arbetsmiljön. En redigerare är en synlig del inom en arbetsmiljösida. Den används vanligen för att redigera eller granska en resurs eller ett inmatningsobjekt. Du öppnar vanligen en redigerare med hjälp av "Öppna" för en IFile. När åtgärden utförs undersöks arbetsmiljöregistret för att bestämma en lämplig redigerare för filtypen. Därefter skapas en ny förekomst av aktuell typ av redigerare. Det verkliga resultatet beror på typ av redigerare. I arbetsmiljön finns support för att skapa interna redigerare, vilka är tätt integrerade i arbetsmiljön, samt externa redigerare, vilka startas i ett separat fönster. Det finns också olika integrationsnivåer mellan dessa ytterlighetsfall.
En intern redigerares täta integration kan åstadkommas mellan arbetsmiljöfönstret och redigerardelen. Arbetsmiljöns meny och verktygsfält läses in i förväg med ett antal vanliga åtgärder, t.ex. klipp ut, kopiera och klistra in. Den aktiva delen, vyn eller redigeraren, förväntas tillhandahålla implementationen för dessa åtgärder. En intern redigerare kan också definiera nya åtgärder som visas i arbetsmiljöfönstret. Dessa åtgärder visas bara när redigeraren är aktiv.
Integrationen mellan arbetsmiljön och externa redigerare är inte lika tät. I det här fallet kan arbetsmiljön starta en redigerare men har sedan inget sätt att bestämma läget på den externa redigeraren eller samarbeta med den, förutom via filsystemet.
Konfigurationsmärkordsuppsättning:
<!ELEMENT extension (editor*)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED>
- point - ett fullständigt ID för målutökningspunkten
- id - ett valfritt ID för utökningsförekomsten
- name - ett valfritt namn på utökningsförekomsten
<!ELEMENT editor (contentTypeBinding*)>
<!ATTLIST editor
id CDATA #REQUIRED
name CDATA #REQUIRED
icon CDATA #IMPLIED
extensions CDATA #IMPLIED
class CDATA #IMPLIED
command CDATA #IMPLIED
launcher CDATA #IMPLIED
contributorClass CDATA #IMPLIED
default (true | false) "false"
filenames CDATA #IMPLIED
symbolicFontName CDATA #IMPLIED
matchingStrategy CDATA #IMPLIED>
- id - ett unikt namn som används för att identifiera redigeraren
- name - ett översättningsbart namn som används i användargränssnittet för redigeraren
- icon - ett relativt namn för ikonen som används för alla resurser som matchar angivna utökningar. Ingen ikon behövs om du anger ett kommando i stället för en klass. Arbetsmiljön använder då ikonen från operativsystemet.
- extensions - ett valfritt fält med en listan över de filtyper som redigeraren förstår. Detta är en sträng med kommaavgränsade filtillägg. En redigerare som förstår hypertextdokument kan t.ex. registreras för "htm, html".
- class - namnet på en klass som implementerar org.eclipse.ui.IEditorPart. Attributen class, command och launcher utesluter varandra. Om attributet definieras ska även contributorClass definieras.
- command - ett kommando för att starta en extern redigerare. Det körbara kommandot måste finnas på systemsökvägen eller i insticksprogrammets katalog. Attributen class, command och launcher utesluter varandra.
- launcher - namnet på en klass som implementerar org.eclipse.ui.IEditorLauncher. Ett startprogram öppnar en extern redigerare. Attributen class, command och launcher utesluter varandra.
- contributorClass - namnet på en klass som implementerar org.eclipse.ui.IEditorActionBarContributor. Attributet ska bara definieras om attributet class har definierats. Den här klassen används för att lägga till de nya åtgärder på arbetsmiljömenyn och i verktygsfältet som speglar funktionerna i aktuell typ av redigerare.
- default - om sant används den här redigeraren som standardredigerare för typen. Detta är bara relevant om det finns flera redigerare registrerade för samma typ. Om en redigerare inte är standard för typen kan den ändå startas med
undermenyn "Öppna med.."
för vald resurs.
Notera att det här attributet, vid denna tidpunkt, bara respekteras för filnamns- och filtilläggsassociationer. Den respekteras inte för bindning av innehållstyp. Innehållstypsbaserad lösning sker bara på en "först till kvarn"-bas och anges inte uttryckligen.
- filenames - ett valfritt fält som innehåller listan över filnamn som förstås av redigeraren. Detta är en sträng med kommaavgränsade filnamn. En redigerare som förstår vissa hypertextdokument kan t.ex. registreras för "ejb.htm, ejb.html".
- symbolicFontName - det symboliska namnet på ett teckensnitt. Det symboliska teckensnittsnamnet måste vara ID:t för ett definierat teckensnitt (seorg.eclipse.ui.fontDefinitions). Om attributet saknas eller är ogiltigt är teckensnittsnamnet värdet i "org.eclipse.jface.textfont" i redigerarens inställningslager. Om det inte finns något inställningslager eller om tangenten inte definierats används textteckensnittet JFace. Redigerarimplementation avgör om det symboliska teckensnittsnamnet används för att ange teckensnittet.
- matchingStrategy - namnet på en klass som implementerar org.eclipse.ui.IEditorMatchingStrategy. Attributet ska bara definieras om attributet class har definierats. Detta gör att redigerarutökningen kan tillhandahålla sin egen algoritm för matchning av indata från en av sina redigerare till givna redigerarindata.
<!ELEMENT contentTypeBinding EMPTY>
<!ATTLIST contentTypeBinding
contentTypeId CDATA #REQUIRED>
Annonserar att aktuell redigerare förstår given innehållstyp och är lämplig för redigering av filer med den typen.
- contentTypeId - innehållstyps-ID
Exempel:
Följande är ett exempel på en definition av intern redigerarutökning:
<extension point=
"org.eclipse.ui.editors"
>
<editor
id=
"com.xyz.XMLEditor"
name=
"Fancy XYZ XML editor"
icon=
"./icons/XMLEditor.gif"
extensions=
"xml"
class=
"com.xyz.XMLEditor"
contributorClass=
"com.xyz.XMLEditorContributor"
symbolicFontName=
"org.eclipse.jface.textfont"
default=
"false"
>
</editor>
</extension>
API-information:
Om kommandoattributet används behandlas det som ett externt kommandoradsprogram som utförs på ett sätt som är beroende av plattformen.
Om startattributet används behandlas även redigeraren som ett externt program. Angiven klass måste då
implementera org.eclipse.ui.IEditorLauncher. En förekomst skapas av startprogrammet och
open(IFile file) anropas för att starta redigeraren.
Om klassattributet används antar arbetsmiljön att det är en intern redigerare och angiven klass måste implementera
org.eclipse.ui.IEditorPart.
Det är praxis att subclass org.eclipse.ui.EditorPart när en ny redigerartyp definieras. Även ett contributorClass-attribut måste definieras. Angiven klass måste implementera org.eclipse.ui.IEditorActionBarContributor och används för att lägga till nya åtgärder på arbetsmiljöns meny och i verktygsfältet, vilka speglar redigerartypens funktioner.
Inom arbetsmiljön kan det finnas flera öppna redigerare av en viss typ. Det kan t.ex. finnas en eller flera öppna
Java-redigerare. För att undvika dubbletter av åtgärder och åtgärdsbilder har redigerarbegreppet delats upp i två. En IEditorActionBarContributor ansvarar för att skapa åtgärder. Redigeraren ansvarar för att implementera åtgärden. Dessutom delas bidragaren av varje öppnad redigerare. Denna design resulterar i att det bara finns en uppsättning åtgärder för en eller flera öppna redigerare.
Bidragaren lägger till nya åtgärder på arbetsmiljöns meny och i verktygsfält som speglar redigerartypen. Dessa åtgärder delas och agerar på aktiv redigerare när de anropas. Aktiv redigerare överförs till bidragaren genom att anropa
IEditorActionBarContributor.setActiveEditor. ID:n för åtgärder och huvudgrupper i arbetsmiljöfönstret definieras i
org.eclipse.ui.IWorkbenchActionConstants. Dessa bör användas som en referenspunkt för tillägg av nya åtgärder. Menyer på den översta nivån skapas med hjälp av följande värden
för attributet path:
-
additions - representerar en grupp till vänster om Fönster-menyn
Åtgärder och menyer som läggs till på dessa sökvägar visas bara så länge associerad redigerare är aktiv. När redigeraren stängs tas menyerna och åtgärderna bort.
Medföljande implementering:
Arbetsmiljön tillhandahåller en "standardtextredigerare". Slutanvändarprodukten kan innehålla andra redigerare som del av skeppningspaketet. Redigerare registreras då som utökningar med hjälp av den syntax som beskrivs ovan.
Copyright (c) 2002, 2005 IBM Corporation and others.
All rights reserved.
Detta program och medföljande material tillhandahålls under villkoren för Eclipse Public License v1.0 som medföljer denna distribution och finns tillgänglig på
http://www.eclipse.org/legal/epl-v10.html