Aan de slag met taalservice- en editorextensies

U kunt editorextensies gebruiken om taalservicefuncties toe te voegen, zoals overzicht, accolades, IntelliSense en gloeilampen aan uw eigen programmeertaal of aan elk inhoudstype. U kunt ook het uiterlijk en gedrag van de Visual Studio-editor aanpassen, bijvoorbeeld tekstkleuring, marges, decoraties en andere visuele elementen. U kunt ook uw eigen type inhoud definiëren en het uiterlijk en gedrag van de tekstweergaven opgeven waarin uw inhoud wordt weergegeven.

Gebruik de editorsjablonen die zijn geïnstalleerd als onderdeel van de Visual Studio SDK om aan de slag te gaan met het schrijven van editorextensies. De Visual Studio SDK is een downloadbare set hulpprogramma's waarmee u eenvoudiger Visual Studio-extensies kunt ontwikkelen, hetzij met behulp van VSPackages of met behulp van het Managed Extensibility Framework (MEF).

Opmerking

Zie Visual Studio SDK voor meer informatie over de Visual Studio SDK.

U wordt aangeraden meer te weten te komen over de volgende concepten en technologieën voordat u uw eigen editorextensies schrijft.

De extensies van Windows Presentation Foundation (WPF) en editor

De gebruikersinterface van de Visual Studio-editor (UI) wordt geïmplementeerd met behulp van de Windows Presentation Foundation (WPF). De WPF biedt een uitgebreide visuele ervaring en een consistent programmeermodel dat de visuele aspecten van de code scheidt van de bedrijfslogica. U kunt veel WPF-elementen en -functies gebruiken wanneer u editorextensies maakt. Zie Windows Presentation Foundation voor meer informatie.

De uitbreidingen van Managed Extensibility Framework (MEF) en editor

De Visual Studio-editor maakt gebruik van het Managed Extensibility Framework (MEF) voor het beheren van de onderdelen en extensies. Met de MEF kunnen ontwikkelaars ook eenvoudiger extensies maken voor een hosttoepassing zoals Visual Studio. In dit framework definieert u een uitbreiding volgens een MEF-contract en exporteert u deze als onderdeel van een MEF-onderdeel. De hosttoepassing beheert de onderdelen door ze te vinden, te registreren en ervoor te zorgen dat ze worden toegepast op de juiste context.

Opmerking

Zie Managed Extensibility Framework in de editor voor meer informatie over de MEF in de editor.

Visual Studio Editor-extensiepunten en -extensies

Editoruitbreidingspunten zijn MEF-onderdelen die u kunt aanpassen en uitbreiden. In sommige gevallen breidt u het uitbreidingspunt uit door een interface te implementeren en deze samen met de juiste metagegevens te exporteren. In andere gevallen declareert u een extensie en exporteert u deze als een bepaald type.

Hier volgen enkele van de basistypen editorextensies:

Editorextensies implementeren

In Visual Studio implementeert u editorextensies door een metagegevensbestand met de naam source.extension.vsixmanifest toe te voegen aan de oplossing, de oplossing te bouwen en vervolgens een kopie van de binaire bestanden en het manifest toe te voegen in een map die bekend is bij Visual Studio. Het manifestbestand definieert de basisgegevens over de extensie (bijvoorbeeld naam, auteur, versie en type inhoud). Zie Ship Visual Studio-extensies voor meer informatie over het VSIX-manifestbestand en het implementeren van extensies.

Wanneer u een extensie op een computer installeert, neemt u de binaire bestanden en het manifest op in een submap van de map die bekend is bij Visual Studio.

Waarschuwing

U hoeft zich geen zorgen te maken over de details van manifesten en implementatielocaties als u een van de uitbreidbaarheidssjablonen van de editor gebruikt die zijn opgenomen in Visual Studio. De sjablonen bevatten alles wat nodig is om een extensie te registreren en te implementeren.

Extensies uitvoeren in het experimentele exemplaar

U kunt uw werkende versie van Visual Studio isoleren terwijl u een extensie ontwikkelt door deze te implementeren in de volgende experimentele map (op Windows Vista en Windows 7):

{%LOCALAPPDATA%}\VisualStudio\10.0Exp\Extensions\{Company}\{ExtensionID}

waarbij %LOCALAPPDATA% de naam is van de aangemelde gebruiker, is Company de naam van het bedrijf dat eigenaar is van de extensie en ExtensionID de id van de extensie.

Wanneer u een extensie implementeert op de experimentele locatie, wordt deze uitgevoerd in de foutopsporingsmodus. Er wordt een tweede exemplaar van Visual Studio gestart en heet Microsoft Visual Studio - Experimenteel exemplaar.

Extensies beheren

Extensies voor Visual Studio worden vermeld in Extensies en updates (in het menu Extra ). Als u een extensie test in het experimentele exemplaar, wordt deze vermeld in Extensies en updates in het experimentele exemplaar, maar wordt deze niet vermeld in het ontwikkelexemplaren.

Zie Visual Studio-extensies zoeken en gebruiken voor meer informatie.

Sjablonen gebruiken om editorextensies te maken

U kunt editorsjablonen gebruiken om MEF-extensies te maken waarmee classificaties, decoraties en marges worden aangepast. Er zijn sjablonen voor C#- en Visual Basic-projecten. Zie Een extensie maken met een sjabloon voor editoritems voor meer informatie.

U kunt ook de VSIX Project-sjabloon gebruiken om extensies te maken. Deze sjabloon bevat alleen de elementen die vereist zijn voor het implementeren van elk type extensie en het bestand source.extension.vsixmanifest , de vereiste assemblyverwijzingen en een projectbestand met de buildtaken waarmee u de extensie kunt implementeren. Zie de VSIX-projectsjabloon voor meer informatie.

U kunt ook MEF-onderdelen van de editor maken vanuit een Visual Studio Package-extensie. Zie de volgende handleidingen voor meer details: