Share via


SDK del Visor de Ayuda de Microsoft

Este artículo contiene las siguientes tareas para los integradores del Visor de Ayuda de Visual Studio:

  • Creación de un tema (compatibilidad con F1)

  • Creación de un paquete de personalización de marca de contenido del Visor de Ayuda

  • Implementación de un conjunto de artículos

  • Adición de ayuda al shell de Visual Studio (integrado o aislado)

  • Recursos adicionales

Creación de un tema (compatibilidad con F1)

En esta sección se proporciona información general sobre los componentes de un tema presentado, los requisitos en cuanto a temas, una breve descripción de cómo crear un tema (incluidos los requisitos de compatibilidad con F1) y, por último, un tema de ejemplo con su resultado representado.

Información general sobre los temas del Visor de Ayuda

Cuando se designa un tema para la representación, el Visor de Ayuda obtiene los elementos del paquete de personalización de marca asociados al tema en el momento de la instalación o la última actualización, junto con el tema XHTML, y combina los dos para generar la vista de contenido presentada (datos de personalización de marca y datos de tema). El paquete de personalización de marca contiene logotipos, compatibilidad con comportamientos de contenido y texto de personalización de marca (derechos de autor, etc.). Consulte “Crear paquete de personalización de marca” a continuación para obtener más información sobre los elementos del paquete de personalización de marca. En caso de que no haya ningún paquete de personalización de marca asociado al tema, el Visor de Ayuda usará el paquete de personalización de marca de reserva ubicado en la raíz de la aplicación del Visor de Ayuda (Branding_en-US.mshc).

Requisitos con respecto a los temas del Visor de Ayuda

Para que se represente correctamente en el Visor de Ayuda, el contenido del tema sin procesar debe ser XHTML de W3C Basic 1.1.

Normalmente, un tema contiene dos secciones:

  • Metadatos (consulte la Referencia sobre los metadatos de contenido): datos sobre el tema, por ejemplo, el identificador único del tema, el valor de palabra clave, el identificador de la TDC del tema, el identificador de nodo primario, etc.

  • Contenido del cuerpo: compatible con XHTML de W3C Basic 1.1, que incluye comportamientos de contenido admitidos (área contraíble, fragmento de código, etc. A continuación se muestra una lista completa).

Controles compatibles con el paquete de personalización de marca de Visual Studio:

  • Vínculos

  • CodeSnippet

  • CollapsibleArea

  • Miembro heredado

  • LanguageSpecificText

Cadenas de idioma admitidas (no distingue mayúsculas de minúsculas):

  • javascript

  • csharp o c#

  • cplusplus o visualc++ o c++

  • jscript

  • visualbasic o vb

  • f# o fsharp o fs

  • otros: una cadena que representa un nombre de idioma

Creación de un tema del Visor de Ayuda

Cree un nuevo documento XHTML denominado ContosoTopic4.htm e incluya la etiqueta de título (a continuación).

<html>
<head>
<title>Contoso Topic 4</title>
</head>

<body>

</body>
</html>

A continuación, agregue datos para definir cómo se va a presentar el tema (automarcado o no), cómo hacer referencia a este tema para F1, el lugar en el que se encuentra esta tema en la TDC, su identificador (para referencia de vínculo por otros temas), etc. Consulte la tabla “Metadatos de contenido” a continuación para obtener una lista completa de los metadatos admitidos.

  • En este caso, usaremos nuestro propio paquete de personalización de marca, una variante del paquete de personalización de marca del Visor de Ayuda de Visual Studio.

  • Agregue el metanombre y el valor F1 (“Microsoft.Help.F1” content=“ ContosoTopic4”) que coincidirán con el valor F1 proporcionado en el contenedor de propiedades de IDE. (Consulte la sección Compatibilidad con F1 para obtener más información). Este es el valor que coincide con la llamada F1 desde el IDE para mostrar este tema cuando se elige F1 en el IDE.

  • Agregue el identificador del tema. Esta es la cadena que usan otros temas para vincular a este tema. Es el identificador del Visor de Ayuda para este tema.

  • Para la TDC, agregue el nodo primario de este tema para definir dónde aparecerá este nodo de la TDC de este tema.

  • Para la TDC, agregue el orden del nodo de este tema. Cuando el nodo primario tiene n número de nodos secundarios, defina en el orden de los nodos secundarios la ubicación de este tema. Por ejemplo, este tema es el número 4 de 4 temas secundarios.

Sección de metadatos de ejemplo:

<html>
<head>
<title>Contoso Topic 4</title>

<meta name="SelfBranded" content="false" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="Microsoft.Help.Id" content="ContosoTopic4" />
<meta name="Microsoft.Help.F1" content=" ContosoTopic4" />
    <meta name="Language" content="en-us" />
<meta name="Microsoft.Help.TocParent" content="ContosoTopic0" />
<meta name="Microsoft.Help.TocOrder" content="4" />

</head>

<body>

</body>
</html>

Cuerpo del tema

El cuerpo (no incluido el encabezado ni en el pie de página) del tema contendrá vínculos de página, una sección de nota, un área contraíble, un fragmento de código y una sección de texto específico del idioma. Consulte la sección de personalización de marca para obtener información sobre esas áreas del tema presentado.

  1. Agregar una etiqueta de título de tema: <div class="title">Contoso Topic 4</div>

  2. Agregar una sección de nota: <div class="alert"> add your table tag and text </div>

  3. Agregar un área contraíble: <CollapsibleArea Expanded="1" Title="Collapsible Area Test Heading"> add text </CollapsibleArea>

  4. Agregar un fragmento de código: <CodeSnippet EnableCopyCode="true" Language="CSharp" ContainsMarkup="false" DisplayLanguage="C#" > a block of code </CodeSnippet>

  5. Agregar texto específico del lenguaje de código: <LanguageSpecificText devLangcs="CS" devLangvb="VB" devLangcpp="C++" devLangnu="F#" /> tenga en cuenta que devLangnu= permite introducir otros idiomas. Por ejemplo, devLangnu="Fortran" muestra Fortran cuando el fragmento de código DisplayLanguage = Fortran

  6. Agregar vínculos de página: <a href="ms-xhelp:///?Id=ContosoTopic1">Main Topic</a>

Nota:

