Share via


Kit SDK de Microsoft Help Viewer

Cet article contient les tâches suivantes pour les intégrateurs de la visionneuse de l’aide de Visual Studio :

  • Création d’une rubrique (support F1)

  • Création d’un package de personnalisation de contenu de la visionneuse de l’aide

  • Déploiement d’un jeu d’articles

  • Ajout d'une aide au shell Visual Studio (intégrée ou isolée)

  • Ressources complémentaires

Créer une rubrique (support F1)

Cette section fournit une vue d'ensemble des composants d'un thème présenté, des exigences du thème, une brève description de comment créer un thème (y compris les exigences du support F1) et enfin, un exemple de thème avec son résultat rendu.

Vue d’ensemble de la rubrique de la visionneuse de l’aide

Lorsqu'une rubrique est appelée pour un rendu, la visionneuse de l'aide obtient les éléments du package de personnalisation qui sont associés à la rubrique au moment de l'installation ou de la dernière mise à jour, ainsi que le XHTML de la rubrique, et combine les deux pour obtenir le mode contenu présenté (données de personnalisation + données de la rubrique). Le package de personnalisation contient des logos, un support pour les comportements de contenu et le texte de personnalisation (droits d'auteur, etc.). Pour plus d'informations sur les éléments du package de personnalisation, consultez la section « Création d'un package de personnalisation » ci-dessous. S'il n'y a pas de package de personnalisation associé à la rubrique, la visionneuse de l'aide utilisera le package de personnalisation de secours situé dans la racine de l'application de la visionneuse de l'aide (Branding_fr-US.mshc).

Exigences relatives à la rubrique de la visionneuse de l'aide

Pour être rendu correctement dans la visionneuse de l'aide, le contenu brut de la rubrique doit être en XHTML W3C Basic 1.1.

Une rubrique contient généralement deux sections :

  • Métadonnées (consultez Référence des métadonnées de contenu) : données sur la rubrique, par exemple, l'ID unique de la rubrique, la valeur du mot-clé, l'ID de la TOC de la rubrique, l'ID du nœud parent, etc.

  • Contenu du corps : conforme au langage XHTML de base 1.1 du W3C, qui inclut les comportements de contenu pris en charge (zone rétractable, extrait de code, etc. Une liste complète est présentée ci-dessous).

Contrôles pris en charge par le package de personnalisation Visual Studio :

  • Liens

  • CodeSnippet

  • CollapsibleArea

  • Membre hérité

  • LanguageSpecificText

Chaînes de languages prises en charge (non sensibles à la casse) :

  • javascript

  • csharp ou c#

  • cplusplus ou visualc++ ou c++

  • jscript

  • visualbasic ou vb

  • f# ou fsharp ou fs

  • autre – une chaîne représentant un nom de langage

Création d’une rubrique de la visionneuse de l’aide

Créez un document XHTML nommé ContosoTopic4.htm, et intégrez la balise de titre (ci-dessous).

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

<body>

</body>
</html>

Ensuite, ajoutez des données pour définir la manière dont la rubrique doit être présentée (auto-personnalisée ou non), la manière de référencer cette rubrique pour F1, l'emplacement de cette rubrique dans la TOC, son ID (pour la référence de lien par d'autres rubriques), etc. Consultez le tableau « Métadonnées de contenu » ci-dessous pour obtenir une liste complète des métadonnées prises en charge.

  • Dans ce cas, nous utiliserons notre propre package de personnalisation, une variante du package de personnalisation de la visionneuse de l'aide de Visual Studio.

  • Ajouter le nom et la valeur de la méta F1 ("Microsoft.Help.F1" content=" ContosoTopic4") qui correspondra à la valeur F1 fournie dans le conteneur des propriétés de l'IDE. ( Consultez la section Support F1 pour plus d'informations.) Il s'agit de la valeur qui est associée à l'appel F1 depuis l'IDE pour afficher cette rubrique lorsque F1 est sélectionné dans l'IDE.

  • Ajoutez l’ID de la rubrique. Il s'agit de la chaîne utilisée par les autres rubriques pour créer un lien vers cette rubrique. Il s'agit de l'ID de la visionneuse de l'aide pour cette rubrique.

  • Pour la TOC, ajoutez le nœud parent de cette rubrique pour définir l'endroit où le nœud de la TOC de cette rubrique apparaîtra.

  • Pour la TOC, ajoutez l'ordre des nœuds de cette rubrique. Lorsque le nœud parent a un nombre n de nœuds enfants, définissez l'emplacement de cette rubrique dans l'ordre des nœuds enfants. Par exemple, cette rubrique est la quatrième d'une série de quatre rubriques enfants.

Exemple de section de métadonnées :

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

Le corps de la rubrique

