Stap 4: Pakket methoden
De klasse van de pakket gemaakt met de Wizard moet sommige velden en methoden om te
toestaan dat onze controle in runtime toegang krijgen tot het interne object die omgaan met de tekst in de code-editor wordt weergegeven. We moeten ook enkele toegangsmethoden.
Open het bestand MultiSlotClipboardPackage.cs en voeg het statische veld thePackage gewoon vernoemd in de definitie van de klasse:
statische openbare MultiSlotClipboardPackage thePackage;
Nu kom je op de Initialize()-methode en voeg de volgende regel aan het einde van deze methode om de verwijzing van het object van deze klasse.
MultiSlotClipboardPackage.thePackage = deze;
Zorg ervoor dat niet om iets te veranderen die er al op de Initialize()-methode, die moet er als volgt uitzien:
beschermde override void Initialize()
{
Debug.WriteLine (tekenreeks. Formaat (CultureInfo.CurrentCulture, "Entering Initialize() van: {0}", deze. ToString()));
Base. Initialize();
Onze opdracht handlers voor menu (opdrachten moeten bestaan in het .vsct-bestand) toevoegen
OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) als OleMenuCommandService;
Als (null! = mcs)
{
De opdracht voor de toolvenster maken
CommandID toolwndCommandID = nieuwe CommandID (GuidList.guidMultiSlotClipboardCmdSet, (int)PkgCmdIDList.cmdidMyTool);
MenuCommand menuToolWin = nieuwe MenuCommand (ShowToolWindow, toolwndCommandID);
mcs. AddCommand (menuToolWin);
}
MultiSlotClipboardPackage.thePackage = deze;
}
Vervolgens, moeten we twee methoden die de tekst manager en DTE objecten blootstellen zal toevoegen. Binnen de klasse MultiSlotClipboardPackage toevoegen de volgende twee methoden:
openbare IVsTextManager getTextManager()
{
retourneren (IVsTextManager) GetService(typeof(SVsTextManager));
}
openbare DTE Dte
{
Get {terugkeer (DTE)GetService(typeof(DTE));}
}
Dit eindigt de wijzigingen die nodig zijn op de pakket-klasse MultiSlotClipboardPackage. Nu zullen we onze inspanningen richten op de klasse MijnBesturingselement invoegen wat erin zit de sleuf op het broncodedossier te krijgen van de geselecteerde tekst.