Nota: En el caso del nuevo “idioma” (por ejemplo, F#, Cobol o Fortran) la coloración de código en el fragmento de código será monocromo.

Ejemplo de tema del Visor de Ayuda El código muestra cómo definir metadatos, un fragmento de código, un área contraíble y texto específico del idioma.

<?xml version="1.0" encoding="utf-8"?>
<html>
<head>
<title>Contoso Topic 4</title>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="Microsoft.Help.Id" content="ContosoTopic4" />
<meta name="Microsoft.Help.F1" content=" ContosoTopic4" />
    <meta name="Language" content="en-us" />
<meta name="Microsoft.Help.TocParent" content="ContosoTopic0" />
<meta name="Microsoft.Help.TocOrder" content="4" />
<meta name="SelfBranded" content="false" />
</head>

<body>
<div class="title">Contoso Topic 4</div>

  <div id="header">
<table id="bottomTable" cellpadding="0" cellspacing="0"  width="100%">
        <tr id="headerTableRow2"><td align="left">
            <span id="nsrTitle">Contoso Topic 1</span>
          </td>
<td align="right">
</td></tr>
<tr id="headerTableRow1"><td align="left">
            <span id="runningHeaderText">Contoso Widgets & Sprockets</span>
          </td></tr>
      </table>
</div>

<h2>Table of Contents</h2>

<ul class="toc">
<li class="tocline1"><a href="#introduction" target="_self">1.0 Introduction</a></li>
<li class="tocline1"><a href="#related-content" target="_self">Related content</a></li>
</ul>

<div class="topic">

<div id="mainSection">
<div id="mainBody">

<a name="introduction"></a>
<h2>1.0 Introduction</h2>
<p>[This documentation is for sample purposes only.]</p>

<p>Contoso Topic 1 contains examples of:
<ul>
<li>Collapsible Area</li>
<li>Bookmark ("Related content")</li>
<li>Code Snippets from Branding Package</li>
</ul>
 </p>
<div class="alert"><table><tr><th>
<strong>Note </strong></th></tr>
<tr><td>
<p>This is an example of a <span class="label">Note </span>section.
Call out important items for your reader in this <span class="label">Note </span>box.
</p></td></tr>
</table>
</div>
</div>

<CollapsibleArea Expanded="1" Title="Collapsible Area Test Heading">

            <a id="sectionToggle0"><!----></a>

<div>
Example of Collapsible Area
<br/>
Lorem ipsum dolor sit amet...
</div>
</CollapsibleArea>

<div id="snippetGroup" >
<CodeSnippet EnableCopyCode="true" Language="VisualBasic" ContainsMarkup="false" DisplayLanguage="Visual Basic" >
Private Sub ToolStripRenderer1_RenderGrip(sender as Object, e as ToolStripGripRenderEventArgs) _ Handles ToolStripRenderer1.RenderGrip
Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "GripBounds", e.GripBounds)
    messageBoxVB.AppendLine()
 ...
    MessageBox.Show(messageBoxVB.ToString(),"RenderGrip Event")
End Sub
</CodeSnippet>

<CodeSnippet EnableCopyCode="true" Language="CSharp" ContainsMarkup="false" DisplayLanguage="C#" >
private void ToolStripRenderer1_RenderGrip(Object sender, ToolStripGripRenderEventArgs e)
{
System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "GripBounds", e.GripBounds );
messageBoxCS.AppendLine();
...
MessageBox.Show(messageBoxCS.ToString(), "RenderGrip Event" );
}
</CodeSnippet>

<CodeSnippet EnableCopyCode="true" Language="fsharp" ContainsMarkup="false" DisplayLanguage="F#" >
some F# code
</CodeSnippet>
</div>

<h4 class="subHeading">Example of code specific text</h4>Language = <LanguageSpecificText devLangcs="CS" devLangvb="VB" devLangcpp="C++" devLangnu="F#" />

<a name="related-content"></a>
<h1 class="heading">Related content</h1>

    <div id="relatedcontentSection" class="section">
    <div class="relatedcontentStyle">
        <a href="ms-xhelp:///?Id=ContosoTopic1">Main Topic</a>
    </div>
 </div>
</div>
</div>
</body>
</html>

Compatibilidad con F1

En Visual Studio, al seleccionar F1 se generan valores proporcionados a partir de la ubicación del cursor dentro del IDE y se rellena un “contenedor de propiedades” con los valores proporcionados (en función de la ubicación del cursor). Cuando el cursor está sobre la característica x, la característica x está activa o en el foco y rellena el contenedor de propiedades con valores. Cuando se selecciona F1, el contenedor de propiedades se rellena y el código de Visual Studio F1 realiza una búsqueda para comprobar si el origen de la ayuda predeterminado de los clientes es local o en línea (en línea es el valor predeterminado), crea la cadena adecuada en función de la configuración de los usuarios (en línea es el valor predeterminado): el shell se ejecuta (consulte la Guía del Administrador de ayuda para parámetros de inicio de exe) con parámetros para el visor de ayuda local + palabras clave desde el contenedor de propiedades si la ayuda local es la predeterminada, o la dirección URL de MSDN con la palabra clave en la lista de parámetros.

Si se devuelven tres cadenas para F1, denominada cadena de varios valores, tome el primer término, busque un acierto y, si se encuentra, el proceso ha terminado; si no es así, vaya a la siguiente cadena. El orden importa. La presentación de las palabras clave de varios valores debe ir de una cadena más larga a una cadena más corta. Para comprobar esto en el caso de las palabras clave de varios valores, examine la cadena de dirección URL F1 en línea, que incluirá la palabra clave elegida.

En Visual Studio 2012, hemos creado intencionadamente una división más fuerte entre en línea y sin conexión, de modo que si la configuración del usuario fuera para el formato en línea, simplemente pasamos la solicitud F1 directamente a nuestro servicio de consultas en línea en MSDN en lugar de enrutar a través del Agente de bibliotecas de ayuda que teníamos en Visual Studio 2010. A continuación, nos basamos en un estado de “contenido del proveedor instalado = true” para determinar si se debe tomar alguna medida diferente en ese contexto. Si es true, realizamos este análisis y esta lógica de enrutamiento en función de lo que quiera admitir para sus clientes. Si es false, simplemente accederemos a MSDN. Si la configuración del usuario es local, todas las llamadas van al motor de ayuda local.

Diagrama de flujo de F1:

Flujo F1

Cuando el origen de contenido de ayuda predeterminado del Visor de Ayuda está establecido como en línea (Iniciar en el explorador):

  • Las características del asociado de Visual Studio (VSP) emiten un valor al contenedor de propiedades F1 (prefix.keyword del contenedor de propiedades y la dirección URL en línea para el prefijo que se encuentra en el registro): F1 envía un parámetro URL+ de VSP al explorador.

  • Características de Visual Studio (editor de lenguaje, elementos de menú específicos de Visual Studio, etc.): F1 envía una dirección URL de Visual Studio al explorador.

Cuando el origen de contenido de ayuda predeterminado del Visor de Ayuda se establece en Ayuda local (Iniciar en el Visor de Ayuda):

  • Características de VSP en las que la coincidencia de palabra clave entre el contenedor de propiedades F1 y el índice de almacén local (es decir, el contenedor de propiedades prefix.keyword = el valor encontrado en el índice de almacén local): F1 representa el tema en el Visor de Ayuda.

  • Características de Visual Studio (sin opción de que VSP invalide el contenedor de propiedades emitido desde las características de Visual Studio): F1 representa un tema de Visual Studio en el Visor de Ayuda.

