tutorial: crear una categoría de configuración
En este tutorial, puede crear una categoría de configuración de Visual Studio y utilizarla para guardar la configuración y restablecer la configuración de un archivo de configuración. Una categoría es un grupo de propiedades relacionadas que aparecen como un “punto de configuración personalizado”; es decir, como casilla en el asistente para la configuración de la importación y la exportación. Para iniciar el asistente, en el menú de Herramientas , haga clic en Valores de importación y exportaciones. Los valores se guardan o se restablecen como categoría, y los valores individuales no aparecen en el asistente. Para obtener más información, vea Personalizar la configuración de desarrollo en Visual Studio.
El (MPF) managed package admite la creación de categorías de configuración con código adicional muy pequeño. Crea un VSPackage para proporcionar un contenedor para la categoría crear subclases de la clase de Package . Crea la categoría propia derivándola de la clase de DialogPage .
Nota
Aunque DialogPage puede proporcionar una interfaz de usuario de la cuadrícula de propiedades o personalizado, (UI) ninguno es utilizado por el administrador de configuración.
Para iniciar este tutorial, primero debe completar la primera sección de tutorial: crear una página opciones. La cuadrícula de propiedades resultante de opciones permite examinar y cambiar las propiedades de la categoría. Después de guardar la categoría de propiedad de un archivo de configuración, examine el archivo para ver cómo se almacenan los valores de propiedad.
Requisitos previos
Para completar este tutorial, debe instalar Visual Studio 2010 SDK.
Nota
Para obtener más información sobre el SDK de Visual Studio, vea Información general de Visual Studio que extiende.Para averiguar cómo descargar el SDK de Visual Studio, vea Centro para desarrolladores de extensibilidad de Visual Studio en el sitio web de MSDN.
Ubicaciones de la plantilla de proyecto paquete de Visual Studio
La plantilla de proyecto paquete de Visual Studio se puede encontrar en tres ubicaciones diferentes en el diálogo de Nuevo proyecto :
bajo extensibilidad de Visual Basic. El idioma predeterminado del proyecto es Visual Basic.
bajo extensibilidad de C#. El lenguaje predeterminado del proyecto es C#.
En otra extensibilidad de los tipos de proyecto. El lenguaje predeterminado del proyecto es C++.
crear una categoría de configuración
En esta sección, se crea una categoría de configuración utilizando la plantilla de proyecto paquete de Visual Studio. Utiliza un punto de configuración personalizado para guardar y restaurar los valores de categoría de configuración.
para crear una categoría de configuración
complete la primera sección de tutorial: crear una página opciones.
Haga clic con el botón secundario en el proyecto de MyToolsOptions y haga clic en Establecer como proyecto de inicio.
Abra el archivo de VSPackage.resx y agregue estos tres recursos de cadena:
Name
Valor
106
mi categoría
107
Los valores
108
OptionInteger y OptionFloat
Esto crea los recursos que llaman a la categoría “mi categoría”, el objeto “my valores”, y la descripción “OptionInteger y OptionFloat” category.
Nota
De estos tres, solo el nombre de categoría no aparece en el asistente de configuración de la importación y la exportación.
Abra el archivo MyToolsOptionsPackage.cs o MyToolsOptionsPackage.vb en el proyecto de MyToolsOptions y agrega una propiedad de float denominada OptionFloat a la clase de OptionPageGrid , como se muestra en el ejemplo siguiente.
Public Class OptionPageGrid Inherits DialogPage Private _optionInt As Integer = 256 Private _optionFloat As Single = 3.14F <Category("My Options")> <Description("My integer option")> Public Property OptionInteger() As Integer Get Return _optionInt End Get Set(ByVal value As Integer) _optionInt = value End Set End Property <Category("My Options")> <Description("My float option")> Public Property OptionFloat() As Single Get Return _optionFloat End Get Set(ByVal value As Single) _optionFloat = value End Set End Property End Class
public class OptionPageGrid : DialogPage { private int _optionInt = 256; private float _optionFloat = 3.14F; [Category("My Options")] [Description("My integer option")] public int OptionInteger { get { return _optionInt; } set { _optionInt = value; } } [Category("My Options")] [Description("My float option")] public float OptionFloat { get { return _optionFloat; } set { _optionFloat = value; } } }
Nota
La categoría de OptionPageGrid denominada “mi categoría” ahora consta de las dos propiedades, OptionInteger y OptionFloat.
Agregue ProvideProfileAttribute a la clase de MyToolsOptions y dele CategoryName “mi categoría”, asígnele ObjectName “my valores”, y el conjunto IsToolsOptionPage a true. establece el categoryResourceID, objectNameResourceID, y DescriptionResourceID los id. correspondientes del recurso de cadena creado anteriormente.
<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID:=108)> <Guid(GuidList.guidMyToolsOptionsPkgString)> Public NotInheritable Class MyToolsOptions Inherits Package
[ProvideProfileAttribute( typeof(OptionPageGrid), "My Category", "My Settings", 106, 107, true, DescriptionResourceID = 108)] [Guid(GuidList.guidMyToolsOptionsPkgString)] public sealed class MyToolsOptions : Package
Compile el proyecto y compruebe que se compila sin errores.
Examinar el registro del sistema
En esta sección, se examina las entradas de registro del sistema creadas por ProvideProfileAttribute.
Para examinar el registro del sistema
Inicie el proyecto en modo de depuración presionando F5.
Esto inicia Visual Studio Exp y escribe los argumentos de ProvideProfileAttribute en el registro del sistema.
Nota
Dos versiones de Visual Studio se abrirán.
Cierre la instancia de depuración de Visual Studio.
Ejecute Editor del Registro y examine la entrada del Registro para HKCU \Software\Microsoft\VisualStudio\10.0Exp_Config\UserSettings\MyCategory_MySettings. La tabla siguiente muestra las subclaves de entrada (el GUID diferirá).
Name
Datos
(Valor predeterminado)
#107
Categoría
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Descripción
#108
Paquete
{a2192704-7d66-44b7-b61b-44ed96aace98}
El valor predeterminado “#107” de la subclave hace referencia al recurso de cadena “my valores”. El valor “#108” de la subclave de descripción hace referencia al recurso de cadena “OptionInteger y OptionFloat”.
Corregir el sistema
En esta sección, se corrige las entradas de registro del sistema creadas por ProvideProfileAttribute.
ProvideProfileAttribute está diseñado para escribir los id. de recursos para los recursos no administrados en el registro del sistema. El cargador de recursos de Visual Studio espera que los id. de recurso no administrado hacen valores numéricos ir precedido por “#”, y recursos administrados para tener valores numéricos sin preceder “#”. Por consiguiente, tiene que eliminar “#” para los identificadores. administrados de recursos.
Para corregir el sistema
Corrija la entrada del Registro para HKLM \Software\Microsoft\VisualStudio\8.0Exp\UserSettings\MyCategory_MySettings eliminando “#” de sus subclaves numéricas. La tabla siguiente muestra las subclaves de entrada (el GUID diferirá).
Name
Datos
(Valor predeterminado)
107
Categoría
{ba1e23e3-fecc-425d-8259-06c40cfac1b6}
Descripción
108
Paquete
{a2192704-7d66-44b7-b61b-44ed96aace98}
ToolsOptionsPath
mi categoría
Haga clic con el botón secundario en la entrada del Registro y la exporta el archivo “settings.reg” en la carpeta de proyecto MyToolsOptions.
Cierre el Editor del Registro.
Haga clic con el botón secundario en el proyecto de MyToolsOptions y agrega “settings.reg” al proyecto.
VsPkg.cs abierto o VsPkg.vb y marque como comentario ProvideProfileAttribute y sus argumentos.
'<ProvideProfileAttribute(GetType(OptionPageGrid), "My Category", "My Settings", 106, 107, True, DescriptionResourceID := 108)>
//[ProvideProfileAttribute( // typeof(OptionPageGrid), "My Category", "My Settings", // 106, 107, true, DescriptionResourceID = 108)]
Esto evita que las entradas de Registro que se reescritas en el registro del sistema.
Haga clic con el botón secundario en el proyecto de MyToolsOptions y haga clic en Propiedades.
Haga clic en la pestaña de Eventos de compilacin y agregue Línea de comandos del evento posterior a la compilaciónsiguiente. Debe incluir la ruta de acceso completa del archivo de settings.reg (la ruta difiera).
regedit /s D:\MyToolsOptions\MyToolsOptions\settings.reg
compile la solución de MyToolsOptions. Las subclaves numéricas fijas se escritas en el registro.
Nota
También debe crear estas correcciones cuando se crea un archivo de registro para la implementación final de VSPackage.
Examinar el archivo de configuración
En esta sección, se exporta valores de categoría de la propiedad en un archivo de configuración. Examine el archivo y después importa los valores de nuevo en la categoría de la propiedad.
para examinar el archivo de configuración
Inicie el proyecto en modo de depuración presionando F5. Esto inicia Visual Studio Exp.
Nota
Dos versiones de Visual Studio se abrirán.
En Visual Studio Exp, en el menú de Herramientas , haga clic Opciones.
Se abre el cuadro de diálogo Opciones.
En la vista de árbol en el panel izquierdo, expanda mi categoría y haga clic en Mi página de cuadrícula.
La cuadrícula de opciones aparece en el panel derecho. la categoría de la propiedad es mis opciones, y los nombres de propiedad son OptionFloat y OptionInteger.
cambie el valor de OptionFloat a 3,1416 y de OptionInteger a 12. Haga clic en Aceptar.
En el menú Herramientas, haga clic en Importar y exportar configuraciones.
el asistente de Importar y exportar configuraciones aparece.
Asegúrese de que Configuración de entorno seleccionado de exportación está seleccionado, y después haga clic en Siguiente.
la página de elija los valores para exportar aparece.
Haga clic Los valores.
los cambios de descripción a OptionInteger y OptionFloat.
Asegúrese de que Los valores está seleccionado, y haga clic en Siguiente.
la página de Asigne al archivo de configuración aparece.
Llame al nuevo archivo de configuración MySettings.vssettings y guárdelo en un directorio adecuado. Haga clic en Finalizar.
Los informes de la página de Exportacin completada que los valores se exportan correctamente.
En el menú Archivo, haga clic en Abrir y, a continuación, haga clic en Archivo. Busque MySettings.vssettings y ábralo.
Puede encontrar la categoría de propiedad que exportó en la sección siguiente del archivo (el GUID diferirá).
<Category name="My Category_My Settings" Category="{4802bc3e-3d9d-4591-8201-23d1a05216a6}" Package="{6bb6942e-014c-489e-a612-a935680f703d}" RegisteredName="My Category_My Settings"> PackageName="Company.MyToolsOptions.MyToolsOptions, MyToolsOptions, Version=1.0.2251.20398, Culture=neutral, PublicKeyToken=d74639816260e962"> <PropertyValue name="OptionFloat">3.1416</PropertyValue> <PropertyValue name="OptionInteger">12</PropertyValue> </Category>
Observe que el nombre de categoría completo se calculan por la adición de un carácter de subrayado al nombre de categoría seguido por el nombre del objeto. OptionFloat y OptionInteger aparecen en la categoría, junto con sus valores exportados.
Cierre el archivo de configuración sin cambiarlo.
En el menú de Herramientas , haga clic Opciones, expanda mi categoría, haga clic en Mi página de cuadrícula y después cambia los valores de OptionFloat y de OptionInteger. Haga clic en Aceptar.
En el menú de Herramientas , haga clic Importar y exportar configuraciones, Configuración de entorno seleccionado de importaciónseleccione, y haga clic en Siguiente.
la página de Guarda la configuración actual aparece.
No, simplemente importa nuevos valores seleccione y haga clic en Siguiente.
la página de elija una colección de valores para importar aparece.
Seleccione el archivo de MySettings.vssettings en el nodo de Los valores de la vista de árbol. Si el archivo no aparece en la vista de árbol, haga clic en Examinar y no lo encuentra. Haga clic en Siguiente.
el cuadro de diálogo de elija los valores para importar aparece.
Asegúrese de que Los valores está seleccionado, y haga clic en Finalizar. Cuando aparezca la página de Importacin completada , haga clic en Cerrar.
En el menú de Herramientas , haga clic en Opciones, expanda mi categoría, haga clic en mi Página de cuadrícula y compruebe que se han restaurado los valores de la categoría de la propiedad.
Vea también
Conceptos
Compatibilidad con las categorías de configuración