Le corps de la rubrique (sans l'en-tête et le pied de page) contient des liens vers des pages, une section de notes, une zone rétractable, un extrait de code et une section de texte spécifique à la langue. Consultez la section personnalisation pour obtenir des informations sur les zones de la rubrique présentée.

  1. Ajouter une balise de titre de rubrique : <div class="title">Contoso Topic 4</div>

  2. Ajouter une section de note : <div class="alert"> add your table tag and text </div>

  3. Ajouter une zone retractable : <CollapsibleArea Expanded="1" Title="Collapsible Area Test Heading"> add text </CollapsibleArea>

  4. Ajouter un extrait de code : <CodeSnippet EnableCopyCode="true" Language="CSharp" ContainsMarkup="false" DisplayLanguage="C#" > a block of code </CodeSnippet>

  5. Ajoutez du texte spécifique à la langue du code : <LanguageSpecificText devLangcs="CS" devLangvb="VB" devLangcpp="C++" devLangnu="F#" /> notez que devLangnu= vous permet de saisir d’autres langues. Par exemple, devLangnu="Fortran" affiche Fortran lorsque l'extrait de code DisplayLanguage = Fortran

  6. Ajouter des liens de page : <a href="ms-xhelp:///?Id=ContosoTopic1">Main Topic</a>

Remarque

Note : pour les nouvelles « Langues d'affichage » non prises en charge (par exemple, F#, Cobol, Fortran), la colorisation du code dans l'extrait de code sera monochrome.

Exemple de rubrique de la visionneuse de l'aide Le code illustre comment définir des métadonnées, un extrait de code, une zone rétractable et un texte spécifique à la langue.

<?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>

Support F1

Dans Visual Studio, la sélection de F1 génère des valeurs fournies par l'emplacement du curseur dans l'IDE et remplit un « conteneur des propriétés » avec les valeurs fournies (en fonction de l'emplacement du curseur). Lorsque le curseur se trouve sur la fonctionnalité x, la fonctionnalité x est active/privilegiée et remplit le conteneur des propriétés avec des valeurs. Lorsque F1 est sélectionné, le conteneur des propriétés est rempli et le code F1 de Visual Studio vérifie si la source d'aide par défaut du client est locale ou en ligne (en ligne est la valeur par défaut), puis crée la chaîne appropriée en fonction des paramètres de l'utilisateur (en ligne est la valeur par défaut) – exécution du shell (consultez le Guide de l'administrateur de l'aide pour connaître les paramètres de lancement du programme exe) avec les paramètres de la visionneuse de l'aide locale + le(s) mot(s) clé(s) du conteneur des propriétés si l'aide locale est la valeur par défaut, ou l'URL du MSDN avec le mot clé dans la liste des paramètres.

Si trois chaînes sont renvoyées pour F1, ce que l'on appelle une chaîne à valeurs multiples, prenez le premier terme, cherchez un accès, et s'il est trouvé, le travail est terminé ; sinon, passez à la chaîne suivante. L’ordre est important. La présentation des mots clés à valeurs multiples doit aller de la chaîne la plus longue à la chaîne la plus courte. Pour le vérifier dans le cas de mots clés à valeurs multiples, examinez la chaîne d'URL de F1 en ligne, qui comprendra le mot clé choisi.

Dans Visual Studio 2012, nous avons intentionnellement établi une distinction plus nette entre connecté et hors connexion, de sorte que si le paramètre de l'utilisateur est connecté, nous transmettons simplement la demande F1 directement à notre service de requête connecté sur MSDN plutôt que de passer par l'agent de la bibliothèque d'aide que nous avions dans Visual Studio 2010. Nous nous appuyons ensuite sur l'état « vendor content installed = true » pour déterminer s'il convient de faire quelque chose de différent dans ce contexte. Si la valeure est « true » (vrai), nous procédons à l'analyse et au routage en fonction de ce que vous souhaitez proposer à vos clients. Si la valeure est « false » (faux), nous passons simplement à MSDN. Si le paramètre de l'utilisateur est Local, tous les appels sont dirigés vers le moteur d'aide local.

Diagramme de flux F1 :

Flux F1

Lorsque la source de contenu de la visionneuse de l'aide par défaut est définie sur connectée (Lancer dans le navigateur) :

  • Les fonctionnalités de Visual Studio Partner (VSP) émettent une valeur vers le conteneur des propriétés F1 (conteneur des propriétés prefix.keyword et URL en ligne pour le préfixe trouvé dans le registre) : F1 envoie une URL VSP + paramètres au navigateur.

  • Fonctionnalités de Visual Studio (éditeur de langue, éléments de menu spécifiques à Visual Studio, etc :) F1 envoie une URL de Visual Studio au navigateur.

Lorsque la source de contenu de la visionneuse de l'aide par défaut est définie sur l’aide locale (Lancer dans la Visionneuse de l'aide) :

  • Fonctionnalités VSP en cas de correspondance de mots clés entre le conteneur des propriétés F1 et l'index du magasin local (c'est-à-dire que le conteneur des propriétés prefix.keyword = la valeur trouvée dans l'index du magasin local) : F1 affiche la rubrique dans la visionneuse de l'aide.

  • Fonctionnalités de Visual Studio (pas d'option permettant au VSP de remplacer le conteneur des propriétés émises par les fonctionnalités de Visual Studio) : F1 affiche une rubrique de Visual Studio dans la visionneuse de l'aide.

Définissez les valeurs de registre suivantes pour activer la fonction F1 Fallback pour le contenu de l'aide du fournisseur. F1 Fallback signifie que la visionneuse de l'aide est configurée pour rechercher le contenu de l'aide F1 en ligne, et que le contenu du fournisseur est installé localement sur le disque dur de l'utilisateur. La visionneuse de l'aide doit rechercher le contenu dans l'aide locale, même si le paramètre par défaut est l'aide en ligne.

  1. Définir la valeur VendorContent sous la clé de registre Help 2.3 :

    • Pour les systèmes d’exploitation 32 bits :

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

      "VendorContent"=dword:00000001

    • Pour les systèmes d’exploitation 64 bits :

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

      "VendorContent"=dword:00000001

  2. Enregistrer l'espace de noms du partenaire sous la clé de registre Help 2.3 :

    • Pour les systèmes d’exploitation 32 bits :

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

      "location"="offline"

    • Pour les systèmes d’exploitation 64 bits :

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

      "location"="offline"

Analyse de l'espace de noms natif de base

Pour activer l'analyse des espaces de noms natifs de base, ajoutez dans le registre un nouveau DWORD du nom de : BaseNativeNamespaces, et définissez sa valeur sur 1 (sous la clé du catalogue à prendre en charge). Par exemple, si vous souhaitez utiliser le catalogue Visual Studio, vous pouvez ajouter la clé au chemin d'accès :

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

Lorsqu'un mot clé F1 dans le format HEADER/METHOD est rencontré, le caractère '/' est analysé, ce qui donne la construction suivante :

  • HEADER (EN-TÊTE) : sera l’espace de noms qui peut être utilisé pour l’enregistrement dans le registre

  • METHOD (MÉTHODE) : il s’agit du mot clé qui sera transmis.

Par exemple, dans le cas d'une bibliothèque personnalisée appelée CustomLibrary et d'une méthode appelée MyTestMethod, lorsqu'une demande F1 est reçue, elle est formatée comme CustomLibrary/MyTestMethod.

Un utilisateur peut alors enregistrer CustomLibrary en tant qu'espace de noms sous le hive des partenaires, et fournir la clé d'emplacement de son choix, et le mot clé transmis à la requête sera MyTestMethod.

Activer l'outil de débogage Aide dans l'IDE

Ajoutez la clé et la valeur de Registre suivantes :

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

Valeur : Afficher la sortie de débogage dans les données de détail : OUI

Dans l'IDE, sous l'élément de menu Aide, sélectionnez Contexte d'aide au débogage.

Métadonnée de contenu

Dans le tableau suivant, toute chaîne apparaissant entre crochets est un espace réservé qui doit être remplacé par une valeur reconnue. Par exemple, dans <meta name="Microsoft.Help.Locale" content="[language code]" />, "[language code]" doit être remplacé par une valeur telle que "en-us".

Propriété (représentation HTML) Description
< meta name="Microsoft.Help.Locale" content="[language-code]" /> Définit des paramètres régionaux pour cette rubrique. Si cette balise est utilisée dans une rubrique, elle ne doit l'être qu'une seule fois et doit être insérée au-dessus de toute autre balise Microsoft Help. Si cette balise n'est pas utilisée, le corps du texte de la rubrique est indexé en utilisant l’analyseur lexical associé aux paramètres régionaux du produit, s'ils sont spécifiés ; sinon, c'est l’analyseur lexical en-us qui est utilisé. Cette balise est conforme à la norme ISOC RFC 4646. Pour garantir le bon fonctionnement d’Aide Microsoft, utilisez cette propriété au lieu de l'attribut général de langue.
< meta name="Microsoft.Help.TopicLocale" content="[language-code]" /> Définit les paramètres régionaux pour cette rubrique lorsque d'autres paramètres régionaux sont également utilisés. Si cette balise est utilisée dans une rubrique, elle ne doit l'être qu'une seule fois. Utilisez cette balise lorsque le catalogue contient du contenu dans plus d'une langue. Plusieurs rubriques d'un catalogue peuvent avoir le même identifiant, mais chacune doit spécifier un TopicLocale unique. La rubrique qui spécifie un TopicLocale correspondant aux paramètres régionaux du catalogue est celle qui est affichée dans la table des matières. Cependant, toutes les versions linguistiques de la rubrique sont affichées dans les résultats de la recherche.
< title>[Title]</title> Spécifie le titre de cette rubrique. Cette balise est obligatoire et ne doit être utilisée qu'une seule fois dans une rubrique. Si le corps de la rubrique ne contient pas de section de titre <div>, ce Titre est affiché dans la rubrique et dans la table des matières.
< meta name=" Microsoft.Help.Keywords" content="[aKeywordPhrase]"/> Spécifie le texte d'un lien affiché dans le volet d'index de la visionneuse de l'aide. En cliquant sur le lien, la rubrique s'affiche. Vous pouvez spécifier plusieurs mots clés d'index pour une rubrique, ou vous pouvez omettre cette balise si vous ne voulez pas que les liens vers cette rubrique apparaissent dans l'index. Les mots clés « K » des versions antérieures d'Aide peuvent être convertis en cette propriété.
< meta name="Microsoft.Help.Id" content="[TopicID]"/> Définit l'identifiant de cette rubrique. Cette balise est obligatoire et ne doit être utilisée qu'une seule fois dans une rubrique. L'identifiant doit être unique parmi les rubriques du catalogue qui ont les mêmes paramètres régionaux. Dans une autre rubrique, vous pouvez créer un lien vers cette rubrique en utilisant cet identifiant.
< meta name="Microsoft.Help.F1" content="[System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator]"/> Spécifie le mot clé F1 pour cette rubrique. Vous pouvez spécifier plusieurs mots clés F1 pour une rubrique, ou vous pouvez omettre cette balise si vous ne voulez pas que cette rubrique soit affichée lorsqu'un utilisateur de l'application appuie sur F1. En général, un seul mot clé F1 est spécifié pour une rubrique. Les mots clés « F » des versions antérieures d'Aide peuvent être convertis en cette propriété.
< meta name="Description" content="[topic description]" /> Fournit un bref résumé du contenu de cette rubrique. Si cette balise est utilisée dans une rubrique, elle ne doit l'être qu'une seule fois. Cette propriété est accessible directement par la bibliothèque de requêtes ; elle n'est pas stockée dans le fichier d'index.
meta name="Microsoft.Help.TocParent" content="[parent_Id]"/> Spécifie la rubrique parente de cette rubrique dans la table des matières. Cette balise est obligatoire et ne doit être utilisée qu'une seule fois dans une rubrique. La valeur est l'identifiant Microsoft.Help.Id du parent. Une rubrique ne peut avoir qu'un seul emplacement dans la table des matières. La valeur « -1 » est considérée comme l'identifiant de la rubrique pour la racine de la TOC. Dans Visual Studio 2013, cette page est la page d'accueil de la visionneuse de l'aide. C'est également pour cette raison que nous ajoutons spécifiquement TocParent=-1 à certaines rubriques afin de nous assurer qu'elles apparaissent au niveau supérieur. La page d'accueil de la visionneuse de l'aide est une page système et n'est donc pas remplaçable. Si un VSP tente d'ajouter une page avec un identifiant correspondant à -1, celle-ci peut être ajoutée à l'ensemble de contenu, mais la visionneuse de l'aide utilisera toujours la page système – Accueil de la visionneuse de l'aide
< meta name="Microsoft.Help.TocOrder" content="[positive integer]"/> Précise l'emplacement de cette rubrique dans la table des matières par rapport aux rubriques homologues. Cette balise est obligatoire et ne doit être utilisée qu'une seule fois dans une rubrique. La valeur est un entier. Une rubrique qui spécifie un nombre entier de valeur inférieure apparaît au-dessus d'une rubrique qui spécifie un nombre entier de valeur supérieure.
< meta name="Microsoft.Help.Product" content="[product code]"/> Spécifie le produit décrit dans cette rubrique. Si cette balise est utilisée dans une rubrique, elle ne doit l'être qu'une seule fois. Ces informations peuvent également être fournies en tant que paramètre transmis à l'indexeur de l'aide.
< meta name="Microsoft.Help.ProductVersion" content="[version number]"/> Spécifie la version du produit décrit dans cette rubrique. Si cette balise est utilisée dans une rubrique, elle ne doit l'être qu'une seule fois. Ces informations peuvent également être fournies en tant que paramètre transmis à l'indexeur de l'aide.
< meta name="Microsoft.Help.Category" content="[string]"/> Utilisé par les produits pour identifier les paragraphes du contenu. Vous pouvez identifier plusieurs paragraphes pour une rubrique, ou vous pouvez omettre cette balise si vous ne souhaitez pas que les liens identifient des paragraphes. Cette balise est utilisée pour stocker les attributs de TargetOS et TargetFrameworkMoniker lorsqu'une rubrique est convertie à partir d'une version antérieure d'Aide. Le format du contenu est AttributeName:AttributeValue.
< meta name="Microsoft.Help.TopicVersion content="[topic version number]"/> Spécifie cette version de la rubrique lorsque plusieurs versions existent dans un catalogue. Comme il n'est pas garanti que l'identifiant Microsoft.Help.Id soit unique, cette balise est nécessaire lorsque plusieurs versions d'une rubrique existent dans un catalogue, par exemple, lorsqu'un catalogue contient une rubrique pour .NET Framework 3.5 et une rubrique pour .NET Framework 4 et que les deux ont le même identifiant Microsoft.Help.Id.
< meta name="SelfBranded" content="[TRUE or FALSE]"/> Indique si cette rubrique utilise le package de personnalisation de démarrage du gestionnaire de bibliothèque d'aide ou un package de personnalisation spécifique à la rubrique. Cette balise doit avoir soit la valeur TRUE (VRAI), soit la valeur FALSE (FAUX). Si la valeur est TRUE, le package de personnalisation de la rubrique associée remplace le package de personnalisation défini au démarrage du gestionnaire de bibliothèque d'aide, de sorte que la rubrique est rendue comme prévu, même si le rendu diffère de celui d'autres contenus. Si la valeur est FALSE, la rubrique en cours est rendue en fonction du package de personnalisation défini au démarrage du gestionnaire de bibliothèque d'aide. Par défaut, le gestionnaire de bibliothèque d'aide considère que la valeur de l'autopersonnalisation est fausse à moins que la variable SelfBranded ne soit déclarée comme étant VRAI (TRUE) ; par conséquent, vous n'avez pas besoin de déclarer <meta name="SelfBranded" content="FALSE"/>.

Créer un package de personnalisation

La version de Visual Studio englobe un certain nombre de produits Visual Studio, y compris les shells isolés et intégrés pour les partenaires de Visual Studio. Chacun de ces produits nécessite un certain degré de support de personnalisation du contenu de l'aide basé sur des rubriques, propre au produit. Par exemple, les rubriques Visual Studio doivent avoir une présentation de personnalisation cohérente, alors que SQL Studio, qui englobe ISO Shell, doit avoir sa propre personnalisation de contenu d'aide pour chaque rubrique. Un partenaire Shell intégré peut souhaiter que ses rubriques d'aide soient intégrées au contenu d'aide du produit Visual Studio parent, tout en conservant sa propre personnalisation de rubrique.

Les packages de personnalisation sont installés par le produit qui contient la visionneuse de l'aide. Pour les produits Visual Studio :

  • Un package de personnalisation de secours (Branding_<locale>.mshc) est installé à la racine de l'application Help Viewer 2.3 (exemple : C:\Program Files (x86)\Microsoft Help Viewer\v2.3) par le module linguistique de la visionneuse de l'aide. Cette solution est utilisée dans les cas où le package de personnalisation du produit n'est pas installé (aucun contenu n'a été installé) ou dans les cas où le package de personnalisation installé est corrompu. Les éléments Visual Studio (logo et Feedback) sont ignorés lorsque le package de personnalisation de secours de la racine de l'application est utilisé.

  • Lorsque le contenu de Visual Studio est installé à partir du service de package de contenu, un package de personnalisation est également installé (pour le premier scénario d'installation de contenu). Si une mise à jour du package de personnalisation a été effectuée, elle est installée lors de la prochaine mise à jour du contenu ou de l'installation d'un package supplémentaire.

Microsoft Help Viewer prend en charge la personnalisation des rubriques sur la base des métadonnées des rubriques.

  • Lorsque les métadonnées d'une rubrique définissent la valeur self branded = true, la rubrique est rendue telle quelle, sans aucune action (en ce qui concerne la personnalisation).

  • Lorsque les métadonnées de la rubrique définissent la valeur self branded = false, le package de personnalisation associé à la valeur des métadonnées TopicVendor est utilisé.

  • Lorsque les métadonnées de la rubrique définissent le nom du package de personnalisation sur la valeur name="Microsoft.Help.TopicVendor" content=< dans le MSHA du fournisseur>, le package de personnalisation défini dans la valeur du contenu est utilisé.

  • Dans le catalogue Visual Studio, il y a une application prioritaire des packages de personnalisation. La personnalisation par défaut de Visual Studio est d'abord appliquée, puis, si elle est définie dans les métadonnées de la rubrique et prise en charge par le package de personnalisation associé (tel que défini dans le msha d'installation), la personnalisation définie par le fournisseur est appliquée comme remplacement.

Les éléments de personnalisation sont généralement classés en trois catégories principales :

  • Éléments d'en-tête (par exemple, lien de retour d’expérience, texte de clause d'exclusion de responsabilité conditionnelle, logo)

  • Comportements du contenu (par exemple, éléments de texte de contrôle étendre/réduire et éléments d'extrait de code)

  • Éléments du pied de page (exemple de droits d'auteur)

Les éléments considérés comme des éléments de personnalisation sont les suivants (détaillés dans la présente spécification) :

  • Logo du catalogue/produit (exemple, Visual Studio)

  • Lien de retour d’expérience et éléments de courrier

  • Texte d’exclusion de responsabilité

  • Texte sur le droits d'auteur

Les fichiers pris en charge par le package de personnalisation de la visionneuse de l’aide de Visual Studio sont les suivants :

  • Graphiques (logos, icônes, etc.)

  • Branding.js : fichiers de scripts prenant en charge les comportements du contenu

  • Branding.xml : chaînes utilisées de manière cohérente dans le contenu du catalogue. Note : pour les éléments de texte de localisation de Visual Studio dans le fichier branding.xml, inclure _locID="<unique value>"

  • Branding.css : définitions de style pour la cohérence de la présentation

  • Printing.css : définitions de style pour une présentation imprimée cohérente

Comme indiqué ci-dessus, les packages de personnalisation sont associés à la rubrique :

  • Lorsque la valeur SelfBranded = false est définie dans les métadonnées, la rubrique hérite du package de personnalisation du catalogue.

  • Ou lorsque la valeur SelfBranded = false et qu'il existe un package de personnalisation unique défini dans le MSHA et disponible lors de l'installation du contenu.

Pour les VSP qui implémentent des packages de personnalisation personnalisés (VSP content, SelfBranded=True), une méthode consiste à commencer par le package de personnalisation de secours (installé avec la visionneuse de l'aide), et à modifier le nom du fichier le cas échéant. Le fichier Branding_<locale>.mshc est un fichier zip dont l'extension a été changée en .mshc, il suffit donc de changer l'extension de .mshc en .zip et d'extraire le contenu. Consultez ci-dessous les éléments du package de personnalisation et modifiez-les le cas échéant (par exemple, remplacez le logo par le logo VSP et la référence au logo dans le fichier Branding.xml, mettez à jour le fichier Branding.xml en fonction des spécificités du VSP, etc.)

Une fois toutes les modifications effectuées, créez un fichier zip contenant les éléments de personnalisation souhaités et modifiez l'extension en .mshc.

Pour associer le package de personnalisation personnalisé, créez le MSHA, qui contient la référence au fichier mshc de personnalisation ainsi que le fichier mshc de contenu (contenant les rubriques). Consultez la section « MSHA » ci-dessous pour savoir comment créer un MSHA de base.

Le fichier Branding.xml contient une liste d'éléments utilisés pour rendre de manière cohérente des éléments spécifiques dans une rubrique lorsque celle-ci contient <meta name="Microsoft.Help.SelfBranded" content="false"/>. La liste des éléments du fichier Branding.xml de Visual Studio est présentée ci-dessous. Cette liste est destinée à servir de modèle aux adoptants d'ISO Shell, qui peuvent modifier ces éléments (par exemple le logo, le retour d’expérience et les droits d'auteur) pour répondre à leurs besoins en matière de personnalisation de produit.

Note : les variables notées par « {n} » ont des dépendances de code – la suppression ou la modification de ces valeurs provoquera des erreurs et éventuellement un plantage de l'application. Les identifiants de localisation (exemple _locID="codesnippet.n") sont inclus dans le package de personnalisation de Visual Studio.

Branding.xml

Élément Description
Caractéristique : CollapsibleArea
Utiliser : Texte du contrôle de contenu étendre/réduire
Element Valeur
ExpandText Développez
CollapseText Réduire
Caractéristique : CodeSnippet
Utiliser : Texte du contrôle de l’extrait de code. Note : le contenu de l'extrait de code avec une espace « insécable » sera remplacé par une espace.
Element Valeur
CopyToClipboard Copier dans le Presse-papiers
ViewColorizedText View Colorized
CombinedVBTabDisplayLanguage Visual Basic (échantillon)
VBDeclaration Déclaration
VBUsage Utilisation
Caractéristique : Retour d’expérience, pied de page et logo
Utiliser : Fournir un contrôle de retour d’expérience pour que le client puisse fournir par courrier un retour d’expérience sur la rubrique en cours. Texte de droits d'auteur pour le contenu. Définition du logo.
Element Valeur (Ces chaînes peuvent être modifiées pour répondre aux besoins des utilisateurs de contenu.)
CopyRight © 2013 Microsoft Corporation. Tous droits réservés.
SendFeedback <a href="{0}" {1}>Envoyer un retour d’expérience</a> sur cette rubrique à Microsoft.
FeedbackLink
LogoTitle Visual Studio 2013
LogoFileName vs_logo_bk.gif
LogoFileNameHC vs_logo_wh.gif
Caractéristique : Clause d’exclusion de responsabilité
Utiliser : Ensemble de clauses d’exclusion de responsabilité spécifiques à des cas particuliers pour les contenus traduits automatiquement.
Element Valeur
MT_Editable Cet article a été traduit par une machine. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
MT_NonEditable Cet article a été traduit par une machine. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
MT_QualityEditable Cet article a été traduit manuellement. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
MT_QualityNonEditable Cet article a été traduit manuellement. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
MT_BetaContents Cet article a été traduit automatiquement pour une version préliminaire. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
MT_BetaRecycledContents Cet article a été traduit manuellement pour une version préliminaire. Si vous disposez d'une connexion Internet, sélectionnez « View this topic online » (Consulter cette rubrique en ligne) pour afficher cette page en mode Édition avec le contenu original en anglais en même temps.
Caractéristique : LinkTable
Utiliser : Prise en charge des liens de rubriques en ligne
Element Valeur
LinkTableTitle Table liée
TopicEnuLinkText Consultez la version anglaise</a> de cette rubrique qui est disponible sur votre ordinateur.
TopicOnlineLinkText Afficher cette rubrique <a href="{0}" {1}>online</a>
OnlineText En ligne
Caractéristique : Contrôle audio vidéo
Utiliser : Éléments d'affichage et texte pour le contenu vidéo
Element Valeur
MultiMediaNotSupported Internet Explorer 9 ou une version plus récente doit être installé pour prendre en charge le contenu {0}.
VideoText affichage vidéo
AudioText Diffusion audio en continu
OnlineVideoLinkText <p>Pour visionner la vidéo associée à cette rubrique, cliquez sur {0}<a href="{1}">{2}here</a>.</p>
OnlineAudioLinkText <p>Pour écouter l’audio associé à cette rubrique, cliquez sur {0}<a href="{1}">{2}here</a>.</p>
Caractéristique : Contrôle de contenu non installé
Utiliser : Éléments de texte (chaînes) utilisés pour le rendu de contentnotinstalled.htm
Element Valeur
ContentNotInstalledTitle Aucun contenu n’a été trouvé sur votre ordinateur.
ContentNotInstalledDownloadContentText <p>Pour télécharger du contenu sur votre ordinateur, <a href="{0}" {1}>cliquez sur l’onglet Gérer</a>.</p>
ContentNotInstalledText <p>Aucun contenu n’est installé sur votre ordinateur. Consultez votre administrateur pour l'installation du contenu de l'aide locale.</p>
Caractéristique : Contrôle des rubriques introuvables
Utiliser : Éléments de texte (chaînes) utilisés pour le rendu de topicnotfound.htm
Element Valeur
TopicNotFoundTitle Impossible de trouver la rubrique demandée sur votre ordinateur.
TopicNotFoundViewOnlineText <p>La rubrique que vous avez demandée n’a pas été trouvée sur votre ordinateur, mais vous pouvez <a href="{0}" {1}>consulter la rubrique en ligne</a>.</p>
TopicNotFoundDownloadContentText <p>Consultez le volet de navigation pour obtenir des liens vers des rubriques similaires ou <a href="{0}" {1}>cliquez sur l’onglet Gérer</a> pour télécharger le contenu sur votre ordinateur.</p>
TopicNotFoundText <p>La rubrique que vous avez demandée n’a pas été trouvée sur votre ordinateur.</p>
Caractéristique : Contrôle de la rubrique corrompu
Utiliser : Éléments de texte (chaînes) utilisés pour le rendu de topiccorrupted.htm
Element Valeur
TopicCorruptedTitle Impossible d’afficher la rubrique demandée.
TopicCorruptedViewOnlineText <p>La visionneuse de l’aide ne peut pas afficher la rubrique demandée. Le contenu de la rubrique peut comporter une erreur ou une dépendance du système sous-jacent.</p>
Caractéristique : Contrôle de la page d’accueil
Utiliser : Texte supportant l'affichage du contenu du nœud de niveau supérieur de la visionneuse de l'aide.
Element Valeur
HomePageTitle Accueil de la visionneuse de l'aide
HomePageIntroduction <p>Bienvenue dans Microsoft Help Viewer, une source d'information essentielle pour tous ceux qui utilisent les outils, les produits, les technologies et les services de Microsoft. La visionneuse de l'aide vous permet d'accéder à des informations de référence, à des exemples de code, à des articles techniques et à bien d'autres ressources. Pour trouver le contenu dont vous avez besoin, parcourez la table des matières, utilisez la recherche en texte intégral ou naviguez dans le contenu à l'aide de l'index des mots clés.</p>
HomePageContentInstallText <p><br />Utilisez l'<onglet a href="{0}"{1}> Gérer le contenu</a> pour effectuer les opérations suivantes :<ul><li>Ajouter du contenu à votre ordinateur.</li><li>Vérifier les mises à jour de votre contenu local.</li><li>Supprimer du contenu de votre ordinateur.</li></ul></p>
HomePageInstalledBooks Livres installés
HomePageNoBooksInstalled Aucun contenu n’a été trouvé sur votre ordinateur.
HomePageHelpSettings Paramètres du contenu de l'aide
HomePageHelpSettingsText <p>Les paramètres actuels sont ceux de l'aide locale. La visionneuse de l'aide affiche le contenu que vous avez installé sur votre ordinateur.<br />Pour modifier votre source d'aide, dans la barre des menus de Visual Studio, choisissez <span style="{0}">Aide, Définir les préférences d'aide</span>.<br /></p>
Mégaoctet MB

branding.js

Le fichier branding.js contient le JavaScript utilisé par les éléments de personnalisation de la visionneuse de l'aide de Visual Studio. Vous trouverez ci-dessous une liste des éléments de personnalisation et de la fonction JavaScript prise en charge. Toutes les chaînes à localiser pour ce fichier sont définies dans la section « Chaînes localisables » en haut de ce fichier. Un fichier ICL a été créé pour les chaînes de localisation dans le fichier branding.js.

Fonctionnalité de personnalisation Fonction JavaScript Description
Var ... Définir des variables
Obtenir la langue du code utilisateur setUserPreferenceLang associe un numéro d'index à une langue de code
Définir et obtenir des valeurs de cookie getCookie, setCookie
Membre hérité changeMembersLabel Étendre/réduire un membre hérité
Quand SelfBranded=False onLoad Lire la chaîne de requête pour vérifier s'il s'agit d'une demande d'impression. Définissez tous les extraits de code pour qu'ils se concentrent sur l'onglet préféré de l'utilisateur. S'il s'agit d'une demande d'impression, définissez isPrinterFriendly sur true (vrai). Vérifiez le mode contraste élevé.
Extrait de code addSpecificTextLanguageTagSet
getIndexFromDevLang
ChangeTab
setCodesnippetLang
setCurrentLang
CopyToClipboard
CollapsibleArea addToCollapsibleControlSet écrire tous les objets de contrôle rétractables dans la liste.
CA_Click en fonction de l'état de la zone rétractable, définit l'image et le texte à présenter
Prise en charge du contraste pour le logo isBlackBackground() Appelé pour déterminer si l’arrière-plan est noir. Précis uniquement en mode de contraste élevé.
isHighContrast() utiliser une plage de couleur pour détecter le mode de contraste élevé
onHighContrast(black) Appelé quand un contraste élevé est détecté
Fonctionnalité HDS
addToLanSpecTextIdSet(id)
updateLST(currentLang)
getDevLangFromCodeSnippet(lang)
Fonctionnalité multimédia caption(begin, end, text, style)
findAllMediaControls(normalizedId)
getActivePlayer(normalizedId)
captionsOnOff(id)
toSeconds(t)
getAllComments(node)
styleRectify(styleName, styleValue)
showCC(id)
subtitle(id)

FICHIERS HTM

Le package de personnalisation contient un ensemble de fichiers HTM qui prennent en charge des scénarios de communication d'informations clés aux utilisateurs du contenu d'aide, par exemple une page d'accueil qui contient une section décrivant les ensembles de contenu installés et des pages informant l'utilisateur lorsque des rubriques ne peuvent pas être trouvées dans l'ensemble local de rubriques. Ces fichiers HTM peuvent être modifiés par produit. Les vendeurs d'ISO Shell sont en mesure de prendre le package de personnalisation par défaut et de modifier le comportement et le contenu de ces pages pour répondre à leurs besoins. Ces fichiers font référence à leur package de personnalisation respectif afin que les balises de personnalisation obtiennent le contenu correspondant dans le fichier branding.xml.

File Utiliser Source de contenu affichée
homepage.htm Il s'agit d'une page qui affiche le contenu actuellement installé et tout autre message approprié à présenter à l'utilisateur à propos de son contenu. Ce fichier possède l'attribut de métadonnées supplémentaire "Microsoft.Help.Id" content="-1" qui place ce contenu en haut de la table des matières du contenu local.
<META_HOME_PAGE_TITLE_ADD /> Branding.xml, tag <HomePageTitle>
<HOME_PAGE_INTRODUCTION_SECTION_ADD /> Branding.xml, tag <HomePageIntroduction>
<HOME_PAGE_CONTENT_INSTALL_SECTION_ADD /> Branding.xml, tag <HomePageContentInstallText>
<HOME_PAGE_BOOKS_INSTALLED_SECTION_ADD /> Section de titre Branding.xml tag<HomePageInstalledBooks>, les données générées par l'application, <HomePageNoBooksInstalled> lorsqu'aucun livre n'est installé.
<HOME_PAGE_SETTINGS_SECTION_ADD /> Section de titre Branding.xml balise <HomePageHelpSettings>, texte de section <HomePageHelpSettingsText>.
topiccorrupted.htm Lorsqu'une rubrique existe dans l'ensemble local, mais que, pour une raison quelconque, elle ne peut pas être affichée (contenu corrompu).
<META_TOPIC_CORRUPTED_TITLE_ADD /> Branding.xml, tag <TopicCorruptedTitle>
<TOPIC_CORRUPTED_SECTION_ADD /> Branding.xml, balise <TopicCorruptedViewOnlineText>
topicnotfound.htm Lorsqu'une rubrique ne figure pas dans l'ensemble des contenus locaux ou n'est pas disponible en ligne
<META_TOPIC_NOT_FOUND_TITLE_ADD /> Branding.xml, balise <TopicNotFoundTitle>
<META_TOPIC_NOT_FOUND_ID_ADD /> Branding.xml, balise <TopicNotFoundViewOnlineText> + <TopicNotFoundDownloadContentText>
<TOPIC_NOT_FOUND_SECTION_ADD /> Branding.xml, balise <TopicNotFoundText>
contentnotinstalled.htm Lorsqu'il n'y a pas de contenu local installé pour le produit.
<META_CONTENT_NOT_INSTALLED_TITLE_ADD /> Branding.xml, balise <ContentNotInstalledTitle>
<META_CONTENT_NOT_INSTALLED_ID_ADD /> Branding.xml, balise <ContentNotInstalledDownloadContentText>
<CONTENT_NOT_INSTALLED_SECTION_ADD /> Branding.xml, balise <ContentNotInstalledText>

Fichiers CSS

Le package de personnalisation de la visionneuse de l'aide de Visual Studio contient deux fichiers css pour assurer une présentation cohérente du contenu de l'aide de Visual Studio :

  • Branding.css : contient des éléments css pour le rendu lorsque SelfBranded=false

  • Printer.css : contient des éléments css pour le rendu lorsque SelfBranded=false

Les fichiers branding.css comprennent des définitions pour la présentation des rubriques de Visual Studio (mise en garde : le fichier branding.css contenu dans le fichier Branding_<locale>.mshc du service de package peut être modifié).

Fichiers graphiques

Le contenu de Visual Studio affiche un logo Visual Studio ainsi que d'autres graphiques. La liste complète des fichiers graphiques de la visionneuse de l'aide de Visual Studio est présentée ci-dessous.

File Utiliser Exemples
clear.gif Utilisé pour afficher la zone retractable
footer_slice.gif Présentation du pied de page
info_icon.gif Utilisé lors de l’affichage des informations Exclusion de responsabilité
online_icon.gif Cette icône doit être associée à des liens en ligne
tabLeftBD.gif Utilisé pour afficher le conteneur d’extraits de code
tabRightBD.gif Utilisé pour afficher le conteneur d’extraits de code
vs_logo_bk.gif Utilisé pour les références de logo à contraste normal, telles que définies dans la balise <LogoFileName> de Branding.xml. Pour les produits Visual Studio, le nom du logo est vs_logo_bk.gif.
vs_logo_wh.gif Utilisé pour les références de logo à fort contraste, comme défini dans la balise <LogoFileNameHC> de Branding.xml. Pour les produits Visual Studio, le nom du logo est vs_logo_wh.gif.
ccOff.png Graphique de sous-titrage
ccOn.png Graphique de sous-titrage
ImageSprite.png Utilisé pour afficher la zone retractable graphique étendu ou réduit

Déployer un ensemble de rubriques

Ce tutoriel simple et rapide permet de créer un ensemble de déploiement de contenu de la visionneuse de l'aide composé d'un fichier MSHA et d'un ensemble de cabs ou de MSHC contenant les rubriques. Le MSHA est un fichier XML qui décrit un ensemble de cabs ou de fichiers MSHC. La visionneuse de l'aide peut lire le fichier MSHA pour obtenir une liste de contenu (les fichiers .CAB ou .MSHC) disponible pour l'installation locale.

Il ne s'agit que d'une introduction décrivant le schéma XML de base de la visionneuse de l'aide MSHA. Un exemple d'implémentation se trouve à la suite de cette brève vue d'ensemble et de l'exemple HelpContentSetup.msha.

Le nom du fichier MSHA, dans le cadre de ce guide, est HelpContentSetup.msha (le nom du fichier peut être quelconque, avec l'extension .MSHA). HelpContentSetup.msha (exemple ci-dessous) devrait contenir une liste des cabs ou MSHC disponibles. Le type de fichier doit être cohérent au sein du fichier MSHA ( ne prend pas en charge une combinaison de types de fichiers MSHA et CAB). Pour chaque CAB ou MSHC, il doit y avoir une <div class="package">...</div> (voir l'exemple ci-dessous).

Note : dans l'exemple d'implémentation ci-dessous, nous avons inclus le package de personnalisation. Il est essentiel de l'inclure afin d'obtenir les éléments de rendu de contenu et les comportements de contenu nécessaires à Visual Studio.

Exemple de fichier HelpContentSetup.msha : (Remplacez « content set name 1 » et « content set name 2 » etc. par vos noms de fichiers).

<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. Créer un dossier local, par exemple « C:\SampleContent ».

  2. Pour cet exemple, nous utiliserons des fichiers MSHC pour contenir les rubriques. Un MSHC est un fichier zip dont l'extension a été modifiée de .zip à .MSHC.

  3. Créez le fichier texte HelpContentSetup.msha ci-dessous (le bloc-notes a été utilisé pour créer le fichier) et enregistrez-le dans le dossier susmentionné (consultez l'étape 1).

La classe « Personnalisation » existe et est unique. Le mshc de personnalisation est inclus dans cet exemple afin que le contenu installé ait une personnalisation et que les comportements du contenu inclus dans les MSHC aient les éléments complémentaires appropriés dans le package de personnalisation. Dans le cas contraire, des erreurs se produiront lorsque le système recherchera des éléments de support qui ne font pas partie du contenu intégré (installé).

Pour obtenir le package de personnalisation de Visual Studio, copiez le fichier Branding_en-US.mshc qui se trouve dans C:\Program Files (x86)\Microsoft Help Viewer\v2.3\ dans votre dossier de travail.

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

Résumé

L'utilisation et l'extension des étapes ci-dessus permettront aux VSP de déployer leurs jeux de contenu pour la visionneuse de l'aide de Visual Studio.

Ajouter de l’aide au shell de Visual Studio (intégré et isolé)

Introduction

Cette procédure pas à pas montre comment incorporer du contenu d’aide dans une application Shell Visual Studio, puis comment la déployer.

Exigences

  1. Visual Studio 2013

  2. Package redistribuable Shell isolé Visual Studio 2013

Vue d’ensemble

Le shell de Visual Studio 2013 est une version de l'IDE Visual Studio 2013 sur laquelle vous pouvez baser une application. Ces applications contiennent le Shell isolé ainsi que des extensions que vous créez. Utilisez les modèles de projet Shell isolé, qui sont inclus dans le kit de développement logiciel (SDK) de Visual Studio 2013, pour créer des extensions.

Étapes de base de la création d’une application Shell isolée et de son aide :

  1. Obtenez le redistribuable ISO Shell de Visual Studio 2013 (un téléchargement Microsoft).

  2. Dans Visual Studio, créez une extension d'aide basée sur le Shell isolé, par exemple l'extension d'aide Contoso Help décrite plus loin dans cette procédure pas à pas.

  3. Enveloppez l'extension et le redistribuable du Shell ISO dans un MSI de déploiement (une installation d'application). Cette procédure pas à pas n’inclut pas d’étape d’installation.

Créez un magasin de contenu Visual Studio. Pour le scénario du Shell intégré, remplacez Visual Studio12 par le nom du catalogue de produits comme suit :

  • Créez le dossier C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15.

  • Créez un fichier nommé CatalogType.xml et ajoutez-le au dossier. Le fichier doit contenir les lignes de code suivante :

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

Définir le magasin de contenu dans le registre. Pour le Shell intégré, remplacez VisualStudio15 par le nom du catalogue de produits :

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

    Clé : Valeur de chaîne LocationPath : C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15\

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

    Clé : Valeur de chaîne CatalogName : Documentation Visual Studio 2013

Créer le projet

Pour créer une extension Shell isolée :

  1. Dans Visual Studio, sous Fichier, choisissez Nouveau projet, sous Autres types de projets, choisissez Extensibilité, puis Visual Studio Shell isolé. Nommez le projet ContosoHelpShell) pour créer un projet d'extensibilité basé sur le modèle Shell isolé de Visual Studio.

  2. Dans l'explorateur de solutions, dans le projet ContosoHelpShellUI, dans le dossier Fichiers de ressources, ouvrez ApplicationCommands.vsct. Assurez-vous que cette ligne est commentée (recherchez « No_Help ») : <!-- <define name="No_HelpMenuCommands"/> -->

  3. Choisissez la touche F5 pour compiler et exécuter Déboguer. Dans l'instance expérimentale de l'IDE du Shell Isolé, choisissez le menu Aide. Assurez-vous que les commandes Afficher l'aide, Ajouter et supprimer le contenu de l'aide et Définir les préférences de l'aide apparaissent.

  4. Dans l'explorateur de solutions, dans le projet ContosHelpShell, dans le dossier Personnalisation du Shell, ouvrez ContosoHelpShell.pkgdef. Pour définir le catalogue d’aide Contoso Help, ajoutez les lignes suivantes :

     [$RootKey$\Help]
    "Product"="Contoso"
    "Catalog"="Contoso"
    "Version"="100"
    "BrandingPackage"="ContosoBrandingPackage.mshc"
    
  5. Dans l'explorateur de solutions, dans le projet ContosHelpShell, dans le dossier Personnalisation du Shell, ouvrez ContosoHelpShell.Application.pkgdef. Pour activer l'aide F1, ajoutez les lignes suivantes :

    // 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. Dans l'Explorateur de solutions, dans le menu contextuel de la solution ContosoHelpShell, choisissez l'élément de menu Propriétés. Sous Propriétés de configuration, sélectionnez Configuration Manager. Dans la colonne Configuration, remplacez chaque valeur « Debug » par « Release ».

  7. Générez la solution. Cette démarche crée un jeu de fichiers dans un dossier de version, qui sera utilisé dans la section suivante.

Pour effectuer un test comme s'il s'agissait d'un déploiement :

  1. Sur l'ordinateur sur lequel vous déployez Contoso, installez le Shell ISO téléchargé (ci-dessus).

  2. Créez un dossier dans \\Program Files (x86)\, puis nommez-le Contoso.

  3. Copiez le contenu du dossier de version de ContosoHelpShell dans le dossier \Program Files (x86)\Contoso.

  4. Lancez l'Éditeur du registre en choisissant Exécution dans le menu Démarrer et en saisissant Regedit. Dans l’éditeur de registre, choisissez Fichier, puis Importer. Accédez au dossier du projet ContosoHelpShell. Dans le sous-dossier ContosoHelpShell, choisissez ContosoHelpShell.reg.

  5. Créer un magasin de contenu

    Pour le Shell ISO : créer un magasin de contenu Contoso C:\ProgramData\Microsoft\HelpLibrary2\Catalogues\ContosoDev12

    Pour le Shell intégré de Visual Studio 2013, créer le dossier C:\ProgramData\Microsoft\HelpLibrary2\Catalogues\VisualStudio15

  6. Créer le fichier CatalogType.xml et l'ajouter au magasin de contenu (étape précédente) contenant :

    <?xml version="1.0" encoding="UTF-8"?>
    <catalogType>UserManaged</catalogType>
    
  7. Ajouter les clés de Registre suivantes :

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

    Pour le Shell ISO :

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15

    Shell intégré de Visual Studio 2013 :

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15en-US

    Clé : Valeur de chaîne CatalogName : Documentation Visual Studio 2013. Pour le Shell ISO, il s'agit du nom de votre catalogue.

  8. Copiez votre contenu (cabs ou MSHC et MSHA) dans un dossier local.

  9. Exemple de ligne de commande Shell intégrée pour tester le magasin de contenu. Pour le Shell ISO, modifiez les valeurs de catalogue et de launchingApp de manière à ce qu'elles correspondent au produit.

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

  10. Lancez l'application Contoso (à partir de la racine de l'application Contoso). Dans le Shell ISO, choisissez l'élément de menu Aide, et remplacez Définir la préférence d'aide par Utiliser l'aide locale.

  11. Dans le Shell, choisissez l'élément de menu Aide, puis Afficher l'aide. La visionneuse de l’aide locale doit être lancée. Choisissez l'onglet Gérer le contenu. Sous Source d'installation, choisissez le bouton d'option Disk. Choisissez le bouton ... et naviguez jusqu'au dossier local contenant le contenu de Contoso (copié dans le dossier local à l'étape précédente). Sélectionnez le fichier HelpContentSetup.msha. Contoso doit maintenant apparaître comme un livre dans les sélections de livres. Choisissez Ajouter, puis le bouton Mettre à jour (en bas à droite).

  12. Dans l'IDE de Contoso, choisissez la touche F1 pour tester la fonctionnalité F1.

Ressources supplémentaires

Pour l’API Runtime, consultez l’API d’aide Windows.

Pour plus d'informations sur la manière d'exploiter l'API d'aide, consultez les exemples de code de la visionneuse de l'aide.

Vous pouvez soumettre des suggestions de fcontionnalités sur Developer Community.