Establezca los siguientes valores del registro para habilitar F1 Fallback para el contenido de la Ayuda del proveedor. F1 Fallback implica que el Visor de Ayuda está establecido para buscar contenido de ayuda de F1 en línea y el contenido del proveedor está localmente instalado en el disco duro de los usuarios. El Visor de Ayuda debe examinar la Ayuda local para el contenido, aunque la configuración predeterminada sea para obtener ayuda en línea.

  1. Establezca el valor VendorContent en la clave del registro de Help 2.3:

    • Para sistemas operativos de 32 bits:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v2.3\Catalogs\VisualStudio15

      "VendorContent"=dword:00000001

    • Para sistemas operativos de 64 bits:

      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15

      "VendorContent"=dword:00000001

  2. Registre el espacio de nombre del asociado en la clave del registro de Ayuda 2.3:

    • Para sistemas operativos de 32 bits:

      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Help\v2.3\Partner\<namespace>

      "location"="offline"

    • Para sistemas operativos de 64 bits:

      HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Partner\<namespace>

      "location"="offline"

Análisis de espacios de nombres nativos básicos

Para activar el análisis de espacios de nombres nativos básicos, en el registro, agregue un nuevo DWORD por el nombre de: BaseNativeNamespaces y establezca su valor en 1 (en la clave de catálogo que desea admitir). Por ejemplo, si desea usar el catálogo de Visual Studio, puede agregar la clave a la ruta de acceso:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15

Cuando se encuentra una palabra clave F1 en el formato HEATHER/METHOD, el carácter “/” se analizará, lo que da lugar a la siguiente construcción:

  • HEADER: será el espacio de nombres que se puede usar para registrarse en el registro.

  • METHOD: se convertirá en la palabra clave que se transfiere.

Por ejemplo, si se da una biblioteca personalizada denominada CustomLibrary y un método llamado MyTestMethod, cuando se produzca una solicitud F1, se le asignará el formato CustomLibrary/MyTestMethod.

Después, un usuario puede registrar CustomLibrary como el espacio de nombres en el subárbol Asociados y proporcionar la clave de ubicación que desee y la palabra clave que se transfiere a la consulta será MyTestMethod.

Habilitación de la herramienta de depuración de Ayuda en el IDE

Agregue la clave y el valor del registro siguientes:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\16.0\Dynamic Help

Valor: Mostrar la salida de depuración en datos para minoristas: SÍ

En el IDE, en el elemento de menú Ayuda, seleccione Depurar contexto de ayuda.

Metadatos de contenido

En la tabla siguiente, cualquier cadena que aparezca entre corchetes es un marcador de posición que debe reemplazarse por un valor reconocido. Por ejemplo, en <meta name="Microsoft.Help.Locale" content="[language code]" />, "[language code]" debe reemplazarse por un valor como “en-us”.

Propiedad (representación HTML) Descripción
< meta name="Microsoft.Help.Locale" content="[language-code]" /> Establece una configuración regional para este tema. Si esta etiqueta se usa en un tema, debe usarse una sola vez y debe insertarse encima de cualquier otra etiqueta de Ayuda de Microsoft. Si no se usa esta etiqueta, el texto del cuerpo del tema se indexa mediante el separador de palabras asociado a la configuración regional del producto, si se especifica; de lo contrario, se usa el separador de palabras en-us. Esta etiqueta se ajusta a ISOC RFC 4646. Para asegurarse de que la Ayuda de Microsoft funciona correctamente, use esta propiedad en lugar del atributo Idioma general.
< meta name="Microsoft.Help.TopicLocale" content="[language-code]" /> Establece una configuración regional para este tema cuando también se usan otras configuraciones regionales. Si esta etiqueta se usa en un tema, debe usarse una sola vez. Use esta etiqueta cuando el catálogo incluya contenido en más de un idioma. Varios temas de un catálogo pueden tener el mismo identificador, pero cada uno debe especificar un TopicLocale único. El tema que especifica un TopicLocale que coincide con la configuración regional del catálogo es el tema que se muestra en la tabla de contenido. Sin embargo, todas las versiones de idioma del tema se muestran en resultados de búsqueda.
< título>[Título]</título> Especifica el título de este tema. Esta etiqueta es necesaria y debe usarse solo una vez en un tema. Si el cuerpo del tema no contiene una sección <div> de título, este título se muestra en el tema y en la tabla de contenido.
< meta name=" Microsoft.Help.Keywords" content="[aKeywordPhrase]"/> Especifica el texto de un vínculo que se muestra en el panel de índice del Visor de Ayuda. Cuando se hace clic en el vínculo, se muestra el tema. Puede especificar varias palabras clave de índice para un tema, o bien puede omitir esta etiqueta si no desea que los vínculos a este tema aparezcan en el índice. Las palabras clave “K” de versiones anteriores de Ayuda se pueden convertir en esta propiedad.
< meta name="Microsoft.Help.Id" content="[TopicID]"/> Establece el identificador de este tema. Esta etiqueta es necesaria y debe usarse solo una vez en un tema. El identificador debe ser único entre los temas del catálogo que tengan la misma configuración regional. En otro tema, puede crear un vínculo a este tema mediante este identificador.
< meta name="Microsoft.Help.F1" content="[System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator]"/> Especifica la palabra clave F1 para este tema. Puede especificar varias palabras clave F1 para un tema o puede omitir esta etiqueta si no desea que se muestre este tema cuando un usuario de la aplicación pulse F1. Normalmente, solo se especifica una palabra clave F1 para un tema. Las palabras clave “F” de versiones anteriores de Ayuda se pueden convertir en esta propiedad.
< meta name="Description" content="[topic description]" /> Proporciona un breve resumen del contenido de este tema. Si esta etiqueta se usa en un tema, debe usarse una sola vez. La biblioteca de consultas accede directamente a esta propiedad; no se almacena en el archivo de índice.
meta name="Microsoft.Help.TocParent" content="[parent_Id]"/> Especifica el tema primario de este tema en la tabla de contenido. Esta etiqueta es necesaria y debe usarse solo una vez en un tema. El valor es el Microsoft.Help.Id del elemento primario. Un tema puede tener solo una ubicación en la tabla de contenido. “-1” se considera el identificador del tema para la raíz de la TDC. En Visual Studio 2013, esa página es la página principal del Visor de Ayuda. Esta es la misma razón por la que agregamos específicamente TocParent=-1 a algunos temas para asegurarnos de que se muestran en el nivel superior. La página principal del Visor de Ayuda es una página del sistema, por lo que no se puede reemplazar. Si un VSP intenta agregar una página con un identificador de -1, puede agregarse al conjunto de contenido, pero el Visor de Ayuda siempre usará la página del sistema - Inicio del Visor de Ayuda
< meta name="Microsoft.Help.TocOrder" content="[positive integer]"/> Especifica dónde aparece en la tabla de contenido de este tema en relación con sus temas del mismo nivel. Esta etiqueta es necesaria y debe usarse solo una vez en un tema. El valor es un entero. Un tema que especifica un entero de valor inferior aparece encima de un tema que especifica un entero de valor superior.
< meta name="Microsoft.Help.Product" content="[product code]"/> Especifica el producto que describe este tema. Si esta etiqueta se usa en un tema, debe usarse una sola vez. Esta información también se puede proporcionar como parámetro que se transfiere al indexador de ayuda.
< meta name="Microsoft.Help.ProductVersion" content="[version number]"/> Especifica la versión del producto que describe este tema. Si esta etiqueta se usa en un tema, debe usarse una sola vez. Esta información también se puede proporcionar como parámetro que se transfiere al indexador de ayuda.
< meta name="Microsoft.Help.Category" content="[string]"/> Usado por productos para identificar subsecciones de contenido. Puede identificar varias subsecciones de un tema u omitir esta etiqueta si no desea que los vínculos identifiquen las subsecciones. Esta etiqueta se usa para almacenar los atributos de TargetOS y TargetFrameworkMoniker cuando se convierte un tema de una versión anterior de la Ayuda. El formato del contenido es AttributeName:AttributeValue.
< meta name="Microsoft.Help.TopicVersion content="[topic version number]"/> Especifica esta versión del tema cuando existen varias versiones en un catálogo. Dado que no se garantiza que Microsoft.Help.Id sea único, esta etiqueta es necesaria cuando existe más de una versión de un tema en un catálogo, por ejemplo, cuando un catálogo contiene un tema para .NET Framework 3.5 y un tema para .NET Framework 4 y ambos tienen la misma Microsoft.Help.Id.
< meta name="SelfBranded" content="[TRUE or FALSE]"/> Especifica si este tema usa el paquete de personalización de marca de inicio del Administrador de bibliotecas de ayuda o un paquete de personalización de marca específico del tema. Esta etiqueta debe ser TRUE o FALSE. Si es TRUE, el paquete de personalización de marca del tema asociado invalida el paquete de personalización de marca que se establece cuando se inicia el Administrador de bibliotecas de ayuda para que el tema se represente según lo previsto incluso si difiere de la representación de otro contenido. Si es FALSE, el tema actual se representa según el paquete de personalización de marca que se establece cuando se inicia el Administrador de bibliotecas de ayuda. De forma predeterminada, el Administrador de bibliotecas de ayuda supone que la personalización de marca es false a menos que la variable SelfBranded se declare como TRUE; Por lo tanto, no es necesario declarar <meta name="SelfBranded" content="FALSE"/>.

