Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet innehåller detaljerad information om Visual Studio-tillägg, inklusive Visual Studio-arkitektur, komponenter, tjänster, scheman, verktyg och liknande.
Anpassningsbar arkitektur
Följande bild visar Visual Studio-utökningsarkitekturen. VSPackages tillhandahåller programfunktioner som delas i IDE som tjänster. Standard-IDE erbjuder också ett brett utbud av tjänster, till exempel SVsUIShell, som ger åtkomst till IDE-fönsterfunktionerna.
Generaliserad vy över Visual Studio-arkitekturen
VSPackages
VSPackages är programvarumoduler som utgör och utökar Visual Studio med gränssnittselement, tjänster, projekt, redigerare och designers. VSPackages är den centrala arkitekturenheten i Visual Studio. Mer information finns i VSPackages.
Visual Studio Shell
Visual Studio-gränssnittet tillhandahåller grundläggande funktioner och stöd för korskommunikation mellan dess komponent-VSPackages- och MEF-tillägg. Mer information finns i Visual Studio Shell.
Riktlinjer för användarupplevelse
Om du planerar att utforma nya funktioner för Visual Studio bör du ta en titt på dessa riktlinjer för design- och användbarhetstips: Riktlinjer för Användarupplevelse i Visual Studio.
Kommandon
Kommandon är funktioner som utför uppgifter, till exempel att skriva ut ett dokument, uppdatera en vy eller skapa en ny fil.
När du utökar Visual Studio kan du skapa kommandon och registrera dem med Visual Studio-gränssnittet. Du kan ange hur dessa kommandon ska visas i IDE, till exempel på en meny eller ett verktygsfält. Normalt visas ett anpassat kommando på menyn Verktyg , och ett kommando för att visa ett verktygsfönster visas på undermenyn Andra Windows i menyn Visa .
När du skapar ett kommando måste du också skapa en händelsehanterare för det. Händelsehanteraren avgör när kommandot är synligt eller aktiverat, låter dig ändra dess text och garanterar att kommandot svarar korrekt när det aktiveras. I de flesta fall hanterar IDE kommandon med hjälp av gränssnittet IOleCommandTarget. Kommandon i Visual Studio hanteras från och med den innersta kommandokontexten, baserat på den lokala markeringen, och fortsätter till den yttersta kontexten, baserat på det globala valet. Kommandon som läggs till på huvudmenyn är omedelbart tillgängliga för skript.
Mer information finns i Kommandon, menyer och verktygsfält.
Menyer och verktygsfält
Menyer och verktygsfält är ett sätt för användare att anropa kommandon. Menyer är rader eller kolumner med kommandon som vanligtvis visas som enskilda textobjekt högst upp i ett verktygsfönster. Undermenyer är sekundära menyer som visas när en användare klickar på kommandon som innehåller en liten pil. Snabbmenyer visas när en användare högerklickar på vissa gränssnittselement. Några vanliga menynamn är Arkiv, Redigera, Visa och Fönster. Mer information finns i Utöka menyer och kommandon.
Verktygsfält är rader eller kolumner med knappar och andra kontroller, till exempel kombinationsrutor, listrutor och textrutor. Verktygsfältsknappar har vanligtvis ikonbilder, till exempel en mappikon för ett Open File-kommando eller en skrivare för ett utskriftskommando . Alla element i verktygsfältet är associerade med kommandon. När du klickar på en verktygsfältsknapp körs dess associerade kommando. När det gäller en listrutekontroll associeras varje objekt i listrutan med ett annat kommando. Vissa verktygsfältskontroller, till exempel en delningskontroll, är hybrider. Ena sidan av kontrollen är en verktygsfältsknapp och den andra sidan är en nedåtpil som visar flera kommandon när den klickas.
Verktygsfönster
Verktygsfönster används i IDE för att visa information. Verktygslåda, Solution Explorer, fönstret Egenskaper och Webbläsaren är exempel på verktygsfönster.
Verktygsfönster erbjuder vanligtvis olika kontroller som användaren kan interagera med. I fönstret Egenskaper kan användaren till exempel ange egenskaper för objekt som har ett visst syfte. Fönstret Egenskaper är specialiserat i den här meningen, men också allmänt eftersom det kan användas i många olika situationer. På samma sätt är utdatafönstret specialiserat eftersom det ger textbaserade utdata, men allmänt eftersom många undersystem i Visual Studio kan använda det för att ge utdata till Visual Studio-användaren.
Tänk på följande bild av Visual Studio, som innehåller flera verktygsfönster:
Vissa av verktygsfönstren dockas tillsammans i ett enda fönster som visar solution explorer-verktygsfönstret och döljer de andra verktygsfönstren, men gör dem tillgängliga genom att klicka på flikar. Bilden visar två andra verktygsfönster, fönstren Fellista och Utdata, som är placerade tillsammans i en enda panel.
Det visas också huvuddokumentfönstret, som visar flera redigeringsfönster. Även om verktygsfönster vanligtvis bara har en instans (du kan till exempel bara öppna en Solution Explorer), kan redigeringsfönster ha flera instanser, som var och en används för att redigera ett separat dokument men som alla dockas i samma fönster. Bilden visar ett dokumentfönster som har två redigeringsfönster, ett formulärdesignerfönster. Alla fönster i dokumentfönstret är tillgängliga genom att klicka på flikar, men redigeringsfönstret som innehåller EditorPane.cs fil är synligt och aktivt.
När du utökar Visual Studio kan du skapa verktygsfönster som låter Visual Studio-användare interagera med ditt tillägg. Du kan också skapa egna redigeringsprogram som låter Visual Studio-användare redigera dokument. Eftersom dina verktygsfönster och redigeringsprogram kommer att integreras i Visual Studio behöver du inte programmera dem att docka eller visas på en flik på rätt sätt. När de är korrekt registrerade i Visual Studio har de automatiskt de typiska funktionerna i verktygsfönster och dokumentfönster i Visual Studio. Mer information finns i Utöka och anpassa verktyget Windows.
Dokumentfönster
Ett dokumentfönster är ett inramat underordnat fönster i ett MDI-fönster (multiple-document interface). Dokumentfönster används vanligtvis som värd för textredigerare, formulärredigerare (även kallade designers) eller redigeringskontroller, men de kan också vara värdar för andra funktionella typer. Dialogrutan Ny fil innehåller exempel på dokumentfönster som Visual Studio tillhandahåller.
De flesta redigeringsprogram är specifika för ett programmeringsspråk eller för en filtyp, till exempel HTML-sidor, ramuppsättningar, C++-filer eller huvudfiler. Genom att välja en mall i dialogrutan Ny fil skapar en användare dynamiskt ett dokumentfönster för redigeraren för filtypen som är associerad med mallen. Ett dokumentfönster skapas också när en användare öppnar en befintlig fil.
Dokumentfönster är begränsade till MDI-klientområdet. Varje dokumentfönster har en flik överst och flikordningen är länkad till andra fönster som kan vara öppna i MDI-området. När du högerklickar på fliken i ett dokumentfönster visas en snabbmeny som innehåller alternativ för att dela upp MDI-området i flera vågräta eller lodräta flikgrupper. Genom att dela upp MDI-området kan flera filer visas samtidigt. Mer information finns i Dokumentfönster.
Redigeringsprogram
Med Visual Studio-redigeraren kan du anpassa det och använda det för din egen typ av innehåll med hjälp av Managed Extensibility Framework (MEF). I många fall behöver du inte skapa en VSPackage för att utöka redigeraren, men om du vill inkludera funktioner från gränssnittet (till exempel ett menykommando eller en genvägsnyckel) kan du kombinera ett MEF-tillägg med ett VSPackage.
Du kan också skapa en anpassad redigerare, till exempel om du vill läsa och skriva till en databas, eller om du vill använda en designer. Du kan också använda en extern redigerare som Anteckningar eller Microsoft WordPad. Mer information finns i Tillägg för redigerare och språktjänster.
Språktjänster
Om du vill att Visual Studio-redigeraren ska ha stöd för nya programmeringsnyckelord eller till och med ett nytt programmeringsspråk skapar du en språktjänst. Varje språktjänst kan implementera vissa redigeringsfunktioner helt, delvis eller inte alls. Beroende på hur den har konfigurerats kan språktjänsten tillhandahålla syntaxmarkering, klammerparentesmatchning, IntelliSense-stöd och andra funktioner i redigeraren.
Kärnan i en språktjänst är en parser och en skanner. En skanner (eller lexer) delar upp en källfil i element som kallas token, och en parser upprättar relationerna mellan dessa token. När du skapar en språktjänst måste du implementera parsern och skannern så att Visual Studio kan förstå språkets token och grammatik. Du kan skapa hanterade eller ohanterade språktjänster. Mer information finns i Äldre språktjänstens utökningsbarhet.
Projekt
I Visual Studio är projekt de containrar som utvecklare använder för att organisera och skapa källkoden och andra resurser. Med projekt kan du organisera, skapa, felsöka och distribuera källkod, referenser till webbtjänster och databaser och andra resurser. VSPackages kan utöka Visual Studio-projektsystemet genom att tillhandahålla projekttyper, projektundertyper och anpassade verktyg.
Projekt kan också samlas i en lösning, som är en gruppering av ett eller flera projekt som arbetar tillsammans för att skapa ett program. Projekt- och statusinformation som gäller lösningen lagras i två lösningsfiler, den textbaserade lösningsfilen (.sln) och den binära lösningsalternativfilen (.suo). De här filerna liknar de gruppfiler (.vbg) som användes i tidigare versioner av Visual Basic, samt de arbetsytefiler (.dsw) och användaralternativ (.opt) som användes i tidigare versioner av C++.
Mer information finns i Projekt och lösningar.
Projekt- och objektmallar
Visual Studio innehåller fördefinierade projektmallar och projektobjektmallar. Du kan också skapa egna mallar eller hämta mallar från communityn och sedan integrera dem i Visual Studio. MSDN-kodgalleriet är platsen där du kan använda mallar och tillägg.
Mallar innehåller projektstrukturen och de grundläggande filer som krävs för att skapa en viss typ av program, kontroll, bibliotek eller klass. När du vill utveckla programvara som liknar en av mallarna skapar du ett projekt som baseras på mallen och ändrar sedan filerna i projektet.
Anmärkning
Den här mallarkitekturen stöds inte för Visual C++-projekt.
Mer information finns i Lägga till projekt- och projektobjektmallar.
Egenskaper och alternativ
Fönstret Egenskaper visar egenskaperna för enskilda eller flera markerade objekt: Sidor med utökade egenskaperalternativ innehåller uppsättningar med alternativ som gäller för en viss komponent, till exempel ett programmeringsspråk eller ett VSPackage: Alternativ och alternativsidor. Inställningarna är vanligtvis användargränssnittsrelaterade funktioner som kan importeras och exporteras: Stöd för användarinställningar.
Visual Studio Services
En tjänst tillhandahåller en specifik uppsättning gränssnitt som komponenter kan använda. Visual Studio tillhandahåller en uppsättning tjänster som kan användas av alla komponenter, inklusive tillägg. Visual Studio-tjänster gör till exempel att verktygsfönster kan visas eller döljas dynamiskt, ge åtkomst till hjälp, statusfält eller användargränssnittshändelser. Visual Studio-redigeraren tillhandahåller även tjänster som kan importeras med redigeringstillägg. Mer information finns i Använda och tillhandahålla tjänster.
Debuggverktyg
Felsökningsprogrammet är användargränssnittet för de språkspecifika felsökningskomponenterna. Om du har skapat en ny språktjänst måste du skapa en specifik felsökningsmotor för att ansluta till felsökningsprogrammet. Mer information finns i Utökningsbarhet för Visual Studio-felsökningsprogrammet.
Källkontroll
Information om hur du implementerar ett plugin-program för källkontroll eller VSPackage finns i Källkontroll.
Trollkarlar
Du kan skapa en guide tillsammans med en ny projekttyp, så att guiden kan hjälpa användarna att fatta rätt beslut när de skapar ett nytt projekt av den typen. Mer information finns i Guider.
Anpassade verktyg
Med anpassade verktyg kan du associera ett verktyg med ett objekt i ett projekt och köra verktyget när filen sparas. Mer information finns i Anpassade verktyg.
VSSDK-verktyg
VSSDK innehåller en uppsättning verktyg som du kan behöva för att arbeta med olika aspekter av VSPackages. Mer information finns i VSSDK-verktyg.
Använda Windows Installer
I vissa fall kan du behöva använda Windows Installer i stället för VSIX-installationsprogrammet: du kan till exempel behöva skriva till registret. Information om hur du använder Windows Installer med dina tillägg finns i Installera VSPackages med Windows Installer.
Hjälpvisningsprogram
Du kan integrera din egen hjälp och F1-sidor i hjälpvisningsprogrammet. Mer information finns i Microsoft Help Viewer SDK.