Compartir vía


Compatibilidad con la configuración de usuario

Un VSPackage puede definir una o varias categorías de configuración, que son grupos de variables de estado que persisten cuando un usuario elige el comando Importar/Exportar Configuración en el menú Herramientas. Para habilitar esta persistencia, use las API de configuración en el SDK de Visual Studio.

Una entrada del Registro a la que se hace referencia como punto de Configuración personalizado y un GUID define la categoría de configuración de un VSPackage. Un VSPackage puede admitir varias categorías de configuración, cada una definida por un punto de Configuración personalizado.

  • Las implementaciones de la configuración que se basan en ensamblados de interoperabilidad (mediante la IVsUserSettings interfaz) deben crear custom Configuración Point editando el registro o usando un script de registrador (archivo.rgs). Para obtener más información, consulta Creating Registrar Scripts.

  • El código que usa Managed Package Framework (MPF) debe crear puntos de Configuración personalizados adjuntando un ProvideProfileAttribute elemento al VSPackage para cada punto de Configuración personalizado.

    Si un único VSPackage admite varios puntos de Configuración personalizados, cada punto de Configuración personalizado se implementa mediante una clase independiente y cada uno se registra mediante una instancia única de la ProvideProfileAttribute clase . Por lo tanto, una configuración de implementación de clase puede admitir más de una categoría de configuración.

Detalles personalizados de entrada del Registro de punto de Configuración

Los puntos de Configuración personalizados se crean en una entrada del Registro en la siguiente ubicación: HKLM\Software\Microsoft\VisualStudio\<Version>\User Configuración\<CSPName>, donde <CSPName> es el nombre de Custom Configuración Point the VSPackage supports and< Version> es la versión de Visual Studio, por ejemplo 8.0.

Nota:

La ruta de acceso raíz de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\<Version> se puede invalidar con una raíz alternativa cuando se inicializa el entorno de desarrollo integrado (IDE) de Visual Studio. Para obtener más información, vea Modificadores de línea de comandos.

A continuación se muestra la estructura de la entrada del Registro:

HKLM\Software\Microsoft\VisualStudio\<Version>\User Configuración\

<CSPName>= s '#12345'

Package = '{XXXXXX XXXX XXXX XXXX XXXXXXXXX}'

Category = '{AAAAYYY AAAAYYYYYYYY}'

ResourcePackage = '{ZZZZZZ ZZZZ ZZZZ ZZZZ ZZZZZZZ}'

AlternateParent = CategoryName

Nombre Tipo data Descripción
(Es el valor predeterminado). REG_SZ Nombre del punto de Configuración personalizado El nombre de la clave, <CSPName>, es el nombre no localizado del punto de Configuración personalizado.

Para las implementaciones basadas en MPF, el nombre de la clave se obtiene mediante la combinación de los categoryName argumentos y objectName del ProvideProfileAttribute constructor en categoryName_objectName.

La clave puede estar vacía o puede contener el identificador de referencia a la cadena localizada en un archivo DLL satélite. Este valor se obtiene del objectNameResourceID argumento al ProvideProfileAttribute constructor.
Paquete REG_SZ GUID GUID del VSPackage que implementa custom Configuración Point.

Implementaciones basadas en MPF mediante la ProvideProfileAttribute clase , use el argumento del objectType constructor que contiene el vsPackage y Type la reflexión para obtener este valor.
Category REG_SZ GUID GUID que identifica la categoría de configuración.

En el caso de las implementaciones basadas en ensamblados de interoperabilidad, este valor puede ser un GUID elegido arbitrariamente, que el IDE de Visual Studio pasa a los ExportSettings métodos y ImportSettings . Todas las implementaciones de estos dos métodos deben comprobar sus argumentos GUID.

En el caso de las implementaciones basadas en MPF, este GUID se obtiene mediante la Type de la clase que implementa el mecanismo de configuración de Visual Studio.
ResourcePackage REG_SZ GUID Opcional.

Ruta de acceso a la DLL satélite que contiene cadenas localizadas si el VSPackage de implementación no los proporciona.

MPF usa la reflexión para obtener el recurso correcto VSPackage, por lo que la ProvideProfileAttribute clase no establece este argumento.
AlternateParent REG_SZ Nombre de la carpeta en la página Opciones de herramientas que contiene este punto de Configuración personalizado. Opcional.

Debe establecer este valor solo si una implementación de configuración admite páginas de opciones de herramientas que usan el mecanismo de persistencia en el SDK de Visual Studio en lugar del mecanismo en el modelo de automatización para guardar el estado.

En estos casos, el valor de la clave AlternateParent es la topic sección de la topic.sub-topic cadena utilizada para identificar la página ToolsOptions determinada. Por ejemplo, para la página "TextEditor.Basic" ToolsOptions, el valor de AlternateParent sería "TextEditor".

Cuando ProvideProfileAttribute genera custom Configuración Point, es el mismo que el nombre de categoría.