Creación de un paquete de personalización de marca

La versión de Visual Studio abarca una serie de diferentes productos de Visual Studio, incluidos los shells aislados e integrados para los asociados de Visual Studio. Cada uno de estos productos requiere cierto grado de compatibilidad con la personalización de marca de contenido de ayuda basada en temas, única para el producto. Por ejemplo, los temas de Visual Studio deben tener una presentación de marca coherente, mientras que SQL Studio, que encapsula el Shell ISO, requiere su propia personalización de marca de contenido de Ayuda única para cada tema. Es posible que un asociado de Shell integrado quiera que sus temas de Ayuda estén dentro del contenido principal de la Ayuda del producto de Visual Studio mientras mantiene su propia personalización de marca de temas.

El producto instala paquetes de personalización de marca que contiene el Visor de Ayuda. Para productos de Visual Studio:

  • Un paquete de personalización de marca de reserva (Branding_<locale>.mshc) se instala en la raíz de la aplicación del Visor de Ayuda 2.3 (ejemplo: C:\Archivos de programa (x86)\Visor de Ayuda de Microsoft\v2.3) por el paquete de idioma del Visor de Ayuda. Esto se usa en los casos en los que el paquete de personalización de marca de producto no está instalado (no se ha instalado ningún contenido) o en los que el paquete de personalización de marca instalado está dañado. Los elementos de Visual Studio (logotipo y comentarios) se omiten cuando se usa el paquete de personalización de marca de reserva raíz de la aplicación.

  • Cuando el contenido de Visual Studio se instala desde el servicio de paquete de contenido, también se instala un paquete de personalización de marca (por primera vez el escenario de instalación de contenido). Si hay una actualización del paquete de personalización de marca, la actualización se instala cuando se produce la siguiente acción de instalación de paquete o actualización de paquete adicional.

El Visor de Ayuda de Microsoft admite la personalización de marca de temas en función de los metadatos del tema.

  • Donde los metadatos del tema definen automarcado = true, represente el tema tal cual, no haga nada (en lo que respecta a la personalización de marca).

  • Donde los metadatos del tema definen la marca automática = false, use el paquete de personalización de marca asociado con el valor de metadatos TopicVendor.

  • Donde los metadatos del tema definen name="Microsoft.Help.TopicVendor" content=< branding package name in vendor MSHA>, use el paquete de personalización de marca definido en el valor de contenido.

  • Dentro del catálogo de Visual Studio, hay una aplicación prioritaria de paquetes de personalización de marca. En primer lugar, se aplica la personalización de marca predeterminada de Visual Studio y, a continuación, si se define en los metadatos del tema y se admite con el paquete de personalización de marca asociado (tal como se define en la msha de instalación), la personalización de marca definida por el proveedor se aplica como invalidación.

Normalmente, los elementos de personalización de marca se dividen en tres categorías principales:

  • Elementos de encabezado (entre los ejemplos se incluyen vínculo de comentarios, texto de declinación de responsabilidad condicional o logotipo)

  • Comportamientos de contenido (ejemplos incluyen elementos de texto de control expandir/contraer y elementos de fragmento de código)

  • Elementos de pie de página (p. ej., derechos de autor)

Los elementos considerados como elementos de marca incluyen (detallados en esta especificación):

  • Logotipo del catálogo o producto (por ejemplo, Visual Studio)

  • Vínculo de comentarios y elementos de correo electrónico

  • Texto de declinación de responsabilidades

  • Texto de derechos de autor

Los archivos auxiliares en el paquete de personalización de marca del Visor de Ayuda de Visual Studio incluyen:

  • Gráficos (logotipos, iconos, etc.)

  • Branding.js: archivos de script que admiten comportamientos de contenido

  • Branding.xml: cadenas que se usan de forma coherente en todo el contenido del catálogo. Nota: Para los elementos de texto de localización de Visual Studio en el branding.xml, incluya _locID="<unique value>"

  • Branding.css: definiciones de estilo para la coherencia de la presentación

  • Printing.css: definiciones de estilo para una presentación impresa coherente

Como se indicó anteriormente, los paquetes de personalización de marca están asociados al tema:

  • Cuando SelfBranded = false se define en los metadatos, el tema hereda el paquete de personalización de marca de catálogo.

  • O bien, cuando SelfBranded = false y hay un paquete de personalización de marca único definido en MSHA y disponible cuando se instala el contenido.

