Delen via


Ondersteuning voor gebruikersinstellingen

Een VSPackage kan een of meer instellingencategorieën definiëren. Dit zijn groepen statusvariabelen die behouden blijven wanneer een gebruiker de opdracht Instellingen importeren/exporteren kiest in het menu Extra . Als u deze persistentie wilt inschakelen, gebruikt u de instellingen-API's in de Visual Studio SDK.

Een registervermelding die wordt aangeduid als een aangepast instellingenpunt en een GUID definieert de instellingencategorie van VSPackage. Een VSPackage kan ondersteuning bieden voor meerdere instellingencategorieën, die elk zijn gedefinieerd door een aangepast instellingenpunt.

  • Implementaties van instellingen die zijn gebaseerd op interoperabiliteitsassembly's (met de IVsUserSettings-interface) moeten een Aangepast Instellingenpunt maken door het register te bewerken of door een registrarscript (.rgs-bestand) te gebruiken. Zie Scripts voor registrars maken voor meer informatie.

  • Code die gebruikmaakt van het Managed Package Framework (MPF) moet aangepaste instellingenpunten maken door een ProvideProfileAttribute koppeling te maken met het VSPackage voor elk aangepast instellingenpunt.

    Als één VSPackage meerdere aangepaste instellingenpunten ondersteunt, wordt elk custom settings point geïmplementeerd door een afzonderlijke klasse en elk wordt geregistreerd door een uniek exemplaar van de ProvideProfileAttribute klasse. Daarom kan een implementatieklasse voor instellingen meer dan één instellingscategorie ondersteunen.

Details van registervermelding voor aangepaste instellingen

Aangepaste instellingenpunten worden gemaakt in een registervermelding op de volgende locatie: HKLM\Software\Microsoft\VisualStudio\<Version>\UserSettings\<CSPName>, waar <CSPName> de naam is van het Custom Settings Point dat de VSPackage ondersteunt en <versie> de versie is van Visual Studio, bijvoorbeeld 8.0.

Opmerking

Het rootpad van HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Versie<> kan worden overschreven met een alternatieve root wanneer de Integrated Development Environment (IDE) van Visual Studio wordt geïnitialiseerd. Zie Command-Line Switches voor meer informatie.

Hieronder ziet u de structuur van de registervermelding:

HKLM\Software\Microsoft\VisualStudio\<Version>\UserSettings\

<CSPName >= s '#12345'

Pakket = '{XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

Categorie = {JJJJ JJJJYYYYYY}

ResourcePackage = {ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZZZ}

AlternateParent = CategoryName

Naam Typologie Gegevens Beschrijving
(Standaard) REG_SZ Naam van het punt voor aangepaste instellingen De naam van de sleutel, <CSPName>is de niet-gelokaliseerde naam van het aangepaste instellingenpunt.

Voor implementaties op basis van MPF wordt de naam van de sleutel verkregen door de categoryName en objectName argumenten van de ProvideProfileAttribute constructor te combineren in categoryName_objectName.

De sleutel kan leeg zijn of kan de verwijzings-id bevatten naar de gelokaliseerde tekenreeks in een satelliet-DLL. Deze waarde wordt verkregen van het objectNameResourceID argument aan de ProvideProfileAttribute constructor.
Pakket REG_SZ GUID (Globaal Unieke Identificatiecode) De GUID van de VSPackage waarmee het aangepaste instellingenpunt wordt geïmplementeerd.

Implementaties op basis van MPF, waarbij de ProvideProfileAttribute klasse wordt gebruikt, maken gebruik van het argument van de constructor objectType dat de VSPackage's Type bevat en reflectie om deze waarde te verkrijgen.
Categorie REG_SZ GUID (Globaal Unieke Identificatiecode) GUID die de instellingen-categorie identificeert.

Voor implementaties op basis van interoperabiliteitsassembly's kan deze waarde een willekeurig gekozen GUID zijn, die de Visual Studio IDE doorgeeft aan de ExportSettings en de ImportSettings methoden. Alle implementaties van deze twee methoden moeten hun GUID-argumenten verifiëren.

Voor implementaties op basis van MPF wordt deze GUID verkregen door de Type klasse die het Visual Studio-instellingenmechanisme implementeert.
ResourcePackage REG_SZ GUID (Globaal Unieke Identificatiecode) Facultatief.

Pad naar satelliet-DLL met gelokaliseerde tekenreeksen als de implementatie van VSPackage deze niet levert.

MPF gebruikt weerspiegeling om de juiste resource VSPackage te verkrijgen, dus de ProvideProfileAttribute klasse stelt dit argument niet in.
AlternatieveOuder REG_SZ Naam van de map onder de Extra-optiespagina met dit aangepaste instellingenpunt. Facultatief.

U moet deze waarde alleen instellen als een implementatie van instellingen ondersteuning biedt voor pagina's met extra opties die gebruikmaken van het persistentiemechanisme in de Visual Studio SDK in plaats van het mechanisme in het automatiseringsmodel om de status op te slaan.

In deze gevallen is de waarde in de sleutel AlternateParent de topic sectie van de topic.sub-topic tekenreeks die wordt gebruikt om de specifieke ToolsOptions-pagina te identificeren. Voor de pagina "TextEditor.Basic" zou de waarde van AlternateParent bijvoorbeeld zijn"TextEditor".

Wanneer ProvideProfileAttribute het punt voor aangepaste instellingen wordt gegenereerd, is dit hetzelfde als de categorienaam.