SDK do Microsoft Help Viewer

Este artigo contém as seguintes tarefas para integradores do Visualizador da Ajuda do Visual Studio:

  • Criar um tópico (suporte F1)

  • Criar um pacote de identidade visual de conteúdo do Visualizador da Ajuda

  • Implantar um conjunto de artigos

  • Adicionar a ajuda ao shell do Visual Studio (integrado ou isolado)

  • Recursos adicionais

Criar um tópico (suporte F1)

Esta seção fornece uma visão geral dos componentes de um tópico apresentado, os requisitos do tópico, uma breve descrição de como criar um tópico (incluindo os requisitos de suporte F1) e, por fim, um tópico de exemplo com seu resultado renderizado.

Visão geral sobre tópicos do Visualizador da Ajuda

Ao chamar um tópico para renderização, o Visualizador da Ajuda obtém os elementos do pacote de identidade visual associados ao tópico no momento da instalação ou da última atualização e o tópico XHTML. Em seguida, combina os dois para resultar na exibição de conteúdo apresentada (dados de identidade visual + dados de tópico). O pacote de identidade visual contém logotipos, suporte para comportamentos de conteúdo e texto da marca (direitos autorais, etc.). Consulte "Criar um pacote de marca" abaixo para obter mais informações sobre os elementos do pacote da marca. Se não houver nenhum pacote de identidade visual associado ao tópico, o Visualizador da Ajuda usará o pacote de identidade visual de fallback localizado na raiz do aplicativo Visualizador da Ajuda (Branding_en-US.mshc).

Requisitos de tópicos do Visualizador da Ajuda

O conteúdo bruto do tópico deve ser W3C Basic 1.1 XHTML para ser renderizado corretamente no Visualizador da Ajuda.

Normalmente, um tópico contém duas seções:

  • Metadados (consulte Referência de metadados de conteúdo): dados sobre o tópico, como ID exclusivo do tópico, valor da palavra-chave, ID do sumário do tópico, ID do nó pai, etc.

  • Conteúdo do corpo: compatível com W3C Basic 1.1 XHTML, que inclui comportamentos de conteúdo compatíveis (área dobrável, snippet de código, etc. A lista completa é mostrada abaixo).

Controles compatíveis com o pacote da marca do Visual Studio:

  • Links

  • CodeSnippet

  • CollapsibleArea

  • Membros herdados

  • LanguageSpecificText

Sequências de linguagem compatíveis (não diferenciam maiúsculas de minúsculas):

  • javascript

  • csharp ou c#

  • cplusplus ou visualc++ ou c++

  • jscript

  • visualbasic ou vb

  • f# ou fsharp ou fs

  • outro - uma sequência que representa um nome de linguagem

Criar um tópico do Visualizador da Ajuda

Crie um novo documento XHTML chamado ContosoTopic4.htm e inclua a tag “title” (abaixo).

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

<body>

</body>
</html>

Em seguida, adicione dados para definir como o tópico deve ser apresentado (marca própria ou não), como referenciar este tópico para F1, onde esse tópico está dentro do sumário, seu ID (para referência de link por outros tópicos), etc. Consulte a tabela "Metadados de conteúdo" abaixo para conferir uma lista completa dos metadados compatíveis.

  • Nesse caso, usaremos nosso próprio pacote de identidade visual, uma variante do pacote de identidade visual do Visualizador da Ajuda do Visual Studio.

  • Adicione o metanome e o valor de F1 ("Microsoft.Help.F1" content=" ContosoTopic4") que corresponderão ao valor de F1 fornecido no recipiente de propriedades do IDE. (Consulte a seção Suporte de F1 para obter mais informações.) Esse é o valor correspondente à chamada de F1 de dentro do IDE para exibir este tópico quando F1 é escolhido no IDE.

  • Adicione o ID do tópico. Essa é a sequência usada por outros tópicos para criar um link para esse tópico. É o ID do Visualizador da Ajuda para este tópico.

  • Para o sumário, adicione o nó pai deste tópico para definir onde esse nó de sumário do tópico aparecerá.

  • Para o sumário, adicione a ordem dos nós deste tópico. Quando o nó pai tiver um número n de nós filhos, defina o local deste tópico na ordem dos nós filhos. Por exemplo, este tópico é o número 4 de 4 tópicos secundários.

Exemplo de seção de metadados:

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

O corpo do tópico

O corpo (sem incluir o cabeçalho e o rodapé) do tópico conterá links de página, uma seção de notas, uma área recolhível, um snippet de código e uma seção de texto específico da linguagem. Consulte a seção de identidade visual para obter informações sobre essas áreas do tópico apresentado.

  1. Adicionar uma tag de títutlo do tópico: <div class="title">Contoso Topic 4</div>

  2. Adicionar uma seção de anotações: <div class="alert"> add your table tag and text </div>

  3. Adicionar uma área recolhível: <CollapsibleArea Expanded="1" Title="Collapsible Area Test Heading"> add text </CollapsibleArea>

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

  5. Adicionar texto específico da linguagem do código: <LanguageSpecificText devLangcs="CS" devLangvb="VB" devLangcpp="C++" devLangnu="F#" />. Observe que devLangnu= permite inserir outras linguagens. Por exemplo, devLangnu="Fortran" exibe Fortran quando o snippet de código DisplayLanguage = Fortran

  6. Adicionar links de página: <a href="ms-xhelp:///?Id=ContosoTopic1">Main Topic</a>

Observação