Para los VSP que implementan paquetes de personalización de marca personalizados (contenido de VSP, SelfBranded=True), una manera de continuar es comenzar con el paquete de personalización de marca de reserva (instalado con el Visor de Ayuda) y cambiar el nombre del archivo según corresponda. El archivo Branding_<locale>.mshc es un archivo ZIP con la extensión de archivo cambiada a .mshc, por lo que simplemente cambie la extensión de .mshc a .zip y extraiga el contenido. Vea a continuación los elementos del paquete de personalización de marca y modifique según corresponda (por ejemplo, cambie el logotipo al logotipo de VSP y la referencia al logotipo en el archivo de Branding.xml, actualice Branding.xml según los detalles de VSP, etc.).

Cuando se realicen todas las modificaciones, cree un archivo ZIP que contenga los elementos de personalización de marca deseados y cambie la extensión a .mshc.

Para asociar el paquete de personalización de marca personalizada, cree el MSHA, que contiene la referencia al archivo mshc de personalización de marca junto con el contenido mshc (que contiene los temas). Consulte a continuación “MSHA” para obtener información sobre cómo crear un MSHA básico.

El archivo Branding.xml contiene una lista de elementos usados para representar elementos específicos de forma coherente en un tema cuando el tema contiene <meta name="Microsoft.Help.SelfBranded" content="false"/>. A continuación se muestra la lista de elementos de Visual Studio del archivo Branding.xml. Esta lista está pensada para usarse como plantilla para los usuarios de ISO Shell, donde modifican estos elementos (por ejemplo, logotipo, comentarios y derechos de autor) para satisfacer sus propias necesidades de personalización de marca de producto.

Nota: Las variables indicadas con “{n}” tienen dependencias de código: al quitar o cambiar estos valores, se producirán errores y, posiblemente, el bloqueo de la aplicación. Los identificadores de localización (por ejemplo, _locID="codesnippet.n") se incluyen en el paquete de personalización de marca de Visual Studio.

Branding.xml

Elemento Descripción
Característica: CollapsibleArea
Uso: Expandir contrae el texto del control de contenido
Element Valor
ExpandText Expandir
CollapseText Contraer
Característica: CodeSnippet
Uso: Texto del control de fragmento de código. Nota: El contenido del fragmento de código con el espacio inseparable se cambiará al espacio.
Element Valor
CopyToClipboard Copiar al Portapapeles
ViewColorizedText Ver coloreado
CombinedVBTabDisplayLanguage Visual Basic (muestra)
VBDeclaration Declaración
VBUsage Uso
Característica: Comentarios, pie de página y logotipo
Uso: Proporcione un control de comentarios para que el cliente proporcione comentarios sobre el tema actual a través de correo electrónico. Texto de derechos de autor del contenido. Definición del logotipo.
Element Valor (estas cadenas se pueden modificar para satisfacer las necesidades del usuario de contenido).
Derechos de autor © 2013 Microsoft Corporation. Todos los derechos reservados.
SendFeedback <a href="{0}" {1}>Enviar comentarios</a> sobre este tema a Microsoft.
FeedbackLink
LogoTitle Visual Studio 2013
LogoFileName vs_logo_bk.gif
LogoFileNameHC vs_logo_wh.gif
Característica: Declinación de responsabilidades
Uso: Un conjunto de declinaciones de responsabilidades específicas de mayúsculas y minúsculas para el contenido traducido automáticamente.
Element Valor
MT_Editable Este artículo se ha traducido automáticamente. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
MT_NonEditable Este artículo se ha traducido automáticamente. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
MT_QualityEditable Este artículo se ha traducido manualmente. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
MT_QualityNonEditable Este artículo se ha traducido manualmente. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
MT_BetaContents Este artículo se tradujo automáticamente para una versión preliminar. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
MT_BetaRecycledContents Este artículo se tradujo manualmente para una versión preliminar. Si tiene una conexión a Internet, seleccione “Ver este tema en línea” para ver esta página en modo editable con el contenido original en inglés al mismo tiempo.
Característica: LinkTable
Uso: Compatibilidad con vínculos a temas en línea
Element Valor
LinkTableTitle Vincular tablas
TopicEnuLinkText Consulte la versió en inglés </a> de este tema que está disponible en el equipo.
TopicOnlineLinkText Ver este tema <a href="{0}" {1}>online</a>
OnlineText En línea
Característica: Control audio de vídeo
Uso: Mostrar elementos y texto para el contenido de vídeo
Element Valor
MultiMediaNotSupported Para admitir contenido {0}, se debe instalar Internet Explorer 9 o posterior.
Videotext visualización del vídeo
AudioText transmisión del audio
OnlineVideoLinkText <p>Para ver el vídeo asociado a este tema, haga clic en {0}<a href="{1}">{2}here</a>.</p>
OnlineAudioLinkText <p>Para escuchar el audio asociado a este tema, haga clic en {0}<a href="{1}">{2}here</a>.</p>
Característica: Control Contenido no instalado
Uso: Elementos de texto (cadenas) usados para la representación de contentnotinstalled.htm
Element Valor
ContentNotInstalledTitle No se encontró contenido en el equipo.
ContentNotInstalledDownloadContentText <p>Para descargar contenido en el equipo, haga clic en <a href="{0}" {1}>click the Manage tab</a>.</p>
ContentNotInstalledText <p>No se ha instalado contenido en el equipo. Consulte el Administrador para obtener la instalación del contenido de la Ayuda local.</p>
Característica: Control Tema no encontrado
Uso: Elementos de texto (cadenas) usados para la representación de topicnotfound.htm
Element Valor
TopicNotFoundTitle No se encuentra el tema solicitado en el equipo.
TopicNotFoundViewOnlineText <p>El tema que solicitó no se encontró en el equipo, pero puede <a href="{0}" {1}>ver el tema en línea</a>.</p>
TopicNotFoundDownloadContentText <p>Consulte el panel de navegación para ver vínculos a temas similares o <a href="{0}" {1}>click the Manage tab</a> para descargar contenido en el equipo.</p>
TopicNotFoundText <p>El tema que solicitó no se encontró en el equipo.</p>
Característica: Control Tema dañado
Uso: Elementos de texto (cadenas) usados para la representación de topiccorrupted.htm
Element Valor
TopicCorruptedTitle No se puede mostrar el tema solicitado.
TopicCorruptedViewOnlineText <p>El Visor de Ayuda no puede mostrar el tema solicitado. Puede haber un error en el contenido del tema o en una dependencia del sistema subyacente.</p>
Característica: Control Página principal
Uso: Texto que admite la presentación del contenido del nodo de nivel superior del Visor de Ayuda.
Element Valor
HomePageTitle Página principal del Visor de Ayuda
HomePageIntroduction <p>Bienvenido al Visor de Ayuda de Microsoft, una fuente esencial de información para todos los usuarios que usan herramientas, productos, tecnologías y servicios de Microsoft. El Visor de Ayuda proporciona acceso a información de procedimientos y referencia, código de ejemplo, artículos técnicos, etc. Para encontrar el contenido que necesita, examine la tabla de contenido, use la búsqueda de texto completo o navegue por el contenido mediante el índice de palabras clave.</p>
HomePageContentInstallText <p><br />Utilice la pestaña <a href="{0}" {1}>Manage Content</a> para lo siguiente:<ul><li>Añadir contenido a su equipo.</li li><>Compruebe si hay actualizaciones en el contenido local.</li li><>Elimine el contenido del equipo.</li></ul></p>
HomePageInstalledBooks Libros instalados
HomePageNoBooksInstalled No se encontró contenido en el equipo.
HomePageHelpSettings Configuración de contenido de ayuda
HomePageHelpSettingsText <p>La configuración actual es ayuda local. El Visor de Ayuda muestra el contenido que ha instalado en el equipo.<br />Para cambiar su fuente de contenido de ayuda, en la barra de menú de Visual Studio, seleccione <span style="">{0}Ayuda, Establecer preferencia de ayuda</span>.<br /></p>
Megabyte MB

