Anatomie van een Visual Studio-extensie
Een VSIX-pakket is een VSIX-bestand dat een of meer Visual Studio-extensies bevat en de metagegevens die Visual Studio gebruikt om de extensies te classificeren en te installeren. De VSIX-pakketindeling volgt de OPC-standaard (Open Packaging Conventions), wat betekent dat het kan worden geopend door elk hulpprogramma waarmee ZIP-bestanden kunnen worden geopend.
Een uitbreidingsproject is een C#-project met een paar extra's die het uniek maken. In de volgende video wordt een uitbreidingsproject verkend om beter te begrijpen hoe uitbreidingsprojecten werken:
Bestandsstructuur
Bij het maken van nieuwe extensies met behulp van de VSIX Project w/Command (Community) sjabloon, ziet de bestandsstructuur er als volgt uit:
Het bestand .vsixmanifest is het hoofdbestand. Het is een XML-bestand met informatie over de extensie die wordt gebruikt door Visual Studio. Alle onderdelen van de extensie zijn geregistreerd in het bestand .vsixmanifest. Het is het enige verplichte bestand in een VSIX-project.
In het bestand VSCommandTable.vsct worden opdrachten gedeclareerd. Het is een XML-bestand en bevat de definities van knopopdrachten, menu's, sneltoetsbindingen en meer. Het bestand compileert de inhoud ervan in een blob in de uitvoer .dll die Visual Studio gebruikt om de volledige menustructuur van de opdrachttabel te maken. Dit bestand declareert alleen de componenten in de opdrachttabel; het verwerkt geen opdrachtuitvoeringen.
Het bestand *Package.cs is de pakketklasse, het toegangspunt voor de meeste extensies. Hier vindt u vaak opdrachthandlers, hulpprogrammavensters, optiespagina's, services en andere onderdelen die zijn geregistreerd.
Compilatie
Het project wordt gecompileerd in een VSIX-bestand dat zich in de map /bin/debug of /bin/release bevindt, afhankelijk van de huidige buildconfiguratie van de oplossing. De workloadvoor de ontwikkeling van Visual Studio-extensies biedt toegewezen MSBuild-doelen en -taken voor het afhandelen van het VSIX-projecttype.
Wanneer het VSIX-project wordt gebouwd, wordt het automatisch geïmplementeerd in de Experimentele Exemplar. Dit kan worden beheerd in de VSIX-projectinstellingen:
Experimenteel exemplaar
Om uw Visual Studio-ontwikkelomgeving te beschermen tegen niet-geteste toepassingen die deze kunnen wijzigen, biedt de VSSDK een experimentele ruimte die u kunt gebruiken om te experimenteren. U ontwikkelt nieuwe toepassingen zoals gebruikelijk met Behulp van Visual Studio, maar u voert ze uit met behulp van dit experimentele exemplaar.
Elke toepassing met een VSIX-pakket start het experimentele Visual Studio-exemplaar in de foutopsporingsmodus.
Als u het experimentele exemplaar van Visual Studio buiten een specifieke oplossing wilt starten, voert u de volgende opdracht uit in het opdrachtvenster:
devenv.exe /RootSuffix Exp
Bekijk voor meer uitbreidbaarheidsconcepten de nuttige bronnen, die handig zijn voor het volgen van deze toolkit.