Paso 4: Métodos de paquete
La clase de paquete creada por el asistente necesita algunos campos y métodos para
permite que nuestro control de acceso en tiempo de ejecución el objeto interno que manejar el texto que aparece en el editor de código. También necesitamos algunos métodos de acceso.
Abra el archivo MultiSlotClipboardPackage.cs archivo e inserte el campo estático denominado thePackage justo después de la definición de la clase:
estáticos públicos MultiSlotClipboardPackage thePackage;
Ahora descubre el método Initialize() e insertar la siguiente línea al final de este método para obtener la referencia del objeto de esta clase.
MultiSlotClipboardPackage.thePackage = este;
Asegúrese de no cambiar algo que ya está en el método Initialize(), que debe tener este aspecto:
protegidas override void Initialize()
{
Debug.WriteLine (cadena. Formato (minúsculas, "Introducción Initialize() de: {0}", este. ToString()));
de la base. Initialize();
Añadir nuestros controladores de comando de menú (comandos deben existir en el archivo .vsct)
OleMenuCommandService mcs = GetService(typeof(IMenuCommandService)) como OleMenuCommandService;
Si (null! = mcs)
{
Crear el comando de la ventana de herramientas
CommandID toolwndCommandID = nueva CommandID (GuidList.guidMultiSlotClipboardCmdSet, (int)PkgCmdIDList.cmdidMyTool);
MenuCommand menuToolWin = nueva MenuCommand (ShowToolWindow, toolwndCommandID);
MCS. AddCommand (menuToolWin);
}
MultiSlotClipboardPackage.thePackage = este;
}
A continuación, tenemos que añadir dos métodos que expondrán el director de texto y objetos DTE. Dentro de la clase MultiSlotClipboardPackage agregar los dos métodos siguientes:
público IVsTextManager getTextManager()
{
volver GetService(typeof(SVsTextManager)) (IVsTextManager);
}
público DTE Dte
{
Get {return (DTE)GetService(typeof(DTE));}
}
Esto termina las modificaciones necesarias en la clase de paquete MultiSlotClipboardPackage. Ahora nos centraremos nuestros esfuerzos en la clase MyControl para obtener el texto seleccionado e introducir lo que está dentro de la ranura en el archivo de código fuente.