branding.js

El archivo branding.js contiene JavaScript utilizado por los elementos de personalización de marca del Visor de Ayuda de Visual Studio. A continuación se muestra una lista de los elementos de personalización de marca y la función de JavaScript compatible. Todas las cadenas que se van a localizar para este archivo se definen en la sección “Cadenas localizables” en la parte superior de este archivo. Se ha creado el archivo ICL para las cadenas loc dentro del archivo branding.js.

Característica de personalización de marca Función JavaScript Descripción
Var ... Definición de variables
Obtener el idioma del código de usuario setUserPreferenceLang asigna un índice # al lenguaje de código
Establecimiento y obtención de valores de cookie getCookie, setCookie
Miembro heredado changeMembersLabel Expandir o contraer miembro heredado
Cuando SelfBranded=False onLoad Lea la cadena de consulta para comprobar si se trata de una solicitud de impresión. Establezca todos los fragmentos de código para centrar la pestaña preferida del usuario. Si se trata de una solicitud de impresión, establezca isPrinterFriendly en true. Busque el modo de contraste alto.
Fragmento de código addSpecificTextLanguageTagSet
getIndexFromDevLang
ChangeTab
setCodesnippetLang
setCurrentLang
CopyToClipboard
CollapsibleArea addToCollapsibleControlSet escriba todo el objeto de control contraíble en la lista.
CA_Click en función del estado de área contraíble, define qué imagen y qué texto se van a presentar.
Compatibilidad con contraste del logotipo isBlackBackground() Se designa para determinar si el fondo es negro. Solo es preciso cuando está en modo de contraste alto.
isHighContrast() use un intervalo de colores para detectar el modo de contraste alto
onHighContrast(black) Se llama cuando se detecta contraste alto
Funcionalidad LST
addToLanSpecTextIdSet(id)
updateLST(currentLang)
getDevLangFromCodeSnippet(lang)
Funcionalidad multimedia subtítulo (principio, fin, texto y estilo)
findAllMediaControls(normalizedId)
getActivePlayer(normalizedId)
captionsOnOff(id)
toSeconds(t)
getAllComments(node)
styleRectify(styleName, styleValue)
showCC(id)
subtitle(id)

ARCHIVOS HTM

El paquete de personalización de marca contiene un conjunto de archivos HTM que admiten escenarios para comunicar información clave a los usuarios del contenido, por ejemplo, una página principal que contiene una sección que describe qué conjuntos de contenido se instalan y páginas que indican al usuario cuándo no se encuentran temas en el conjunto local de temas. Estos archivos HTM se pueden modificar según el producto. Los proveedores de ISO Shell pueden tomar el paquete de personalización de marca predeterminado y cambiar el comportamiento y el contenido de estas páginas para satisfacer sus necesidades. Estos archivos hacen referencia a su paquete de personalización de marca correspondiente para que las etiquetas de personalización de marca obtengan el contenido correspondiente del archivo branding.xml.

Archivo Usar Origen de contenido mostrado
homepage.htm Se trata de una página que muestra contenido instalado actualmente y cualquier otro mensaje adecuado para presentar al usuario sobre su contenido. Este archivo tiene el atributo de metadatos adicional “Microsoft.Help.Id” content=“-1”, que coloca este contenido en la parte superior de la TDC de contenido local.
<META_HOME_PAGE_TITLE_ADD /> Branding.xml, etiqueta <HomePageTitle>
<HOME_PAGE_INTRODUCTION_SECTION_ADD /> Branding.xml, etiqueta <HomePageIntroduction>
<HOME_PAGE_CONTENT_INSTALL_SECTION_ADD /> Branding.xml, etiqueta <HomePageContentInstallText>
<HOME_PAGE_BOOKS_INSTALLED_SECTION_ADD /> Sección de encabezado Branding.xml etiqueta<HomePageInstalledBooks>, los datos generados a partir de la aplicación, <HomePageNoBooksInstalled> cuando no hay libros instalados.
<HOME_PAGE_SETTINGS_SECTION_ADD /> Sección de encabezado Branding.xml etiqueta <HomePageHelpSettings>, texto de sección <HomePageHelpSettingsText>.
topiccorrupted.htm Cuando existe un tema en el conjunto local, pero por algún motivo no se puede mostrar (contenido dañado).
<META_TOPIC_CORRUPTED_TITLE_ADD /> Branding.xml, etiqueta <TopicCorruptedTitle>
<TOPIC_CORRUPTED_SECTION_ADD /> Branding.xml, etiqueta <TopicCorruptedViewOnlineText>
topicnotfound.htm Cuando no se encuentra un tema en el conjunto de contenido local ni disponible en línea
<META_TOPIC_NOT_FOUND_TITLE_ADD /> Branding.xml, etiqueta <TopicNotFoundTitle>
<META_TOPIC_NOT_FOUND_ID_ADD /> Branding.xml, etiqueta <TopicNotFoundViewOnlineText> + <TopicNotFoundDownloadContentText>
<TOPIC_NOT_FOUND_SECTION_ADD /> Branding.xml, etiqueta <TopicNotFoundText>
contentnotinstalled.htm Cuando no hay contenido local instalado para el producto.
<META_CONTENT_NOT_INSTALLED_TITLE_ADD /> Branding.xml, etiqueta <ContentNotInstalledTitle>
<META_CONTENT_NOT_INSTALLED_ID_ADD /> Branding.xml, etiqueta <ContentNotInstalledDownloadContentText>
<CONTENT_NOT_INSTALLED_SECTION_ADD /> Branding.xml, etiqueta <ContentNotInstalledText>

Archivos CSS

El paquete de personalización de marca del Visor de Ayuda de Visual Studio contiene dos archivos css para admitir una presentación coherente del contenido de la Ayuda de Visual Studio:

  • Branding.css: contiene elementos css para representar donde SelfBranded=false

  • Printer.css: contiene elementos css para representar donde SelfBranded=false

