Compartir a través de


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 :

  1. bajo extensibilidad de Visual Basic. El idioma predeterminado del proyecto es Visual Basic.

  2. bajo extensibilidad de C#. El lenguaje predeterminado del proyecto es C#.

  3. 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

  1. complete la primera sección de tutorial: crear una página opciones.

  2. Haga clic con el botón secundario en el proyecto de MyToolsOptions y haga clic en Establecer como proyecto de inicio.

  3. 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.

  4. 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.

  5. 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
    
  6. 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

  1. 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.

  2. Cierre la instancia de depuración de Visual Studio.

  3. 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

  1. 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

  2. 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.

  3. Cierre el Editor del Registro.

  4. Haga clic con el botón secundario en el proyecto de MyToolsOptions y agrega “settings.reg” al proyecto.

  5. 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.

  6. 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
    
  7. 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

  1. Inicie el proyecto en modo de depuración presionando F5. Esto inicia Visual Studio Exp.

    Nota

    Dos versiones de Visual Studio se abrirán.

  2. En Visual Studio Exp, en el menú de Herramientas , haga clic Opciones.

    Se abre el cuadro de diálogo Opciones.

  3. 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.

  4. cambie el valor de OptionFloat a 3,1416 y de OptionInteger a 12. Haga clic en Aceptar.

  5. En el menú Herramientas, haga clic en Importar y exportar configuraciones.

    el asistente de Importar y exportar configuraciones aparece.

  6. 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.

  7. Haga clic Los valores.

    los cambios de descripción a OptionInteger y OptionFloat.

  8. Asegúrese de que Los valores está seleccionado, y haga clic en Siguiente.

    la página de Asigne al archivo de configuración aparece.

  9. 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.

  10. 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.

  11. Cierre el archivo de configuración sin cambiarlo.

  12. 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.

  13. 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.

  14. No, simplemente importa nuevos valores seleccione y haga clic en Siguiente.

    la página de elija una colección de valores para importar aparece.

  15. 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.

  16. 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.

  17. 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

Otros recursos

estado de VSPackage