Para o novo "Display Language" não compatível (por exemplo, F#, Cobol, Fortran), a colorização do código no snippet de código será monocromática.

Exemplo de tópico do Visualizador da Ajuda: o código ilustra como definir metadados, um snippet de código, uma área recolhível e o texto específico da linguagem.

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

Suporte a F1

No Visual Studio, selecionar F1 gera valores fornecidos a partir do posicionamento do cursor dentro do IDE e preenche um "recipiente de propriedades" com os valores fornecidos (com base na localização do cursor. Quando o cursor está sobre o recurso x, esse recurso está ativo/em foco e preenche o recipiente de propriedades com valores. Quando F1 é selecionado, o recipiente de propriedades é preenchido e o código de F1 do Visual Studio procura verificar se a origem da Ajuda padrão dos clientes é local ou online (online é o padrão) e, em seguida, cria a sequência apropriada com base nas configurações de usuário (online é o padrão) - shell execute (consulte o Guia do Administrador da Ajuda para parâmetros de inicialização exe) com parâmetros para o visualizador de ajuda local + palavra(s) chave(s) do recipiente de propriedades se a ajuda local for o padrão, ou o URL do MSDN com a palavra-chave na lista de parâmetros.

Se três sequências forem retornadas para F1, mencionadas como uma sequência de vários valores, pegue o primeiro termo, procure uma correspondência e, se encontrada, está concluído. Caso contrário, avance para a próxima sequência. A ordem é importante. A apresentação das palavras-chave de vários valores deve ser da sequência mais longa para a sequêcia mais curta. Para verificar isso no caso de palavras-chave de vários valores, examine a sequência da URL de F1 online, que incluirá a palavra-chave escolhida.

No Visual Studio 2012, fizemos intencionalmente uma divisão mais forte entre online e offline. Desse modo, se a configuração do usuário fosse Online, simplesmente passaríamos a solicitação de F1 diretamente para nosso serviço de consulta online no MSDN em vez de rotear por meio do Agente da Biblioteca de Ajuda que tínhamos no Visual Studio 2010. Em seguida, dependemos de um estado de "vendor content installed = true" para determinar se devemos fazer algo diferente nesse contexto. Se for verdadeiro, executaremos essa lógica de análise e roteamento dependendo do suporte que você deseja oferecer para seus clientes. Se for falso, então vamos apenas para o MSDN. Se a configuração do usuário for Local, todas as chamadas irão para o mecanismo de ajuda local.

Fluxograma de F1:

Fluxo de F1

Quando a fonte de conteúdo de ajuda padrão do Visualizador da Ajuda estiver definida como online (Iniciar no browser):

  • Os recursos do Visual Studio Partner (VSP) emitem um valor para o recipiente de propriedades de F1 (prefix.keyword e URL online do recipiente de propriedades para o prefixo encontrado no registro): F1 envia um URL do VSP + parâmetros para o browser.

  • Recursos do Visual Studio (editor de linguagens, itens de menu específicos do Visual Studio, etc.): F1 envia um URL do Visual Studio para o browser.

Quando a fonte de conteúdo de ajuda padrão do Visualizador da Ajuda estiver definida como Ajuda local (Iniciar no Visualizador da Ajuda):

  • Recursos do VSP em que a correspondência de palavra-chave entre o recipiente de propriedades de F1 e o índice do repositório local (ou seja, o prefix.keyword do recipiente de propriedades é igual ao valor encontrado no índice do repositório local): F1 renderiza o tópico no Visualizador da Ajuda.

  • Recursos do Visual Studio (nenhuma opção para o VSP substituir o recipiente de propriedades emitido pelos recursos do Visual Studio): F1 renderiza um tópico do Visual Studio no Visualizador da Ajuda.

Defina os valores de registro a seguir para habilitar o Fallback de F1 para o conteúdo da Ajuda do fornecedor. Fallback de F1 significa que o Visualizador da Ajuda está definido para procurar conteúdo da Ajuda de F1 online e o conteúdo do fornecedor é instalado localmente no disco rígido dos usuários. O Visualizador da Ajuda tem que procurar o conteúdo na Ajuda local, mesmo que a configuração padrão seja para ajuda online.

  1. Defina o valor de VendorContent na chave do Registro da Ajuda 2.3:

    • Para sistemas operacionais de 32 bits:

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

      "VendorContent"=dword:00000001

    • Para sistemas operacionais de 64 bits:

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

      "VendorContent"=dword:00000001

  2. Registre o namespace do parceiro na chave do Registro da Ajuda 2.3:

    • Para sistemas operacionais de 32 bits:

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

      "location"="offline"

    • Para sistemas operacionais de 64 bits:

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

      "location"="offline"

Análise de namespace nativo de base

Para ativar a análise de namespace nativo de base, no Registro, adicione um novo DWORD com o nome de BaseNativeNamespaces e defina seu valor como 1 (sob a chave de catálogo que terá suporte). Por exemplo, para usar o catálogo do Visual Studio, adicione a chave para o caminho:

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

Quando uma palavra-chave de F1 no formato HEADER/METHOD é encontrada, o caractere “/”' será analisado, resultando no seguinte constructo:

  • HEADER: será o namespace que pode ser usado para registrar no Registro

  • METHOD: esta se tornará a palavra-chave que é passada.

Por exemplo, dada uma biblioteca personalizada chamada CustomLibrary e um método chamado MyTestMethod, quando uma solicitação F1 for recebida, ela será formatada como CustomLibrary/MyTestMethod.

A partir daí, um usuário pode registrar CustomLibrary como o namespace sob a colmeia Partners e fornecer qualquer chave de local que desejar, e a palavra-chave passada para a consulta será MyTestMethod.

Habilitar a ferramenta de depuração da Ajuda no IDE

Adicione a seguinte chave e valor do Registro:

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

Valor: Display Debug Output in Retail Data: YES

No IDE, no item de menu Ajuda, selecione Depurar contexto da Ajuda.

Metadados de conteúdo

Na tabela a seguir, qualquer sequência exibida entre colchetes é um espaço reservado que deve ser substituído por um valor reconhecido. Por exemplo, em <meta name="Microsoft.Help.Locale" content="[language code]" />, "[language code]" deve ser substituído por um valor como "en-us".

Propriedade (Representação em HTML) Descrição
< meta name="Microsoft.Help.Locale" content="[language-code]" /> Define uma localidade para este tópico. Se essa marca for usada em um tópico, ela deverá ser usada apenas uma vez e terá que ser inserida acima de qualquer outra marca da Ajuda da Microsoft. Se essa marca não for usada, o corpo de texto do tópico será indexado usando o separador de palavras associado à localidade do produto, se for especificado; caso contrário, o separador de palavras en-us será usado. Esta tag está em conformidade com a norma ISOC RFC 4646. Para garantir que a Ajuda da Microsoft funcione corretamente, use essa propriedade em vez do atributo geral Language.
< meta name="Microsoft.Help.TopicLocale" content="[language-code]" /> Define uma localidade para esse tópico quando outras localidades também são usadas. Se essa tag for usada em um tópico, ela deverá ser usada apenas uma vez. Use essa tag quando o catálogo tiver conteúdo em mais de uma linguagem. Vários tópicos em um catálogo podem ter o mesmo ID, mas cada um deve especificar um TopicLocale exclusivo. O tópico que especifica um TopicLocale que corresponde à localidade do catálogo é o tópico exibido no sumário. No entanto, todas as versões de linguagem do tópico são exibidas nos resultados da busca.
< title>[Title]</title> Especifica o título desse tópico. Essa tag é obrigatória e poderá ser usada apenas uma vez em um tópico. Se o corpo do tópico não contiver uma seção <div> de título, esse Título será exibido no tópico e no sumário.
< meta name=" Microsoft.Help.Keywords" content="[aKeywordPhrase]"/> Especifica o texto de um link exibido no painel de índice do Visualizador da Ajuda. Ao clicar no link, o tópico é exibido. Você pode especificar várias palavras-chave de índice para um tópico ou pode omitir essa tag se não quiser que os links para esse tópico apareçam no índice. As palavras-chave "K" de versões anteriores da Ajuda podem ser convertidas nessa propriedade.
< meta name="Microsoft.Help.Id" content="[TopicID]"/> Define o identificador desse tópico. Essa tag é obrigatória e poderá ser usada apenas uma vez em um tópico. O ID deve ser exclusivo entre os tópicos no catálogo que têm a mesma configuração de localidade. Em outro tópico, você pode criar um link para este tópico usando esse ID.
< meta name="Microsoft.Help.F1" content="[System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator]"/> Especifica a palavra-chave de F1 para este tópico. Você pode especificar várias palavras-chave de F1 para um tópico ou pode omitir essa tag se não quiser que esse tópico seja exibido quando um usuário do aplicativo pressionar F1. Normalmente, apenas uma palavra-chave de F1 é especificada para um tópico. As palavras-chave "F" de versões anteriores da Ajuda podem ser convertidas nessa propriedade.
< meta name="Description" content="[topic description]" /> Fornece um breve resumo do conteúdo desse tópico. Se essa tag for usada em um tópico, ela deverá ser usada apenas uma vez. Essa propriedade é acessada diretamente pela biblioteca de consultas; ela não é armazenada no arquivo de índice.
meta name="Microsoft.Help.TocParent" content="[parent_Id]"/> Especifica o tópico principal desse tópico no sumário. Essa tag é obrigatória e poderá ser usada apenas uma vez em um tópico. O valor é o Microsoft.Help.Id do principal. Um tópico pode ter apenas uma localização no sumário. "-1" é considerado o ID do tópico para a raiz do sumário. No Visual Studio 2013, essa página é a home page do Visualizador da Ajuda. Essa é a mesma razão pela qual adicionamos especificamente TocParent=-1 a alguns tópicos para garantir sua exibição no nível superior. A home page do Visualizador da Ajuda é uma página do sistema e, portanto, não pode ser substituída. Se um VSP tentar adicionar uma página com um ID de -1, ele poderá ser adicionado ao conjunto de conteúdo, mas o Visualizador da Ajuda sempre usará a página do sistema, ou seja, a página inicial do Visualizador da Ajuda
< meta name="Microsoft.Help.TocOrder" content="[positive integer]"/> Especifica onde esse tópico aparece no sumário em relação a seus tópicos de mesmo nível. Essa tag é obrigatória e poderá ser usada apenas uma vez em um tópico. O valor é um inteiro. Um tópico que especifica um inteiro de valor mais baixo aparece acima de um tópico que especifica um inteiro de valor mais alto.
< meta name="Microsoft.Help.Product" content="[product code]"/> Especifica o produto que é descrito nesse tópico. Se essa tag for usada em um tópico, ela deverá ser usada apenas uma vez. Também é possível fornecer essas informações como um parâmetro que é passado para o Indexador da Ajuda.
< meta name="Microsoft.Help.ProductVersion" content="[version number]"/> Especifica a versão do produto descrita nesse tópico. Se essa tag for usada em um tópico, ela deverá ser usada apenas uma vez. Também é possível fornecer essas informações como um parâmetro que é passado para o Indexador da Ajuda.
< meta name="Microsoft.Help.Category" content="[string]"/> Usada por produtos para identificar subseções de conteúdo. Você pode identificar várias subseções de um tópico ou pode omitir essa marca se não quiser que os links identifiquem nenhuma subseção. Essa tag é usada para armazenar os atributos de TargetOS e TargetFrameworkMoniker quando um tópico é convertido de uma versão anterior da Ajuda. O formato do conteúdo é AttributeName:AttributeValue.
< meta name="Microsoft.Help.TopicVersion content="[topic version number]"/> Especifica essa versão do tópico quando há várias versões em um catálogo. Como não é garantido que Microsoft.Help.Id seja exclusivo, essa marca é necessária quando há mais de uma versão de um tópico em um catálogo. Por exemplo, quando um catálogo contém um tópico para o .NET Framework 3.5 e um tópico para o .NET Framework 4 e ambos têm o mesmo Microsoft.Help.Id.
< meta name="SelfBranded" content="[TRUE or FALSE]"/> Especifica se esse tópico usa o pacote de identidade visual inicial do Gerenciador da Biblioteca da Ajuda ou um pacote de identidade visual específico do tópico. Essa tag deve ser TRUE ou FALSE. Se for TRUE, o pacote de identidade visual do tópico associado substituirá o pacote de identidade visual definido quando o Gerenciador da Biblioteca da Ajuda for iniciado para que o tópico seja renderizado como pretendido, mesmo que seja diferente da renderização de outro conteúdo. Se for FALSE, o tópico atual vai ser renderizado de acordo com o pacote de identidade visual definido quando o Gerenciador de Biblioteca de Ajuda for iniciado. Por padrão, o Gerenciador da Biblioteca da Ajuda assume que a marca própria é falsa, a menos que a variável SelfBranded seja declarada como TRUE. Portanto, não é necessário declarar <meta name="SelfBranded" content="FALSE"/>.

Criar um pacote de identidade visual

A versão do Visual Studio engloba vários produtos diferentes do Visual Studio, incluindo os shells isolados e integrados para parceiros do Visual Studio. Cada um desses produtos requer algum grau de suporte à identidade visual de conteúdo da Ajuda com base em tópicos, exclusivo do produto. Por exemplo, os tópicos do Visual Studio precisam ter uma apresentação de marca consistente, enquanto o SQL Studio, que encapsula o Shell ISO, requer sua própria identidade visual de conteúdo da Ajuda exclusiva de cada tópico. Um Parceiro de Shell Integrado pode querer que os tópicos da Ajuda estejam dentro do conteúdo da Ajuda do produto Visual Studio principal, mantendo sua própria identidade visual do tópico.

Os pacotes de identidade visual são instalados pelo produto que contém o Visualizador da Ajuda. Para produtos do Visual Studio:

  • Um pacote de identidade visual de fallback (Branding_<locale>.mshc) é instalado na raiz do aplicativo Help Viewer 2.3 (exemplo: C:\Program Files (x86)\Microsoft Help Viewer\v2.3) pelo pacote de idiomas do Visualizador da Ajuda. Isso é usado para casos em que o pacote de identidade visual do produto não está instalado (nenhum conteúdo foi instalado) ou em que o pacote de identidade visual instalado está corrompido. Os elementos do Visual Studio (logotipo e comentários) são ignorados quando o pacote de identidade visual de fallback raiz do aplicativo é usado.

  • Quando o conteúdo do Visual Studio é instalado usando o serviço de pacote de conteúdo, um pacote de identidade visual também é instalado (pela primeira vez cenário de instalação de conteúdo). Se houver uma atualização para o pacote de identidade visual, a atualização será instalada quando a próxima atualização de conteúdo ou ação de instalação de pacote adicional acontecer.

O Microsoft Help Viewer oferece suporte à identidade visual de tópicos com base em metadados de tópico.

  • Se os metadados do tópico definirem self branded = true, renderize o tópico como está, não faça nada (no que diz respeito à marca).

  • Onde metadados de tópico definem self branded = false, use o pacote de identidade visual associado ao valor de metadados de TopicVendor.

  • Onde os metadados do tópico definem name="Microsoft.Help.TopicVendor" content=< nome do pacote da marca no MSHA do fornecedor>, use o pacote de identidade visual definido no valor do conteúdo.

  • No catálogo do Visual Studio, há um aplicativo prioritário de pacotes de identidade visual. Primeiro, a identidade visual padrão do Visual Studio é aplicada e, em seguida, se definida nos metadados do tópico e com suporte com o pacote de identidade visual associado (conforme definido no msha de instalação), a identidade visual definida pelo fornecedor é aplicada como uma substituição.

Os elementos da marca normalmente se enquadram em três categorias principais:

  • Elementos de cabeçalho (por exemplo, link de feedback, texto de isenção de responsabilidade condicional e logotipo)

  • Comportamentos de conteúdo (por exemplo, elementos de texto de controle expandir/recolher e elementos de snippet de código)

  • Elementos de rodapé (por exemplo, Direitos Autorais)

Os itens considerados como elementos da marca incluem (detalhados nesta especificação):

  • Logotipo do catálogo/produto (exemplo, Visual Studio)

  • Link de comentários e elementos de e-mail

  • Texto de aviso de isenção de responsabilidade

  • Texto de direitos autorais

Os arquivos de suporte no pacote de identidade visual do Visualizador da Ajuda do Visual Studio incluem:

  • Gráficos (logotipos, ícones, etc.)

  • Branding.js - arquivos de script que oferecem suporte a comportamentos de conteúdo

  • Branding.xml - sequências que são usadas consistentemente no conteúdo do catálogo. Observação: para elementos de texto de localização do Visual Studio no branding.xml, inclua _locID="<valor exclusivo>"

  • Branding.css - definições de estilo para consistência da apresentação

  • Printing.css - definições de estilo para consistência na apresentação impressa

Como mencionado acima, os pacotes de identidade visual estão associados ao tópico:

  • Quando SelfBranded = false é definido nos metadados, o tópico herda o pacote de identidade visual do catálogo

  • Ou quando SelfBranded = false e há um Pacote de identidade visual exclusivo definido no MSHA e disponível quando o conteúdo é instalado

Para VSPs que implementam pacotes de identidade visual personalizados (conteúdo do VSP, SelfBranded=True), uma maneira de prosseguir é começar com o pacote de identidade visual de fallback (instalado com o Visualizador da Ajuda) e alterar o nome do arquivo conforme apropriado. O arquivo Branding_<locale>.mshc é um arquivo zip com a extensão de arquivo alterada para .mshc, então basta alterar a extensão de .mshc para .zip e extrair o conteúdo. Veja abaixo os elementos do pacote de identidade visual e modifique conforme apropriado (por exemplo, altere o logotipo para o logotipo do VSP e a referência ao logotipo no arquivo Branding.xml, atualize Branding.xml de acordo com as especificações do VSP, etc.).

Quando todas as modificações forem feitas, crie um arquivo zip contendo os elementos da marca desejados e altere a extensão para .mshc.

Para associar o pacote de identidade visual personalizado, crie o MSHA, que contém a referência ao arquivo mshc de identidade visual junto com o mshc de conteúdo (com os tópicos). Veja abaixo "MSHA" para saber como criar um MSHA básico.

O arquivo Branding.xml contém uma lista de elementos usados para renderizar consistentemente itens específicos em um tópico quando o tópico contém <meta name="Microsoft.Help.SelfBranded" content="false"/>. A lista de elementos do Visual Studio no arquivo Branding.xml está listada abaixo. Esta lista destina-se a ser usada como um modelo para os adotantes do ISO Shell, em que eles modificam esses elementos (por exemplo, logotipo, feedback e direitos autorais) para atender às suas próprias necessidades de marca de produto.

Observação: as variáveis observadas por "{n}" têm dependências de código - remover ou alterar esses valores causará erros e, possivelmente, falha do aplicativo. Os identificadores de localização (exemplo _locID="codesnippet.n") estão incluídos no Pacote de identidade visual do Visual Studio.

Branding.xml

Elemento Descrição
Recurso: CollapsibleArea
Use: Expandir e recolhe o texto de controle de conteúdo
Elemento Valor
ExpandText Expanda
CollapseText Recolher
Recurso: CodeSnippet
Use: Texto de controle do snippet de código. Observação: o conteúdo do snippet de código com espaço "Sem quebra" será alterado para espaço.
Elemento Valor
CopyToClipboard Copiar para a Área de Transferência
ViewColorizedText Visualização colorizada
CombinedVBTabDisplayLanguage Visual Basic (exemplo)
VBDeclaration Declaração
VBUsage Uso
Recurso: Feedback, rodapé e logotipo
Use: Forneça um controle de Feedback para que o cliente forneça feedback sobre o tópico atual por e-mail. Texto de direitos autorais referente ao conteúdo. Definição do logotipo.
Elemento Valor (essas sequências podem ser modificadas para atender às necessidades do adotante de conteúdo.)
CopyRight © 2013 Microsoft Corporation. Todos os direitos reservados.
SendFeedback <a href="{0}" {1}>Enviar comentários</a> sobre este tópico para a Microsoft.
FeedbackLink
LogoTitle Visual Studio 2013
LogoFileName vs_logo_bk.gif
LogoFileNameHC vs_logo_wh.gif
Recurso: Aviso de isenção de responsabilidade
Use: Um conjunto de isenções de responsabilidade específicas para casos específicos de conteúdo traduzido por máquina.
Elemento Valor
MT_Editable Este artigo foi traduzido por máquina. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
MT_NonEditable Este artigo foi traduzido por máquina. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
MT_QualityEditable Este artigo foi traduzido manualmente. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
MT_QualityNonEditable Este artigo foi traduzido manualmente. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
MT_BetaContents Este artigo foi traduzido por máquina para uma versão preliminar. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
MT_BetaRecycledContents Este artigo foi traduzido manualmente para uma versão preliminar. Se você tiver uma conexão de Internet, selecione "Exibir este tópico online" para mostrar esta página no modo editável com o conteúdo original em inglês ao mesmo tempo.
Recurso: LinkTable
Use: Suporte para links de tópicos online
Elemento Valor
LinkTableTitle Tabela de links
TopicEnuLinkText Exiba a versão</a> em inglês deste tópico que está disponível no seu computador.
TopicOnlineLinkText Exibir este tópico <a href="{0}" {1}>online</a>
OnlineText Online
Recurso: Controle Video Audio
Use: Exibir elementos e texto para conteúdo de vídeo
Elemento Valor
MultiMediaNotSupported O Internet Explorer 9 ou superior deve ser instalado para oferecer suporte ao conteúdo de {0}.
VideoText exibição de vídeo
AudioText streaming de áudio
OnlineVideoLinkText <p>Para visualizar o vídeo associado a esse tópico, clique {0}<href="{1}">{2}aqui</a>.</p>
OnlineAudioLinkText <p>Para ouvir o áudio associado a esse tópico, clique {0}<href="{1}"aqui>{2}</a>.</p>
Recurso: Controle Content Not Installed
Use: Elementos de texto (sequências) usados para a renderização de contentnotinstalled.htm
Elemento Valor
ContentNotInstalledTitle Nenhum conteúdo foi encontrado no seu computador.
ContentNotInstalledDownloadContentText <p>Para baixar conteúdo para o seu computador, <a href="{0}" {1}>clique na guia Gerenciar</a>.</p>
ContentNotInstalledText <p>Nenhum conteúdo está instalado no seu computador. Consulte o Administrador para obter a instalação do conteúdo da Ajuda local.</p>
Recurso: Controle Topic Not Found
Use: Elementos de texto (sequências) usados para a renderização de topicnotfound.htm
Elemento Valor
TopicNotFoundTitle Não é possível localizar o tópico solicitado no computador.
TopicNotFoundViewOnlineText <p>O tópico que você solicitou não foi encontrado no seu computador, mas você pode <a href="{0}" {1}>visualizar o tópico online</a>.</p>
TopicNotFoundDownloadContentText <p>Consulte o painel de navegação para obter links de tópicos semelhantes ou <a href="{0}" {1}>clique na guia Gerenciar</a> para baixar conteúdo para o computador.</p>
TopicNotFoundText <p>O tópico solicitado não foi encontrado no seu computador.</p>
Recurso: Controle Corrupted Topic
Use: Elementos de texto (sequências) usados para a renderização de topiccorrupted.htm
Elemento Valor
TopicCorruptedTitle Não é possível exibir o tópico solicitado.
TopicCorruptedViewOnlineText <p>O Visualizador da Ajuda não consegue exibir o tópico solicitado. Pode haver um erro no conteúdo do tópico ou uma dependência do sistema subjacente.</p>
Recurso: Controle Home Page
Use: Texto que dá suporte à exibição do conteúdo do nó de nível superior do Visualizador da Ajuda.
Elemento Valor
HomePageTitle Página inicial do Visualizador da Ajuda
HomePageIntroduction <p>Boas-vindas ao Microsoft Help Viewer, uma fonte essencial de informações para todos que usam ferramentas, produtos, tecnologias e serviços da Microsoft. O Help Viewer fornece acesso a informações de instruções e referência, código de exemplo, artigos técnicos e muito mais. Para encontrar o conteúdo necessário, navegue pelo sumário, use a pesquisa de texto completo ou navegue pelo conteúdo usando o índice de palavras-chave.</p>
HomePageContentInstallText <p><br />Use a< guia a href="{0}" {1}>Gerenciar conteúdo</a> para fazer o seguinte:<ul><li>Adicionar conteúdo ao seu computador.</li><li>Verificar se há atualizações para seu conteúdo local.</li><li>Remover o conteúdo do seu computador.</li></ul></p>
HomePageInstalledBooks Livros instalados
HomePageNoBooksInstalled Nenhum conteúdo foi encontrado no seu computador.
HomePageHelpSettings Configurações de conteúdo da Ajuda
HomePageHelpSettingsText <p>Sua configuração atual é ajuda local. O Help Viewer exibe o conteúdo que você instalou no computador.<br />Para alterar sua origem de conteúdo da Ajuda, na barra de menus do Visual Studio, escolha <span style="{0}">Ajuda, definir preferência da Ajuda</span>.<br /></p>
MegaByte MB

branding.js

O arquivo branding.js contém JavaScript usado pelos elementos de identidade visual do Visualizador da Ajuda do Visual Studio. Confira a seguir uma lista dos elementos da marca e a função JavaScript de suporte. Todas as sequências a serem localizadas para este arquivo são definidas na seção "Sequências localizáveis" na parte superior desse arquivo. O arquivo ICL foi criado para sequências loc dentro do arquivo branding.js.

Recurso de identidade visual Função JavaScript Descrição
Var ... Definir variáveis
Obter a linguagem do código do usuário setUserPreferenceLang mapeia um n.º de índice para a linguagem do código
Definir e obter valores de cookies getCookie, setCookie
Membros herdados changeMembersLabel Expandir/recolher membro herdado
Quando SelfBranded=False onLoad Leia a sequência de consulta para verificar se é uma solicitação de impressão. Defina todos os trechos de código para manter o foco na guia preferida do usuário. Se for uma solicitação de impressão, defina isPrinterFriendly como true. Verifique se há modo de alto contraste.
Snippet de código addSpecificTextLanguageTagSet
getIndexFromDevLang
ChangeTab
setCodesnippetLang
setCurrentLang
CopyToClipboard
CollapsibleArea addToCollapsibleControlSet grave todo o objeto de controle recolhível na lista.
CA_Click com base no estado da área recolhível, define qual imagem e texto apresentar
Suporte de contraste para logotipo isBlackBackground() Chamado para determinar se o plano de fundo é preto. Preciso somente no modo de alto contraste.
isHighContrast() Usar uma extensão colorida para detectar o modo de alto contraste
onHighContrast(black) Chamado quando o alto contraste é detectado
Funcionalidade LST
addToLanSpecTextIdSet(id)
updateLST(currentLang)
getDevLangFromCodeSnippet(lang)
Funcionalidade de multimídia caption(begin, end, text, style)
findAllMediaControls(normalizedId)
getActivePlayer(normalizedId)
captionsOnOff(id)
toSeconds(t)
getAllComments(node)
styleRectify(styleName, styleValue)
showCC(id)
subtitle(id)

ARQUIVOS HTM

O pacote de identidade visual contém um conjunto de arquivos HTM que oferecem suporte a cenários para comunicar informações importantes aos usuários de conteúdo da Ajuda, por exemplo, uma página inicial com uma seção que descreve quais conjuntos de conteúdo estão instalados e páginas que informam ao usuário quando os tópicos não podem ser encontrados no conjunto local de tópicos. Esses arquivos HTM podem ser modificados por produto. Os fornecedores do ISO Shell podem usar o pacote de marca padrão e alterar o comportamento e o conteúdo dessas páginas para atender às suas necessidades. Esses arquivos se referem ao respectivo pacote de identidade visual para que as tags de identidade visual obtenham o conteúdo correspondente do arquivo branding.xml.

Arquivo Usar Fonte de conteúdo exibida
homepage.htm Essa é uma página que exibe o conteúdo atualmente instalado e qualquer outra mensagem apropriada para apresentar ao usuário sobre seu conteúdo. Esse arquivo tem o atributo de metadados adicional "Microsoft.Help.Id" content="-1", que coloca esse conteúdo na parte superior do sumário de conteúdo 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 /> Seção de título Branding.xml tag<HomePageInstalledBooks>, os dados gerados a partir do aplicativo, <HomePageNoBooksInstalled> quando nenhum livro está instalado.
<HOME_PAGE_SETTINGS_SECTION_ADD /> Seção de título Branding.xml marca <HomePageHelpSettings>, texto <da seção HomePageHelpSettingsText>.
topiccorrupted.htm Quando um tópico existe no conjunto local, mas por algum motivo não pode ser exibido (conteúdo corrompido).
<META_TOPIC_CORRUPTED_TITLE_ADD /> Branding.xml, tag <TopicCorruptedTitle>
<TOPIC_CORRUPTED_SECTION_ADD /> Branding.xml, tag <TopicCorruptedViewOnlineText>
topicnotfound.htm Quando um tópico não é encontrado no conjunto de conteúdo local, nem está disponível online
<META_TOPIC_NOT_FOUND_TITLE_ADD /> Branding.xml, tag <TopicNotFoundTitle>
<META_TOPIC_NOT_FOUND_ID_ADD /> Branding.xml, tag <TopicNotFoundViewOnlineText> + <TopicNotFoundDownloadContentText>
<TOPIC_NOT_FOUND_SECTION_ADD /> Branding.xml, tag <TopicNotFoundText>
contentnotinstalled.htm Quando não há conteúdo local instalado para o produto.
<META_CONTENT_NOT_INSTALLED_TITLE_ADD /> Branding.xml, tag <ContentNotInstalledTitle>
<META_CONTENT_NOT_INSTALLED_ID_ADD /> Branding.xml, tag <ContentNotInstalledDownloadContentText>
<CONTENT_NOT_INSTALLED_SECTION_ADD /> Branding.xml, tag <ContentNotInstalledText>

Arquivos CSS

O pacote de identidade visual do Visualizador da Ajuda do Visual Studio contém dois arquivos css para oferecer suporte a apresentação consistente de conteúdo da Ajuda do Visual Studio:

  • Branding.css: contém elementos css para renderização, em que SelfBranded=false

  • Printer.css: contém elementos css para renderização, em que SelfBranded=false

Os arquivos Branding.css incluem definições para apresentação de tópicos do Visual Studio (a ressalva é que o branding.css contido no Branding_<locale>.mshc do serviço de pacote pode ser alterado).

Arquivos gráficos

O conteúdo do Visual Studio exibe um logotipo do Visual Studio, bem como outros elementos gráficos. A lista completa de arquivos gráficos no pacote de identidade visual do Visualizador da Ajuda do Visual Studio é mostrada abaixo.

Arquivo Usar Exemplos
clear.gif Usado para renderizar a área recolhível
footer_slice.gif Apresentação do rodapé
info_icon.gif Usado ao exibir informações Aviso de isenção de responsabilidade
online_icon.gif Esse ícone deve ser associado a links online
tabLeftBD.gif Usado para renderizar o contêiner de snippet de código
tabRightBD.gif Usado para renderizar o contêiner de snippet de código
vs_logo_bk.gif Usado para referências de logotipo de contraste normal, conforme definido na tag <LogoFileName> de Branding.xml. Para produtos do Visual Studio, o nome do logotipo é vs_logo_bk.gif.
vs_logo_wh.gif Usado para referências de logotipo de alto contraste, conforme definido na tag <LogoFileNameHC> de Branding.xml. Para produtos do Visual Studio, o nome do logotipo é vs_logo_wh.gif.
ccOff.png Gráfico de legendas
ccOn.png Gráfico de legendas
ImageSprite.png Usado para renderizar a área recolhível gráfico expandido ou recolhido

Implantar um conjunto de tópicos

Este é um tutorial simples e rápido para criar um conjunto de implantação de conteúdo do Visualizador da Ajuda composto por um arquivo MSHA e o conjunto de cabs ou MSHCs com os tópicos. O MSHA é um arquivo XML que descreve um conjunto de cabs ou arquivos MSHC. O Visualizador da Ajuda pode ler o MSHA para obter uma lista de conteúdo (os arquivos .CAB ou .MSHC) disponível para instalação local.

Esta é apenas uma cartilha que descreve o esquema XML muito básico para o MSHA do Visualizador da Ajuda. Há um exemplo de implementação abaixo desta breve visão geral e exemplo de HelpContentSetup.msha.

O nome do MSHA, para os fins desta cartilha, é HelpContentSetup.msha (o nome do arquivo pode ser qualquer um, com a extensão .MSHA). HelpContentSetup.msha (exemplo abaixo) deve conter uma lista dos cabs ou MSHCs disponíveis. O tipo de arquivo deve ser consistente dentro do MSHA (não oferece suporte a uma combinação de tipos de arquivo MSHA e CAB). Para cada CAB ou MSHC, deve haver um <div class="package">...</div> (veja o exemplo abaixo).

Observação: no exemplo de implementação abaixo, incluímos o pacote de identidade visual. É fundamental incluir isso para obter os elementos de renderização de conteúdo e comportamentos de conteúdo necessários do Visual Studio.

Exemplo de arquivo HelpContentSetup.msha: (substitua "content set name 1" e "content set name 2" etc. pelos nomes dos arquivos.)

<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. Crie uma pasta local, algo como "C:\SampleContent".

  2. Neste exemplo, usaremos arquivos MSHC para conter os tópicos. Um MSHC é um arquivo compactado com a extensão alterada de .zip para .MSHC.

  3. Crie o arquivo HelpContentSetup.msha abaixo como um arquivo de texto (o bloco de notas foi usado para criar o arquivo) e salve-o na pasta acima mencionada (consulte a etapa 1).

A classe "Branding" existe e é única. O arquivo Branding.mshc está incluído nesta cartilha para que o conteúdo instalado tenha identidade visual e os comportamentos de conteúdo contidos nos MSHCs tenham os elementos de suporte apropriados contidos no pacote de identidade visual. Sem isso, ocorrerão erros quando o sistema procurar por itens de suporte que não fazem parte do conteúdo copiado (instalado).

Para obter o pacote de identidade visual do Visual Studio, copie o arquivo Branding_en-US.mshc em C:\Program Files (x86)\Microsoft Help Viewer\v2.3\ para sua pasta de trabalho.

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

Resumo

Usar e estender as etapas acima permitirá que os VSPs implantem seus conjuntos de conteúdo para o Visualizador da Ajuda do Visual Studio.

Adicionar a ajuda ao shell do Visual Studio (integrado ou isolado)

Introdução

Este passo a passo demonstra como incorporar o conteúdo da Ajuda a um aplicativo shell do Visual Studio e, em seguida, implantá-lo.

Requisitos

  1. Visual Studio 2013

  2. Pacote redistribuível do shell isolado do Visual Studio 2013

Visão geral

O Shell do Visual Studio 2013 é uma versão do IDE do Visual Studio 2013 em que você pode basear um aplicativo. Esses aplicativos contêm o shell isolado com as extensões que você cria. Use modelos de projeto de shell isolado, que estão incluídos no SDK do Visual Studio 2013, para criar extensões.

As etapas básicas para criar um aplicativo baseado em Shell isolado e a respectiva Ajuda:

  1. Obtenha pacote redistribuível do shell ISO do Visual Studio 2013 (um download da Microsoft).

  2. No Visual Studio, crie uma extensão de Ajuda baseada no shell isolado, por exemplo, a extensão de Ajuda da Contoso descrita posteriormente nesta explicação passo a passo.

  3. Encapsular a extensão e o pacote redistribuível do shell ISO em um MSI de implantação (uma configuração de aplicativo). Este passo a passo não inclui uma etapa de configuração.

Crie um armazenamento de conteúdo do Visual Studio. Para o cenário de shell integrado, altere o Visual Studio12 para o nome no catálogo de produtos da seguinte maneira:

  • Crie a pasta C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15.

  • Crie um arquivo chamado CatalogType.xml e adicione-o à pasta. O arquivo XML deve conter as seguintes linhas de código:

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

Defina o repositório de conteúdo no Registro. Para shell integrado, altere o Visual Studio12 para o nome no catálogo de produtos da seguinte maneira:

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

    Chave: LocationPath,valor da sequência: C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15\

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

    Chave: CatalogName, Valor da sequência: Visual Studio 2013 Documentation

Criar o projeto

Para criar uma extensão do shell isolado:

  1. No Visual Studio, em Arquivo, escolha Novo Projeto, em Outros Tipos de Projeto, escolha Extensibilidade e escolha Shell Isolado do Visual Studio. Nomeie o projeto como ContosoHelpShell para criar um projeto de extensibilidade com base no modelo de shell isolado do Visual Studio.

  2. No Gerenciador de Soluções, no projeto ContosoHelpShellUI, na pasta Arquivos de Recursos, abra ApplicationCommands.vsct. Certifique-se de que essa linha esteja comentada (procure por "No_Help"): <!-- <define name="No_HelpMenuCommands"/> -->

  3. Escolha a tecla F5 para compilar e execute Depurar. Na instância experimental do IDE do shell isolado, escolha o menu Ajuda. Verifique se os comandos Exibir Ajuda, Adicionar e Remover Conteúdo da Ajuda e Definir Preferência da Ajuda são exibidos.

  4. No Gerenciador de Soluções, no projeto ContosHelpShell, na pasta Personalização do Shell, abra ContosoHelpShell.pkgdef. Para definir o catálogo da Ajuda da Contoso, adicione estas linhas:

     [$RootKey$\Help]
    "Product"="Contoso"
    "Catalog"="Contoso"
    "Version"="100"
    "BrandingPackage"="ContosoBrandingPackage.mshc"
    
  5. No Gerenciador de Soluções, no projeto ContosHelpShell, na pasta Personalização do Shell, abra ContosoHelpShell.Application.pkgdef. Para habilitar a Ajuda do F1, adicione estas linhas:

    // 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. No Gerenciador de Soluções, no menu de contexto da solução ContosoHelpShell, escolha o item de menu Propriedades. Em Gerenciamento de Configuração, selecione Configuration Manager. Na coluna Configuração, altere cada valor "Debug" para "Release".

  7. Compile a solução. Isso cria um conjunto de arquivos em uma pasta de versão, que será usada na próxima seção.

Para testar isso como se estivesse implantado:

  1. Na máquina na qual você está implantando a Contoso, instale o shell ISO baixado (de cima).

  2. Crie uma pasta em \\Arquivos de Programas (x86)\ e nomeie-a Contoso.

  3. Copie o conteúdo da pasta de versão de ContosoHelpShell para a pasta \\Arquivos de Programas (x86)\Contoso\.

  4. Inicie o Editor do Registro escolhendo Executar no menu Iniciar e digitando Regedit. No editor do Registro, escolha Arquivo e Importar. Navegue até a pasta do projeto ContosoHelpShell. Na subpasta ContosoHelpShell, escolha ContosoHelpShell.reg.

  5. Criar um repositório de conteúdo:

    Para o shell ISO: crie um armazenamento de conteúdo da Contoso C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\ContosoDev12

    Para o shell integrado do Visual Studio 2013, crie a pasta C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15

  6. Crie CatalogType.xml e adicione ao repositório de conteúdo (etapa anterior) contendo:

    <?xml version="1.0" encoding="UTF-8"?>
    <catalogType>UserManaged</catalogType>
    
  7. Adicione as seguintes chaves do Registro:

    HKLM\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15Key: Valor da sequência LocationPath:

    Para shell ISO:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15

    Shell integrado do Visual Studio 2013:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15en-US

    Chave: CatalogName, Valor da sequência: Visual Studio 2013 Documentation. Para shell ISO, este é o nome do seu catálogo.

  8. Copie seu conteúdo (cabs ou MSHC e MSHA) para uma pasta local.

  9. Exemplo de linha de comando do shell integrado para testar o repositório de conteúdo. Para shell ISO, altere os valores de catalog e launchingApp conforme apropriado para corresponder ao produto.

    "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 o aplicativo Contoso (da raiz do aplicativo Contoso). No shell ISO, escolha o item de menu Ajuda e altere a opção Definir Preferência da Ajuda para Usar Ajuda Local.

  11. No shell, escolha o item de menu Ajuda e Exibir Ajuda. O visualizador da Ajuda local deve ser iniciado. Escolha a guia Gerenciar conteúdo. Em Origem da Instalação, escolha o botão de opção Disco. Escolha o botão ... e navegue até a pasta local que contém o conteúdo da Contoso (copiado para a pasta local na etapa acima). Escolha o HelpContentSetup.msha. A Contoso agora deve aparecer como um livro nas seleções de livros. Escolha Adicionar e, em seguida, escolha o botão Atualizar (canto inferior direito).

  12. No IDE da Contoso, escolha a tecla F1 para testar a funcionalidade de F1.

Recursos adicionais

Para a API de Runtime, consulte a API de Ajuda do Windows.

Para obter mais informações sobre como aproveitar a API da Ajuda, consulte Exemplos de código do Visualizador da Ajuda.

Você pode enviar sugestões de recursos na Developer Community.