Los archivos Branding.css incluyen definiciones de presentación de temas de Visual Studio (advertencia es que los branding.css contenidos en el Branding_<locale.mshc> del servicio de paquete pueden cambiar).

Archivos gráficos

El contenido de Visual Studio muestra un logotipo de Visual Studio, así como otros gráficos. A continuación se muestra la lista completa de archivos gráficos en el paquete de personalización de marca del Visor de Ayuda de Visual Studio.

Archivo Usar Ejemplos
clear.gif Se usa para representar un área contraíble
footer_slice.gif Presentación del pie de página
info_icon.gif Se usa al mostrar información Declinación de responsabilidades
online_icon.gif Este icono se va a asociar a vínculos en línea
tabLeftBD.gif Se usa para representar el contenedor de fragmentos de código
tabRightBD.gif Se usa para representar el contenedor de fragmentos de código
vs_logo_bk.gif Se usa para las referencias de logotipo de contraste normales, tal como se define en Branding.xml etiqueta <LogoFileName>. En el caso de los productos de Visual Studio, el nombre del logotipo es vs_logo_bk.gif.
vs_logo_wh.gif Se usa para las referencias de logotipo de contraste alto, tal como se define en Branding.xml etiqueta <LogoFileNameHC>. En el caso de los productos de Visual Studio, el nombre del logotipo es vs_logo_wh.gif.
ccOff.png Gráfico de subtítulos
ccOn.png Gráfico de subtítulos
ImageSprite.png Se usa para representar un área contraíble gráfico expandido o contraído

Implementación de un conjunto de temas

Este es un tutorial sencillo y rápido para crear un conjunto de implementación de contenido del Visor de Ayuda compuesto por un archivo MSHA y el conjunto de archivos cab o MSHC que contienen los temas. MSHA es un archivo XML que describe un conjunto de archivos cab o MSHC. El Visor de Ayuda puede leer el MSHA para obtener una lista de contenido (el .CAB o . Archivos MSHC) disponibles para la instalación local.

Esta es solo una información básica que describe el esquema XML muy básico para el MSHA del Visor de Ayuda. Debajo de esta breve introducción, se presenta una implementación de ejemplo y un ejemplo de HelpContentSetup.msha.

El nombre del MSHA, a efectos de esta información básica, es HelpContentSetup.msha (el nombre del archivo puede de cualquier tipo, con la extensión .MSHA). HelpContentSetup.msha (ejemplo a continuación) debe contener una lista de los archivos cab o MSHCs disponibles. El tipo de archivo debe ser coherente dentro de MSHA (no admite una combinación de tipos de archivo MSHA y CAB). Para cada CAB o MSHC, debe haber un <div class="package">...</div> (vea el ejemplo siguiente).

Nota: En el ejemplo de implementación siguiente, hemos incluido el paquete de personalización de marca. Es fundamental incluir este aspecto para obtener los elementos de representación de contenido y comportamientos de contenido de Visual Studio necesarios.

Archivo HelpContentSetup.msha de ejemplo: (reemplace “nombre del conjunto de contenido 1” y “nombre del conjunto de contenido 2”, etc. por los nombres de archivo).

<html>
<head />
<body class="vendor-book">
<div class="details">
<span class="vendor">Your Company</span>
<span class="locale">en-us</span>
<span class="product">Your Company Help Content</span>
<span class="name">Your Company Help Content</span>
</div>
<div class="package-list">
<div class="package">
<span class="name">Your_Company _Content_Set_1</span>
<span class="deployed">True</span>
<a class="current-link" href="Your_Company _Content_Set_1.mshc">Your_Company _Content_Set_1.mshc </a>
</div>
<div class="package">
<span class="name">Your_Company _Content_Set_2</span>
<span class="deployed">True</span>
<a class="current-link"href=" Your_Company _Content_Set_2.mshc "> Your_Company _Content_Set_2.mshc </a>
</div>.
  1. Cree una carpeta local, algo parecido a “C:\ContenidoDeMuestra”

  2. En este ejemplo, usaremos archivos MSHC para contener los temas. Un MSHC es un archivo ZIP con la extensión de archivo cambiada de .zip a .MSHC.

  3. Cree el archivo HelpContentSetup.msha siguiente como un archivo de texto (se usó el Bloc de notas para crear el archivo) y guárdelo en la carpeta indicada anterior (consulte el paso 1).

La clase “Personalización de marca” existe y es única. La personalización de marca mshc se incluye en este primer nivel para que el contenido instalado tenga personalización de marca y los comportamientos de contenido incluidos en los MSHC tendrán los elementos de compatibilidad adecuados incluidos en el paquete de personalización de marca. Sin esto, se producirán errores cuando el sistema busque elementos de soporte técnico que no formen parte del contenido copiado (instalado).

Para obtener el paquete de personalización de marca de Visual Studio, copie el archivo Branding_en-US.mshc en C:\Archivos de programa (x86)\Visor de Ayuda de Microsoft\v2.3\ en la carpeta de trabajo.

<html>
<head />
<body class="vendor-book">
<div class="details">
<span class="vendor">Your Company</span>
<span class="locale">en-us</span>
<span class="product">Your Company Help Content</span>
<span class="name">Your Company Help Content</span>
</div>
<div class="package-list">
<div class="package">
<span class="name">Your_Company _Content_Set_1</span>
<span class="deployed">True</span>
<a class="current-link" href="Your_Company _Content_Set_1.mshc">Your_Company _Content_Set_1.mshc </a>
</div>
<div class="package">
<span class="name">Your_Company _Content_Set_2</span>
<span class="deployed">True</span>
<a class="current-link"href=" Your_Company _Content_Set_2.mshc "> Your_Company _Content_Set_2.mshc </a>
</div>
<div class="package">
<span class="packageType">branding</span>
<span class="name">Branding_en-US</span>
<span class="deployed">True</span>
<a class="current-link" href="Branding_en-US.mshc">Branding_en-US.mshc</a>
</div>
</div>
</body>
</html>

Resumen

El uso y la extensión de los pasos anteriores permitirán a los VSP implementar sus conjuntos de contenidos en el Visor de Ayuda de Visual Studio.

Agregar ayuda a Visual Studio Shell (integrado y aislado)

Introducción

En este tutorial se muestra cómo incorporar contenido de ayuda en una aplicación de Visual Studio Shell y, a continuación, implementarlo.

Requisitos

  1. Visual Studio 2013

  2. Paquete redistribuible de Shell aislado de Visual Studio 2013

Información general

Visual Studio 2013 Shell es una versión del IDE de Visual Studio 2013 en la que se puede basar una aplicación. Estas aplicaciones contienen el Shell aislado junto con las extensiones que cree. Use plantillas de proyecto de Shell aislado, que se incluyen en el SDK de Visual Studio 2013, para compilar extensiones.

