Dela via


Skapa anpassade redigerare och formgivare

IDE (Integrated Development Environment) i Visual Studio kan vara värd för olika typer av redigeringsprogram:

  • Visual Studios huvudredigerare

  • Anpassade redigerare

  • Externa redigerare

  • Formgivare

Följande information hjälper dig att välja vilken typ av redigerare du behöver.

Typer av redigeringsprogram

Information om Visual Studio Core-redigeraren finns i Utöka redigeraren och språktjänsterna.

Anpassade redigerare

En anpassad redigerare är en redigerare som är utformad för att fungera under särskilda omständigheter. Du kan till exempel skapa en redigerare vars funktion är att läsa och skriva data till en specifik lagringsplats, till exempel en Microsoft Exchange-server. Välj en anpassad redigerare om du vill ha en redigerare som endast fungerar med projekttypen eller om du vill ha en redigerare som bara har några få specifika kommandon. Observera dock att användarna inte kommer att kunna använda en anpassad redigerare för att redigera Visual Studio-standardprojekt.

En anpassad redigerare kan använda en redigerarfabrik och lägga till information om redigeraren i registret. Projekttypen som är associerad med den anpassade redigeraren kan dock instansiera den anpassade redigeraren på andra sätt.

En anpassad redigerare kan använda aktivering på plats eller förenklad inbäddning för att implementera en vy.

Externa redigerare

Externa redigerare är redigeringsprogram som inte är integrerade i Visual Studio, till exempel Microsoft Word, Anteckningar eller Microsoft FrontPage. Du kan anropa en sådan redigerare om du till exempel skickar text till den från din VSPackage. Externa redigerare registrerar sig och kan användas utanför Visual Studio. När du anropar en extern redigerare och den kan bäddas in i ett värdfönster visas den i ett fönster i IDE. Annars skapar IDE ett separat fönster för det.

Metoden IsDocumentInProject anger dokumentprioriteten med hjälp VSDOCUMENTPRIORITY av uppräkningen. Om värdet DP_External anges kan filen öppnas av en extern redigerare.

Beslut om redigeringsdesign

Följande designfrågor hjälper dig att välja den typ av redigerare som passar bäst för ditt program:

  • Kommer programmet att spara sina data i filer eller inte? Om den sparar sina data i filer, kommer de att vara i ett anpassat eller standardformat?

    Om du använder ett standardfilformat kan andra projekttyper utöver projektet öppna och läsa/skriva data till dem. Om du använder ett anpassat filformat kan dock endast projekttypen öppna och läsa/skriva data till dem.

    Om ditt projekt använder filer bör du anpassa standardredigeraren. Om projektet inte använder filer, utan i stället använder objekt i en databas eller annan lagringsplats, bör du skapa en anpassad redigerare.

  • Behöver redigeraren vara värd för ActiveX-kontroller?

    Om redigeraren är värd för ActiveX-kontroller implementerar du en aktiveringsredigerare på plats enligt beskrivningen i Aktivering på plats. Om den inte är värd för ActiveX-kontroller använder du antingen en förenklad inbäddningsredigerare eller anpassar Visual Studio-standardredigeraren.

  • Har redigeringsprogrammet stöd för flera vyer? Du måste ha stöd för flera vyer om du vill att vyerna i redigeraren ska visas samtidigt som standardredigeraren.

    Om redigeringsprogrammet behöver stöd för flera vyer måste dokumentdata och dokumentvisningsobjekt för redigeraren vara separata objekt. Mer information finns i Stöd för flera dokumentvyer.

    Om redigeringsprogrammet stöder flera vyer planerar du att använda Visual Studio Core-redigerarens textbuffertimplementering (VsTextBuffer objekt) för dokumentdataobjektet? Vill du ha stöd för redigeringsvyn sida vid sida med Visual Studio Core-redigeraren? Möjligheten att göra detta är grunden för formulärdesignern..

  • Kan redigeraren bäddas in i Visual Studio om du behöver vara värd för en extern redigerare?

    Om den kan bäddas in bör du skapa ett värdfönster för den externa redigeraren och sedan anropa IsDocumentInProject metoden och ange VSDOCUMENTPRIORITY uppräkningsvärdet till DP_External. Om redigeraren inte kan bäddas in skapar IDE automatiskt ett separat fönster för den.

I det här avsnittet

Genomgång: Skapa en anpassad redigerare
Förklarar hur du skapar en anpassad redigerare.

Genomgång: Lägga till funktioner i en anpassad redigerare
Förklarar hur du lägger till funktioner i en anpassad redigerare.

Konfiguration av designerinitiering och metadata
Förklarar hur du initierar en designer.

Tillhandahålla ångra stöd till designers
Förklarar hur du tillhandahåller stöd för Ångra-funktion för designers.

Syntaxfärgning i anpassade redigeringsprogram
Förklarar skillnaden mellan syntaxfärgning i kärnredigeraren och i anpassade redigerare.

Dokumentdata och dokumentvy i anpassade redigeringsprogram
Förklarar hur du implementerar dokumentdata och dokumentvyer i anpassade redigeringsprogram.