Los pasos básicos para crear una aplicación basada en Shell aislado y su Ayuda:

  1. Obtenga el paquete redistribuible de ISO Shell de Visual Studio 2013 (descarga de Microsoft).

  2. En Visual Studio, cree una extensión de Ayuda basada en el Shell aislado, por ejemplo, la extensión de Ayuda de Contoso que se describe más adelante en este tutorial.

  3. Encapsular la extensión y el ISO Shell redistribuible en una MSI de implementación (una configuración de aplicación). Este tutorial no incluye un paso de configuración.

Cree un almacén de contenido de Visual Studio. Para el escenario de Shell integrado, cambie Visual Studio12 al nombre del catálogo de productos de la siguiente manera:

  • Cree la carpeta C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15.

  • Cree un archivo denominado CatalogType.xml y agréguelo a la carpeta. El archivo XML debe contener las siguientes líneas de código:

    <?xml version="1.0" encoding="UTF-8"?>
    <catalogType>UserManaged</catalogType>
    

Defina el almacén de contenido en el registro. En el Shell integrado, cambie VisualStudio15 al nombre del catálogo de productos:

  • HKLM\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15

    Clave: Valor de cadena LocationPath: C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15\

  • HKLM\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15\en-US

    Clave: Valor de cadena CatalogName: Documentación de Visual Studio 2013

Crear el proyecto

Para crear una extensión de Shell aislado:

  1. En Visual Studio, en Archivo, elija Nuevo proyecto, en Otros tipos de proyecto elija Extensibilidad y, a continuación, elija Shell de Visual Studio Aislado. Asigne al proyecto el nombre ContosoHelpShell) para crear un proyecto de extensibilidad basado en la plantilla de Shell aislado de Visual Studio.

  2. En Explorador de soluciones, en el proyecto ContosoHelpShellUI, en la carpeta Archivos de recursos, abra ApplicationCommands.vsct. Asegúrese de que esta línea esté comentada (busque “No_Help”): <!-- <define name="No_HelpMenuCommands"/> -->

  3. Seleccione la tecla F5 para compilar y ejecutar Depurar. En la instancia experimental del IDE de Shell aislado, elija el menú Ayuda. Asegúrese de que aparecen los comandos Ver ayuda, Agregar y eliminar contenido de ayuda y Establecer preferencia de ayuda.

  4. En Explorador de soluciones, en el proyecto de ContosHelpShell, en la carpeta Personalización del Shell, abra ContosoHelpShell.pkgdef. Para definir el catálogo de Ayuda de Contoso, agregue las siguientes líneas:

     [$RootKey$\Help]
    "Product"="Contoso"
    "Catalog"="Contoso"
    "Version"="100"
    "BrandingPackage"="ContosoBrandingPackage.mshc"
    
  5. En Explorador de soluciones, en el proyecto de ContosHelpShell, en la carpeta Personalización del Shell, abra ContosoHelpShell.Application.pkgdef. Para habilitar la Ayuda F1, agregue las siguientes líneas:

    // F1 Help Provider
    
    [$RootKey$\HelpProviders\{C99BDC23-FF29-46bf-9658-ADD634CCAED8}]
    "Name"="13407"
    "Package"="{DA9FB551-C724-11d0-AE1F-00A0C90FFFC3}"
    @="Help3 Provider"
    [$RootKey$\HelpProviders]
    @="{C99BDC23-FF29-46bf-9658-ADD634CCAED8}"
    [$RootKey$\Services\{C99BDC23-FF29-46bf-9658-ADD634CCAED8}]
    "Name"="Help3 Provider"
    @="{4A791146-19E4-11D3-B86B-00C04F79F802}"
    
  6. En Explorador de soluciones, en el menú contextual de la solución ContosoHelpShell, elija el elemento de menú Propiedades. En la página Propiedades de configuración, seleccione Administrador de configuración. En la columna Configuración, cambie cada valor “Depurar” a “Release”.

  7. Compile la solución. Esto crea un conjunto de archivos en una carpeta de versión, que se usará en la sección siguiente.

Para probarlo como si se implementara:

  1. En el equipo en el que va a implementar Contoso, instale el ISO Shell descargado (anterior).

  2. Cree una carpeta en \\Archivos de programa (x86)\y asígnele el nombre Contoso.

  3. Copie el contenido de la carpeta de versión de ContosoHelpShell en la carpeta \\Archivos de programa (x86)\Contoso\.

  4. Para iniciar el Editor del Registro, elija Ejecutar en el menú Inicio y escriba Regedit. En el editor del Registro, elija Archivo y, a continuación , Importar. Vaya a la carpeta del proyecto ContosoHelpShell. En la subcarpeta ContosoHelpShell, elija ContosoHelpShell.reg.

  5. Crear un almacén de contenido:

    Para el ISO Shell: cree un almacén de contenido de Contoso C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\ContosoDev12

    Para el Shell integrado de Visual Studio 2013, cree la carpeta C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15

  6. Cree CatalogType.xml y agregue al almacén de contenido (paso anterior) que contiene:

    <?xml version="1.0" encoding="UTF-8"?>
    <catalogType>UserManaged</catalogType>
    
  7. Establezca las siguientes claves del Registro:

    HKLM\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15Key: LocationPath String value:

    Para el ISO Shell:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15

    Shell integrado de Visual Studio 2013:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15en-US

    Clave: Valor de cadena CatalogName: Documentación de Visual Studio 2013. En el caso del ISO Shell, este es el nombre del catálogo.

  8. Copie el contenido (cab o MSHC y MSHA) en una carpeta local.

  9. Línea de comandos de Shell integrada de ejemplo para probar el almacén de contenido. Para ISO Shell, cambie los valores de catálogo y launchingApp según corresponda para que coincida con el producto.

    "C:\Program Files (x86)\Microsoft Help Viewer\v2.3\HlpViewer.exe" /catalogName VisualStudio15 /helpQuery method="page&id=ContosoTopic0" /launchingApp Microsoft,VisualStudio,12.0

  10. Inicie la aplicación Contoso (desde la raíz de la aplicación Contoso). En el ISO Shell, elija el elemento de menú Ayuda y cambie la opción Establecer preferencia de ayuda para usar ayuda local.

  11. En el shell, elija el elemento de menú Ayuda y, a continuación Ver ayuda. El visor de Ayuda local debe iniciarse. Elija la pestaña Administrar contenido. En Origen de instalación, elija el botón de opción Disco. Elija el botón ... y vaya a la carpeta local que incluye contenido de Contoso (copiado en la carpeta local en el paso anterior). Elija HelpContentSetup.msha. Contoso debería aparecer ahora como un libro en las selecciones de libros. Elija Agregar y, a continuación, seleccione el botón Actualizar (esquina inferior derecha).

  12. En el IDE de Contoso, elija la clave F1 para probar la funcionalidad F1.

Recursos adicionales

Para obtener la API en tiempo de ejecución, consulte la API de Ayuda de Windows.

Para obtener más información sobre cómo aprovechar la API de Ayuda, consulte Ejemplos de código del Visor de Ayuda.

Puede enviar las sugerencias de características nuevas en la Comunidad de desarrolladores.