Microsoft 도움말 뷰어 SDK

이 문서에는 Visual Studio 도움말 뷰어 통합자에 대한 다음 작업이 포함되어 있습니다.

  • 항목 만들기(F1 지원)

  • 도움말 뷰어 콘텐츠 브랜딩 패키지 만들기

  • 문서 세트 배포

  • Visual Studio 셸에 도움말 추가(통합 또는 격리)

  • 추가 리소스

항목 만들기(F1 지원)

이 섹션에서는 제시된 항목의 구성 요소, 항목 요구 사항, 항목을 만드는 방법에 대한 간단한 설명(F1 지원 요구 사항 포함) 및 마지막으로 렌더링된 결과가 포함된 예제 항목을 제공합니다.

도움말 뷰어 항목 개요

렌더링을 위해 토픽이 호출되면 도움말 뷰어는 설치 또는 마지막 업데이트 시 항목과 관련된 브랜딩 패키지 요소를 항목 XHTML과 함께 가져오고 두 요소를 결합하여 제시된 콘텐츠 뷰(브랜딩 데이터 + 토픽 데이터)를 생성합니다. 브랜딩 패키지에는 로고, 콘텐츠 동작 지원 및 브랜딩 텍스트(저작권 등)가 포함되어 있습니다. 브랜딩 패키지 요소에 대한 자세한 내용은 아래의 "브랜딩 패키지 만들기"를 참조하세요. 토픽과 연결된 브랜딩 패키지가 없는 경우 도움말 뷰어는 도움말 뷰어 애플리케이션 루트(Branding_en-US.mshc)에 있는 대체 브랜딩 패키지를 사용합니다.

도움말 뷰어 항목 요구 사항

도움말 뷰어 내에서 올바르게 렌더링하려면 원시 토픽 콘텐츠가 W3C Basic 1.1 XHTML이어야 합니다.

토픽에는 일반적으로 다음 두 섹션이 포함됩니다.

  • 메타데이터(콘텐츠 메타데이터 참조 확인): 토픽에 대한 데이터(예: 토픽 고유 ID, 키워드 값, 토픽 TOC ID, 부모 노드 ID 등).

  • 본문 콘텐츠: 지원되는 콘텐츠 동작(축소 가능한 영역, 코드 조각 등 전체 목록은 아래에 표시됨)을 포함하는 W3C Basic 1.1 XHTML과 호환됩니다.

Visual Studio 브랜딩 패키지 지원 컨트롤:

  • 링크

  • CodeSnippet

  • CollapsibleArea

  • 상속된 멤버

  • LanguageSpecificText

지원되는 언어 문자열(대/소문자 구분 안 함):

  • javascript

  • csharp 또는 c#

  • cplusplus 또는 visualc++ 또는 c++

  • jscript

  • visualbasic 또는 vb

  • f# 또는 fsharp 또는 fs

  • other - 언어 이름을 나타내는 문자열

도움말 뷰어 항목 만들기

ContosoTopic4.htm이라는 새 XHTML 문서를 만들고 제목 태그(아래)를 포함합니다.

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

<body>

</body>
</html>

다음으로, 항목을 표시하는 방법(자체 브랜드 여부), 이 항목이 TOC 내에 있는 F1에 대해 이 항목을 참조하는 방법, 해당 ID(다른 항목의 링크 참조용) 등을 정의하는 데이터를 추가합니다. 지원되는 메타데이터의 전체 목록은 아래의 "콘텐츠 메타데이터" 표를 참조하세요.

  • 이 경우 Visual Studio 도움말 뷰어 브랜딩 패키지의 변형인 자체 브랜딩 패키지를 사용합니다.

  • IDE 속성 모음에 제공된 F1 값과 일치하는 F1 메타 이름 및 값("Microsoft.Help.F1" content=" ContosoTopic4")을 추가합니다. (자세한 내용은 F1 지원 섹션을 참조하세요.) F1이 IDE에서 선택될 때 이 항목을 표시하기 위해 IDE 내에서 F1 호출과 일치하는 값입니다.

  • 토픽 ID를 추가합니다. 다른 항목에서 이 항목에 연결하는 데 사용되는 문자열입니다. 이 항목의 도움말 뷰어 ID입니다.

  • TOC의 경우 이 토픽의 부모 노드를 추가하여 이 토픽 TOC 노드가 표시되는 위치를 정의합니다.

  • TOC의 경우 이 항목의 노드 순서를 추가합니다. 부모 노드에 n개의 자식 노드 수가 있는 경우 이 항목의 위치를 자식 노드 순서로 정의합니다. 예를 들어 이 항목은 4개의 자식 항목 중 4번입니다.

메타데이터 섹션 예제:

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

토픽 본문

토픽의 본문(머리글 및 바닥글 포함 안 됨)에는 페이지 링크, 메모 섹션, 축소 가능한 영역, 코드 조각 및 언어별 텍스트 섹션이 포함됩니다. 제시된 항목의 해당 영역에 대한 자세한 내용은 브랜딩 섹션을 참조하세요.

  1. 토픽 제목 태그 추가: <div class="title">Contoso Topic 4</div>

  2. 메모 섹션 추가: <div class="alert"> add your table tag and text </div>

  3. 축소 가능한 영역 추가: <CollapsibleArea Expanded="1" Title="Collapsible Area Test Heading"> add text </CollapsibleArea>

  4. 코드 조각 추가: <CodeSnippet EnableCopyCode="true" Language="CSharp" ContainsMarkup="false" DisplayLanguage="C#" > a block of code </CodeSnippet>

  5. 코드 언어별 텍스트 추가: <LanguageSpecificText devLangcs="CS" devLangvb="VB" devLangcpp="C++" devLangnu="F#" />devLangnu=를 사용하면 다른 언어를 입력할 수 있습니다. 예를 들어 devLangnu="Fortran"는 코드 조각 DisplayLanguage = Fortran일 때 Fortran을 표시합니다.

  6. 페이지 링크 추가: <a href="ms-xhelp:///?Id=ContosoTopic1">Main Topic</a>

참고 항목

참고: 지원되지 않는 새 "표시 언어"(예: F#, Cobol, Fortran)의 경우 코드 조각의 코드 색화는 단색입니다.

도움말 뷰어 항목 예제 이 코드는 메타데이터, 코드 조각, 축소 가능한 영역 및 언어별 텍스트를 정의하는 방법을 보여 줍니다.

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

F1 지원

Visual Studio에서 F1을 선택하면 IDE 내의 커서 배치에서 제공된 값이 생성되고 커서 위치에 따라 제공된 값으로 "속성 모음"이 채워집니다. 커서가 기능 x 위에 있으면 기능 x가 활성/포커스에 있고 속성 모음을 값으로 채웁니다. F1을 선택하면 속성 모음이 채워지고 Visual Studio F1 코드에서 고객의 기본 도움말 원본이 로컬인지 온라인인지(온라인이 기본값임) 확인한 다음, 사용자 설정(온라인이 기본값)임에 따라 적절한 문자열을 만듭니다. 로컬 도움말이 기본값인 경우 속성 모음의 로컬 도움말 뷰어 + 키워드에 대한 매개 변수를 사용하여 셸을 실행(exe 시작 매개 변수에 대한 도움말 관리자 가이드 참조)하거나 매개 변수 목록의 키워드가 있는 MSDN URL로 실행합니다.

다중 값 문자열이라고 하는 F1에 대해 세 개의 문자열이 반환되면 첫 번째 용어를 사용하고 적중을 찾으면 완료됩니다. 그렇지 않으면 다음 문자열로 이동합니다. 순서가 중요합니다. 다중 값 키워드의 프레젠테이션은 가장 긴 문자열에서 가장 짧은 문자열이어야 합니다. 다중 값 키워드의 경우 이를 확인하려면 선택한 키워드를 포함하는 온라인 F1 URL 문자열을 확인합니다.

Visual Studio 2012에서는 의도적으로 온라인과 오프라인을 더 강력하게 구분하여 사용자의 설정이 온라인인 경우 Visual Studio 2010에 있는 도움말 라이브러리 에이전트를 통해 라우팅하는 대신 MSDN의 온라인 쿼리 서비스에 직접 F1 요청을 전달했습니다. 그런 다음, "설치된 공급업체 콘텐츠 = true" 상태를 사용하여 해당 컨텍스트에서 다른 작업을 수행할지 여부를 결정합니다. true이면 고객에 대해 지원하려는 항목에 따라 이 구문 분석 및 라우팅 논리를 수행합니다. false이면 MSDN으로 이동합니다. 사용자의 설정이 로컬인 경우 모든 호출은 로컬 도움말 엔진으로 이동합니다.

F1 흐름 다이어그램:

F1 흐름

도움말 뷰어 기본 도움말 콘텐츠 원본이 온라인(브라우저에서 시작)으로 설정된 경우:

  • VSP(Visual Studio 파트너) 기능은 F1 속성 모음(레지스트리에 있는 접두사에 대한 속성 모음 prefix.keyword 및 온라인 URL)에 값을 내보냅니다. F1은 VSP URL+ 매개 변수를 브라우저로 보냅니다.

  • Visual Studio 기능(언어 편집기, Visual Studio 특정 메뉴 항목 등): F1은 Visual Studio URL을 브라우저로 보냅니다.

도움말 뷰어 기본 도움말 콘텐츠 원본이 로컬 도움말로 설정(도움말 뷰어에서 시작)된 경우:

  • F1 속성 모음과 로컬 저장소 인덱스(즉, 속성 모음 prefix.keyword = 로컬 저장소 인덱스에 있는 값) 간에 키워드가 일치하는 VSP 기능: F1은 도움말 뷰어에서 항목을 렌더링합니다.

  • Visual Studio 기능(VSP가 Visual Studio 기능에서 내보낸 속성 모음을 재정의할 수 있는 옵션 없음): F1은 도움말 뷰어에서 Visual Studio 항목을 렌더링합니다.

공급업체 도움말 콘텐츠에 대해 F1 대체를 사용하도록 설정하려면 다음 레지스트리 값을 설정합니다. F1 대체는 도움말 뷰어가 온라인에서 F1 도움말 콘텐츠를 찾도록 설정되어 있으며 공급업체 콘텐츠가 사용자의 하드 드라이브에 로컬로 설치됨을 의미합니다. 도움말 뷰어는 기본 설정이 온라인 도움말인 경우에도 콘텐츠에 대한 로컬 도움말을 확인해야 합니다.

  1. Help 2.3 레지스트리 키 아래에 VendorContent 값을 설정합니다.

    • 32비트 운영 체제의 경우:

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

      "VendorContent"=dword:00000001

    • 64비트 운영 체제의 경우:

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

      "VendorContent"=dword:00000001

  2. 도움말 2.3 레지스트리 키 아래에 파트너 네임스페이스를 등록합니다.

    • 32비트 운영 체제의 경우:

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

      "location"="offline"

    • 64비트 운영 체제의 경우:

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

      "location"="offline"

기본 네임스페이스 구문 분석

기본 네임스페이스 구문 분석을 설정하려면 레지스트리에서 BaseNativeNamespaces라는 이름으로 새 DWORD를 추가하고 해당 값을 1로 설정합니다(지원하려는 카탈로그 키 아래). 예를 들어 Visual Studio 카탈로그를 사용하려는 경우 경로에 키를 추가할 수 있습니다.

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

HEADER/METHOD 형식의 F1 키워드가 발견되면 '/' 문자가 구문 분석되어 다음 구문이 생성됩니다.

  • HEADER: 레지스트리에 등록하는 데 사용할 수 있는 네임스페이스입니다.

  • METHOD: 통과되는 키워드가 됩니다.

예를 들어 CustomLibrary라는 사용자 지정 라이브러리와 MyTestMethod라는 메서드가 있는 경우 F1 요청이 들어오면 형식이 CustomLibrary/MyTestMethod로 지정됩니다.

그러면 사용자는 CustomLibrary를 파트너 하이브 아래의 네임스페이스로 등록하고 원하는 위치 키를 제공할 수 있으며 쿼리에 전달된 키워드는 MyTestMethod가 됩니다.

IDE에서 도움말 디버깅 도구 사용

다음 레지스트리 키와 값을 추가합니다.

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

값: 소매 데이터에 디버그 출력 표시: 예

IDE의 도움말 메뉴 항목 아래에서 도움말 컨텍스트 디버그를 선택합니다.

콘텐츠 메타데이터

다음 표에서 대괄호 사이에 나타나는 문자열은 인식된 값으로 대체해야 하는 자리 표시자입니다. 예를 들어 <meta name="Microsoft.Help.Locale" content="[language code]" />에서 "[language code]"는 "en-us"와 같은 값으로 바꿔야 합니다.

속성(HTML 표현) 설명
< meta name="Microsoft.Help.Locale" content="[language-code]" /> 이 항목의 로캘을 설정합니다. 이 태그가 토픽에서 사용되는 경우 한 번만 사용해야 하며 다른 Microsoft 도움말 태그 위에 삽입해야 합니다. 이 태그를 사용하지 않으면 제품 로캘과 연결된 단어 분리기를 사용하여 인덱싱됩니다(지정된 경우). 그렇지 않으면 en-us 단어 분리기가 사용됩니다. 이 태그는 ISOC RFC 4646을 준수합니다. Microsoft 도움말이 올바르게 작동하도록 하려면 일반 언어 특성 대신 이 속성을 사용합니다.
< meta name="Microsoft.Help.TopicLocale" content="[language-code]" /> 다른 로캘도 사용되는 경우 이 항목에 대한 로캘을 설정합니다. 이 태그가 토픽에서 사용되는 경우 한 번만 사용해야 합니다. 카탈로그에 둘 이상의 언어로 된 콘텐츠가 포함된 경우 이 태그를 사용합니다. 카탈로그의 여러 항목은 동일한 ID를 가질 수 있지만 각각 고유한 TopicLocale을 지정해야 합니다. 카탈로그의 로캘과 일치하는 TopicLocale을 지정하는 항목은 목차에 표시되는 항목입니다. 그러나 항목의 모든 언어 버전은 검색 결과에 표시됩니다.
< title>[Title]</title> 이 항목의 제목을 지정합니다. 이 태그는 필수이며 토픽에서 한 번만 사용해야 합니다. 토픽 본문에 제목 <div> 섹션이 없으면 이 제목이 토픽과 목차에 표시됩니다.
< meta name=" Microsoft.Help.Keywords" content="[aKeywordPhrase]"/> 도움말 뷰어의 인덱스 창에 표시되는 링크의 텍스트를 지정합니다. 링크를 클릭하면 항목이 표시됩니다. 항목에 대해 여러 인덱스 키워드를 지정하거나 이 항목에 대한 링크를 인덱스에 표시하지 않으려면 이 태그를 생략할 수 있습니다. 이전 버전의 도움말에서 "K" 키워드를 이 속성으로 변환할 수 있습니다.
< meta name="Microsoft.Help.Id" content="[TopicID]"/> 이 항목의 식별자를 설정합니다. 이 태그는 필수이며 토픽에서 한 번만 사용해야 합니다. ID는 동일한 로캘 설정이 있는 카탈로그의 토픽에서 고유해야 합니다. 다른 항목에서는 이 ID를 사용하여 이 항목에 대한 링크를 만들 수 있습니다.
< meta name="Microsoft.Help.F1" content="[System.Windows.Controls.Primitives.IRecyclingItemContainerGenerator]"/> 이 항목의 F1 키워드를 지정합니다. 항목에 대해 여러 F1 키워드를 지정하거나 애플리케이션 사용자가 F1을 누를 때 이 항목을 표시하지 않으려면 이 태그를 생략하면 됩니다. 일반적으로 항목에 대해 하나의 F1 키워드만 지정됩니다. 이전 버전의 도움말에서 "F" 키워드를 이 속성으로 변환할 수 있습니다.
< meta name="Description" content="[topic description]" /> 이 항목의 내용에 대한 간단한 요약을 제공합니다. 이 태그가 토픽에서 사용되는 경우 한 번만 사용해야 합니다. 이 속성은 쿼리 라이브러리에서 직접 액세스합니다. 인덱스 파일에 저장되지 않습니다.
meta name="Microsoft.Help.TocParent" content="[parent_Id]"/> 목차에서 이 항목의 상위 항목을 지정합니다. 이 태그는 필수이며 토픽에서 한 번만 사용해야 합니다. 값은 부모의 Microsoft.Help.Id입니다. 토픽은 목차에서 하나의 위치만 있을 수 있습니다. "-1"은 TOC 루트의 토픽 ID로 간주됩니다. Visual Studio 2013에서 해당 페이지는 도움말 뷰어 홈페이지입니다. 이는 특정 토픽에 TocParent=-1을 추가하여 최상위 수준에 표시되도록 하는 것과 같은 이유입니다. 도움말 뷰어 홈페이지는 시스템 페이지이므로 바꿀 수 없습니다. VSP가 ID가 -1인 페이지를 추가하려고 하면 콘텐츠 집합에 추가될 수 있지만 도움말 뷰어는 항상 시스템 페이지인 도움말 뷰어 홈을 사용합니다.
< meta name="Microsoft.Help.TocOrder" content="[positive integer]"/> 목차에서 이 항목이 피어 항목을 기준으로 표시되는 위치를 지정합니다. 이 태그는 필수이며 토픽에서 한 번만 사용해야 합니다. 값은 정수입니다. 값이 낮은 정수로 지정하는 항목은 더 높은 값 정수로 지정하는 항목 위에 나타납니다.
< meta name="Microsoft.Help.Product" content="[product code]"/> 이 항목에서 설명하는 제품을 지정합니다. 이 태그가 토픽에서 사용되는 경우 한 번만 사용해야 합니다. 이 정보는 도움말 인덱서에 전달되는 매개 변수로 제공할 수도 있습니다.
< meta name="Microsoft.Help.ProductVersion" content="[version number]"/> 이 항목에서 설명하는 제품의 버전을 지정합니다. 이 태그가 토픽에서 사용되는 경우 한 번만 사용해야 합니다. 이 정보는 도움말 인덱서에 전달되는 매개 변수로 제공할 수도 있습니다.
< meta name="Microsoft.Help.Category" content="[string]"/> 제품에서 콘텐츠의 하위 섹션을 식별하는 데 사용됩니다. 토픽에 대한 여러 하위 섹션을 식별하거나 링크가 하위 섹션을 식별하지 않도록 하려면 이 태그를 생략하면 됩니다. 이 태그는 토픽이 이전 버전의 도움말에서 변환되는 경우 TargetOS 및 TargetFrameworkMoniker에 대한 특성을 저장하는 데 사용됩니다. 콘텐츠의 형식은 AttributeName:AttributeValue입니다.
< meta name="Microsoft.Help.TopicVersion content="[topic version number]"/> 카탈로그에 여러 버전이 있는 경우 이 버전의 토픽을 지정합니다. Microsoft.Help.Id 고유하지는 않으므로 카탈로그에 둘 이상의 토픽 버전이 있는 경우(예: 카탈로그에 .NET Framework 3.5에 대한 토픽과 .NET Framework 4에 대한 토픽이 포함되어 있고 둘 다 동일한 Microsoft.Help.Id가 있는 경우) 이 태그가 필요합니다.
< meta name="SelfBranded" content="[TRUE 또는 FALSE]"/> 이 항목에서 도움말 라이브러리 관리자 시작 브랜딩 패키지 또는 토픽과 관련된 브랜딩 패키지를 사용할지 여부를 지정합니다. 이 태그는 TRUE 또는 FALSE여야 합니다. TRUE이면 관련 토픽의 브랜딩 패키지가 도움말 라이브러리 관리자가 시작될 때 설정된 브랜딩 패키지를 재정의하여 토픽이 다른 콘텐츠의 렌더링과 다른 경우에도 의도한 대로 렌더링되도록 합니다. FALSE이면 도움말 라이브러리 관리자가 시작될 때 설정된 브랜딩 패키지에 따라 현재 항목이 렌더링됩니다. 기본적으로 Help Library Manager는 SelfBranded 변수가 TRUE로 선언되지 않는 한 자체 브랜딩을 false로 가정합니다. 따라서 <메타 이름="SelfBranded" content="FALSE"/>를 선언할 필요가 없습니다.

브랜딩 패키지 만들기

Visual Studio 릴리스에는 Visual Studio 파트너용 격리 및 통합 셸을 비롯한 다양한 Visual Studio 제품이 포함됩니다. 이러한 각 제품에는 제품 고유의 토픽 기반 도움말 콘텐츠 브랜딩 지원이 어느 정도 필요합니다. 예를 들어 Visual Studio 토픽에는 일관된 브랜드 프레젠테이션이 있어야 하는 반면, ISO Shell을 래핑하는 SQL Studio에는 각 토픽에 대한 고유한 도움말 콘텐츠 브랜딩이 필요합니다. 통합 셸 파트너는 자체 토픽 브랜딩을 유지하면서 도움말 항목을 부모 Visual Studio 제품 도움말 콘텐츠 내에 포함되도록 할 수 있습니다.

브랜딩 패키지는 도움말 뷰어를 포함하는 제품에 의해 설치됩니다. Visual Studio 제품의 경우:

  • 대체 브랜딩 패키지(Branding_<locale>.mshc)는 도움말 뷰어 언어 팩에 의해 도움말 뷰어 2.3 앱 루트(예: C:\Program Files (x86)\Microsoft Help Viewer\v2.3)에 설치됩니다. 제품 브랜딩 패키지가 설치되지 않았거나(콘텐츠가 설치되지 않음) 설치된 브랜딩 패키지가 손상된 경우에 사용됩니다. 앱 루트 대체 브랜딩 패키지를 사용하는 경우 Visual Studio 요소(로고 및 피드백)는 무시됩니다.

  • 콘텐츠 패키지 서비스에서 Visual Studio 콘텐츠를 설치하면 브랜딩 패키지도 설치됩니다(처음 콘텐츠 설치 시나리오의 경우). 브랜딩 패키지에 대한 업데이트가 있는 경우 다음 콘텐츠 업데이트 또는 추가 패키지 설치 작업이 수행될 때 업데이트가 설치됩니다.

Microsoft 도움말 뷰어는 토픽 메타데이터를 기반으로 토픽의 브랜딩을 지원합니다.

  • 토픽 메타데이터가 자체 브랜드 = true를 정의하는 경우 토픽을 있는 그대로 렌더링하고 아무 작업도 수행하지 않습니다(브랜딩까지).

  • 토픽 메타데이터가 자체 브랜드 = false를 정의하는 경우 TopicVendor 메타데이터 값과 연결된 브랜딩 패키지를 사용합니다.

  • 토픽 메타데이터가 공급업체 MSHA의 name="Microsoft.Help.TopicVendor" content=< 브랜딩 패키지 이름>을 정의하는 경우 콘텐츠 값에 정의된 브랜딩 패키지를 사용합니다.

  • Visual Studio 카탈로그 내에는 브랜딩 패키지의 우선 순위 애플리케이션이 있습니다. 첫 번째 Visual Studio 기본 브랜딩이 적용된 다음, 토픽 메타데이터에 정의되고 연결된 브랜딩 패키지(설치 msha에 정의된 대로)로 지원되는 경우 공급업체에서 정의한 브랜딩이 재정의로 적용됩니다.

브랜딩 요소는 일반적으로 세 가지 주요 범주로 분류됩니다.

  • 헤더 요소(예: 피드백 링크, 조건부 고지 사항 텍스트, 로고 포함)

  • 콘텐츠 동작(예: 확장/축소 컨트롤 텍스트 요소 및 코드 조각 요소 포함)

  • 바닥글 요소(예: 저작권)

브랜드 요소로 간주되는 항목은 다음과 같습니다(이 사양에 자세히 설명됨).

  • 카탈로그/제품 로고(예: Visual Studio)

  • 피드백 링크 및 이메일 요소

  • 고지 사항 텍스트

  • 저작권 텍스트

Visual Studio 도움말 뷰어 브랜딩 패키지의 지원 파일은 다음과 같습니다.

  • 그래픽(로고, 아이콘 등)

  • Branding.js - 콘텐츠 동작을 지원하는 스크립트 파일

  • Branding.xml - 카탈로그 콘텐츠에서 일관되게 사용되는 문자열입니다. 참고: branding.xml의 Visual Studio 지역화 텍스트 요소에는 _locID="<고유 값>"을 포함합니다.

  • Branding.css - 프레젠테이션 일관성을 위한 스타일 정의

  • Printing.css - 일관된 인쇄 프레젠테이션에 대한 스타일 정의

위에서 설명한 대로 브랜딩 패키지는 다음 항목과 연결됩니다.

  • SelfBranded = false가 메타데이터에 정의되면 토픽은 카탈로그 브랜딩 패키지를 상속합니다.

  • 또는 SelfBranded = false이고 MSHA에 정의되고 콘텐츠가 설치될 때 사용할 수 있는 고유한 브랜딩 패키지가 있는 경우

사용자 지정 브랜딩 패키지(VSP 콘텐츠, SelfBranded=True)를 구현하는 VSP의 경우 계속 진행하는 한 가지 방법은 대체 브랜딩 패키지(도움말 뷰어와 함께 설치됨)로 시작하고 파일 이름을 적절하게 변경하는 것입니다. The Branding_<locale>.mshc 파일은 파일 확장자가 .mshc로 변경된 zip 파일이므로 확장자를 .mshc에서 .zip 변경하고 내용을 추출하기만 하면 됩니다. 브랜딩 패키지 요소는 아래를 참조하고 적절하게 수정합니다(예: VSP 로고로 로고 변경 및 Branding.xml 파일의 로고에 대한 참조, VSP별 Branding.xml 업데이트 등).

모든 수정이 완료되면 원하는 브랜딩 요소가 포함된 zip 파일을 만들고 확장자를 .mshc로 변경합니다.

사용자 지정 브랜딩 패키지를 연결하려면 mshc 콘텐츠(토픽 포함)와 함께 브랜딩 mshc 파일에 대한 참조가 포함된 MSHA를 만듭니다. 기본 MSHA를 만드는 방법은 아래 "MSHA"를 참조하세요.

Branding.xml 파일에는 항목에 <meta name="Microsoft.Help.SelfBranded" content="false"/>가 포함될 때 항목의 특정 항목을 일관되게 렌더링하는 데 사용되는 요소 목록이 포함되어 있습니다. Branding.xml 파일의 Visual Studio 요소 목록은 아래에 나열되어 있습니다. 이 목록은 ISO Shell 채택자를 위한 템플릿으로 사용되며, 이러한 요소(예: 로고, 피드백 및 저작권)를 자체 제품 브랜딩 요구 사항에 맞게 수정합니다.

참고: "{n}"에 의해 기록된 변수에는 코드 종속성이 있습니다. 이러한 값을 제거하거나 변경하면 오류가 발생하고 애플리케이션이 충돌할 수 있습니다. 지역화 식별자(예: _locID="codesnippet.n")는 Visual Studio 브랜딩 패키지에 포함됩니다.

Branding.xml

요소 설명
기능: CollapsibleArea
올바른 사용: 축소 콘텐츠 컨트롤 텍스트 확장
요소
ExpandText 확장
CollapseText 축소
기능: CodeSnippet
올바른 사용: 코드 조각 컨트롤 텍스트. 참고: "호환성이 손상되지 않는" 공간이 있는 코드 조각 콘텐츠가 공백으로 변경됩니다.
요소
CopyToClipboard 클립보드로 복사
ViewColorizedText 색이 지정된 보기
CombinedVBTabDisplayLanguage Visual Basic(샘플)
VBDeclaration 선언
VBUsage 사용
기능: 피드백, 바닥글 및 로고
올바른 사용: 고객이 이메일을 통해 현재 항목에 대한 피드백을 제공할 수 있도록 피드백 컨트롤을 제공합니다. 콘텐츠에 대한 저작권 텍스트입니다. 로고 정의.
요소 값(이러한 문자열은 콘텐츠 채택자의 요구를 충족하도록 수정할 수 있습니다.)
CopyRight © 2013 Microsoft Corporation. All rights reserved.
SendFeedback <a href="{0}" {1}>이 항목에 대한 피드백</a>를 Microsoft로 보냅니다.
FeedbackLink
LogoTitle Visual Studio 2013
LogoFileName vs_logo_bk.gif
LogoFileNameHC vs_logo_wh.gif
기능: 고지 사항
올바른 사용: 기계 번역 콘텐츠에 대한 사례별 고지 사항 세트입니다.
요소
MT_Editable 이 문서는 기계 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
MT_NonEditable 이 문서는 기계 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
MT_QualityEditable 이 문서는 수동으로 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
MT_QualityNonEditable 이 문서는 수동으로 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
MT_BetaContents 이 문서는 예비 릴리스를 위해 기계 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
MT_BetaRecycledContents 이 문서는 예비 릴리스를 위해 수동으로 번역되었습니다. 인터넷에 연결되어 있는 경우 "이 항목을 온라인으로 보기"를 선택하여 이 페이지를 원래 영어 콘텐츠와 동시에 편집 가능한 모드에서 볼 수 있습니다.
기능: LinkTable
올바른 사용: 온라인 항목 링크 지원
요소
LinkTableTitle 테이블 연결
TopicEnuLinkText 컴퓨터에서 사용할 수 있는 이 항목의 영어 버전</a>를 봅니다.
TopicOnlineLinkText 이 항목에서 <a href="{0}" {1}>online</a> 보기
OnlineText 온라인
기능: 비디오 오디오 컨트롤
올바른 사용: 비디오 콘텐츠에 대한 요소 및 텍스트 표시
요소
MultiMediaNotSupported {0} 콘텐츠를 지원하려면 Internet Explorer 9 이상이 설치되어 있어야 합니다.
VideoText 비디오 표시
AudioText 오디오 스트리밍
OnlineVideoLinkText <p>이 항목과 관련된 비디오를 보려면 {0}<a href="{1}">{2}here</a>를 클릭합니다.</p>
OnlineAudioLinkText <p>이 항목과 관련된 오디오를 들으려면 {0}<a href="{1}">{2}here</a>를 클릭합니다.</p>
기능: 콘텐츠가 설치되지 않음 컨트롤
올바른 사용: contentnotinstalled.htm의 렌더링에 사용되는 텍스트 요소(문자열)
요소
ContentNotInstalledTitle 컴퓨터에서 콘텐츠를 찾을 수 없습니다.
ContentNotInstalledDownloadContentText <p>컴퓨터에 콘텐츠를 다운로드하려면 <a href="{0}" {1}>관리 탭</a>를 클릭합니다.</p>
ContentNotInstalledText <p>컴퓨터에 콘텐츠가 설치되어 있지 않습니다. 로컬 도움말 콘텐츠 설치는 관리자를 참조하세요.</p>
기능: 항목을 찾을 수 없음 컨트롤
올바른 사용: topicnotfound.htm의 렌더링에 사용되는 텍스트 요소(문자열)
요소
TopicNotFoundTitle 컴퓨터에서 요청된 항목을 찾을 수 없습니다.
TopicNotFoundViewOnlineText <p>요청한 항목이 컴퓨터에서 찾을 수 없지만 <a href="{0}" {1}>온라인</a>로 항목을 볼 수 있습니다.</p>
TopicNotFoundDownloadContentText <p>비슷한 항목에 대한 링크는 탐색 창을 참조하거나 <a href="{0}" {1}>관리 탭</a>를 클릭하여 컴퓨터에 콘텐츠를 다운로드합니다.</p>
TopicNotFoundText <p>요청한 항목이 컴퓨터에서 찾을 수 없습니다.</p>
기능: 항목이 손상된 컨트롤
올바른 사용: topiccorrupted.htm의 렌더링에 사용되는 텍스트 요소(문자열)
요소
TopicCorruptedTitle 요청된 항목을 표시할 수 없습니다.
TopicCorruptedViewOnlineText <p>도움말 뷰어가 요청된 항목을 표시할 수 없습니다. 토픽의 콘텐츠 또는 기본 시스템 종속성에 오류가 있을 수 있습니다.</p>
기능: 홈 페이지 컨트롤
올바른 사용: 도움말 뷰어 최상위 노드 콘텐츠의 표시를 지원하는 텍스트입니다.
요소
HomePageTitle 도움말 뷰어 홈
HomePageIntroduction <p>Microsoft 도구, 제품, 기술 및 서비스를 사용하는 모든 사용자를 위한 필수 정보 원본인 Microsoft 도움말 뷰어에 오신 것을 환영합니다. 도움말 뷰어에서는 방법 및 참조 정보, 샘플 코드, 기술 문서 등에 액세스할 수 있습니다. 필요한 콘텐츠를 찾으려면 목차를 찾아보거나 전체 텍스트 검색을 사용하거나 키워드 인덱스를 사용하여 콘텐츠를 탐색합니다.</p>
HomePageContentInstallText <p><br/><a href="{0}" {1}>콘텐츠 관리</a> 탭을 사용하여 다음을 수행합니다.<ul><li>컴퓨터 콘텐츠를 추가합니다.</li><li>로컬 콘텐츠에 대한 업데이트를 확인합니다.</li><li>컴퓨터에서 콘텐츠를 제거합니다.</li></ul></p>
HomePageInstalledBooks 설치된 책
HomePageNoBooksInstalled 컴퓨터에서 콘텐츠를 찾을 수 없습니다.
HomePageHelpSettings 도움말 콘텐츠 설정
HomePageHelpSettingsText <p>현재 설정이 로컬 도움말입니다. 도움말 뷰어에는 컴퓨터에 설치한 콘텐츠가 표시됩니다.<br/>도움말 콘텐츠의 원본을 변경하려면 Visual Studio 메뉴 모음에서<span style="{0}">도움말, 도움말 기본 설정</span>을 선택합니다.<br /></p>
MegaByte MB

branding.js

branding.js 파일에는 Visual Studio 도움말 뷰어 브랜딩 요소에서 사용하는 JavaScript가 포함되어 있습니다. 다음은 브랜딩 요소 및 지원 JavaScript 함수의 목록입니다. 이 파일에 대해 지역화할 모든 문자열은 이 파일의 맨 위에 있는 "지역화 가능한 문자열" 섹션에 정의되어 있습니다. branding.js 파일 내의 loc 문자열에 대해 ICL 파일이 만들어졌습니다.

브랜딩 기능 JavaScript 함수 설명
Var ... 변수 정의
사용자 코드 언어 가져오기 setUserPreferenceLang 코드 언어에 인덱스 # 매핑
쿠키 값 설정 및 가져오기 getCookie, setCookie
상속된 멤버 changeMembersLabel 상속된 멤버 확장/축소
SelfBranded=False인 경우 onLoad 쿼리 문자열을 읽고 인쇄 요청인지 확인합니다. 모든 코드 조각을 설정하여 사용자 기본 설정 탭에 초점을 맞춥니다. 인쇄 요청인 경우 isPrinterFriendly를 true로 설정합니다. 고대비 모드를 확인합니다.
코드 조각 addSpecificTextLanguageTagSet
getIndexFromDevLang
ChangeTab
setCodesnippetLang
setCurrentLang
CopyToClipboard
CollapsibleArea addToCollapsibleControlSet 모든 축소 가능한 컨트롤 개체를 목록에 씁니다.
CA_Click 축소 가능한 영역의 상태에 따라 표시할 이미지 및 텍스트를 정의합니다.
로고에 대한 대비 지원 isBlackBackground() 배경이 검은색인지 확인하기 위해 호출됩니다. 고대비 모드일 때만 정확합니다.
isHighContrast() 색이 지정된 범위를 사용하여 고대비 모드 검색
onHighContrast(검정) 고대비 감지 시 호출
LST 기능
addToLanSpecTextIdSet(id)
updateLST(currentLang)
getDevLangFromCodeSnippet(lang)
멀티미디어 기능 캡션(시작, 끝, 텍스트, 스타일)
findAllMediaControls(normalizedId)
getActivePlayer(normalizedId)
captionsOnOff(id)
toSeconds(t)
getAllComments(노드)
styleRectify(styleName, styleValue)
showCC(id)
subtitle(id)

HTM FILES

브랜딩 패키지에는 도움말 콘텐츠 사용자에게 주요 정보를 전달하는 시나리오를 지원하는 HTM 파일 세트가 포함되어 있습니다. 예를 들어 설치된 콘텐츠 집합을 설명하는 섹션이 포함된 홈페이지와 토픽의 로컬 세트에서 항목을 찾을 수 없는 경우 사용자에게 알리는 페이지가 포함되어 있습니다. 이러한 HTM 파일은 제품별로 수정할 수 있습니다. ISO Shell 공급업체는 기본 브랜딩 패키지를 사용하여 이러한 페이지의 동작과 콘텐츠를 필요에 맞게 변경할 수 있습니다. 이러한 파일은 브랜딩 태그가 branding.xml 파일에서 해당 콘텐츠를 가져오기 위해 해당 브랜딩 패키지를 참조합니다.

파일 사용 표시된 콘텐츠 원본
homepage.htm 현재 설치된 콘텐츠와 해당 콘텐츠에 대해 사용자에게 표시하기에 적합한 기타 메시지를 표시하는 페이지입니다. 이 파일에는 로컬 콘텐츠 TOC의 맨 위에 이 콘텐츠를 배치하는 추가 메타 데이터 특성 "Microsoft.Help.Id" content="-1"이 있습니다.
<META_HOME_PAGE_TITLE_ADD /> Branding.xml, <HomePageTitle> 태그 지정
<HOME_PAGE_INTRODUCTION_SECTION_ADD /> Branding.xml, <HomePageIntroduction> 태그 지정
<HOME_PAGE_CONTENT_INSTALL_SECTION_ADD /> Branding.xml <HomePageContentInstallText> 태그 지정
<HOME_PAGE_BOOKS_INSTALLED_SECTION_ADD /> 제목 섹션 Branding.xml 태그<HomePageInstalledBooks>, <HomePageNoBooksInstalled> 책이 설치되지 않은 경우 애플리케이션에서 생성된 데이터입니다.
<HOME_PAGE_SETTINGS_SECTION_ADD /> 제목 섹션 Branding.xml 태그 <HomePageHelpSettings>, 섹션 텍스트 <HomePageHelpSettingsText>.
topiccorrupted.htm 토픽이 로컬 집합에 있지만 어떤 이유로 표시할 수 없는 경우(손상된 콘텐츠)
<META_TOPIC_CORRUPTED_TITLE_ADD /> Branding.xml, <TopicCorruptedTitle> 태그 지정
<TOPIC_CORRUPTED_SECTION_ADD /> Branding.xml, <TopicCorruptedViewOnlineText> 태그 지정
topicnotfound.htm 로컬 콘텐츠 집합에서 토픽을 찾을 수 없고 온라인에서 사용할 수 없는 경우
<META_TOPIC_NOT_FOUND_TITLE_ADD /> Branding.xml, <TopicNotFoundTitle> 태그 지정
<META_TOPIC_NOT_FOUND_ID_ADD /> Branding.xml, <TopicNotFoundViewOnlineText> + <TopicNotFoundDownloadContentText> 태그 지정
<TOPIC_NOT_FOUND_SECTION_ADD /> Branding.xml, <TopicNotFoundText> 태그 지정
contentnotinstalled.htm 제품에 대한 로컬 콘텐츠가 설치되지 않은 경우
<META_CONTENT_NOT_INSTALLED_TITLE_ADD /> Branding.xml, <ContentNotInstalledTitle> 태그 지정
<META_CONTENT_NOT_INSTALLED_ID_ADD /> Branding.xml, <ContentNotInstalledDownloadContentText> 태그 지정
<CONTENT_NOT_INSTALLED_SECTION_ADD /> Branding.xml, <ContentNotInstalledText> 태그 지정

CSS 파일

Visual Studio 도움말 뷰어 브랜딩 패키지에는 일관된 Visual Studio 도움말 콘텐츠 프레젠테이션을 지원하는 두 개의 css 파일이 포함되어 있습니다.

  • Branding.css - SelfBranded=false인 렌더링을 위한 css 요소 포함

  • Printer.css - SelfBranded=false인 렌더링을 위한 css 요소 포함

Branding.css 파일에는 Visual Studio 토픽 프레젠테이션에 대한 정의가 포함되어 있습니다(주의할 점은 패키지 서비스의 Branding_<locale.mshc>에 포함된 branding.css가 변경될 수 있음).

그래픽 파일

Visual Studio 콘텐츠는 Visual Studio 로고와 기타 그래픽을 표시합니다. Visual Studio 도움말 뷰어 브랜딩 패키지의 전체 그래픽 파일 목록은 다음과 같습니다.

파일 사용 예제
clear.gif 축소 가능 영역을 렌더링하는 데 사용됨
footer_slice.gif 바닥글 프레젠테이션
info_icon.gif 정보를 표시할 때 사용됨 부인
online_icon.gif 이 아이콘은 온라인 링크와 연결되어야 합니다.
tabLeftBD.gif 코드 조각 컨테이너를 렌더링하는 데 사용됨
tabRightBD.gif 코드 조각 컨테이너를 렌더링하는 데 사용됨
vs_logo_bk.gif Branding.xml 태그 <LogoFileName>에 정의된 일반 대비 로고 참조에 사용됩니다. Visual Studio 제품의 경우 로고 이름은 vs_logo_bk.gif입니다.
vs_logo_wh.gif Branding.xml 태그 <LogoFileNameHC>에 정의된 고대비 로고 참조에 사용됩니다. Visual Studio 제품의 경우 로고 이름은 vs_logo_wh.gif입니다.
ccOff.png 캡션 그래픽
ccOn.png 캡션 그래픽
ImageSprite.png 축소 가능 영역을 렌더링하는 데 사용됨 그래픽 확장 또는 축소

항목 세트 배포

이는 MSHA 파일과 토픽이 포함된 cabs 또는 MSHC 세트로 구성된 도움말 뷰어 콘텐츠 배포 집합을 만들기 위한 간단하고 빠른 자습서입니다. MSHA는 cabs 또는 MSHC 파일 세트를 설명하는 XML 파일입니다. 도움말 뷰어는 MSHA를 읽어 로컬 설치에 사용할 수 있는 콘텐츠 목록(.CAB 또는 . MSHC 파일)을 가져올 수 있습니다.

도움말 뷰어 MSHA에 대한 매우 기본적인 XML 스키마를 설명하는 입문서일 뿐입니다. 이 간략한 개요 및 샘플 HelpContentSetup.msha 아래에 예제 구현이 있습니다.

이 입문서의 목적을 위해 MSHA의 이름은 HelpContentSetup.msha입니다(파일 이름은 .MSHA 확장명을 사용하여 무엇이든 될 수 있음.). HelpContentSetup.msha(아래 예제)에는 사용 가능한 cabs 또는 MSHC 목록이 포함되어야 합니다. 파일 형식은 MSHA 내에서 일관되어야 합니다(MSHA 및 CAB 파일 형식의 조합은 지원하지 않음). 각 CAB 또는 MSHC에 대해 <div class="package">...</div>가 있어야 합니다(아래 예제 참조).

참고: 아래 구현 예제에서는 브랜딩 패키지를 포함했습니다. 이는 필요한 Visual Studio 콘텐츠 렌더링 요소 및 콘텐츠 동작을 가져오기 위해 포함해야 합니다.

샘플 HelpContentSetup.msha 파일: ("콘텐츠 집합 이름 1" 및 "콘텐츠 집합 이름 2" 등을 파일 이름으로 바꿉니다.)

<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. "C:\SampleContent"와 같은 로컬 폴더 만들기

  2. 이 예제에서는 MSHC 파일을 사용하여 토픽을 포함합니다. MSHC는 파일 확장자가 .zip에서 .MSHC로 변경된 zip입니다.

  3. 아래 HelpContentSetup.msha를 텍스트 파일(메모장을 사용하여 파일을 만드는 데 사용됨)로 만들고 위에서 언급한 폴더에 저장합니다(1단계 참조).

클래스 "브랜딩"이 있으며 고유합니다. 브랜딩 mshc는 설치된 콘텐츠에 브랜딩을 포함할 수 있도록 이 입문서에 포함되며, MSHC에 포함된 콘텐츠 동작에는 브랜딩 패키지에 포함된 적절한 지원 요소가 포함됩니다. 이렇게 하지 않으면 시스템에서 복사된(설치됨) 콘텐츠의 일부가 아닌 지원 항목을 찾을 때 오류가 발생합니다.

Visual Studio 브랜딩 패키지를 가져오려면 C:\Program Files (x86)\Microsoft Help Viewer\v2.3\에서 Branding_en-US.mshc 파일을 작업 폴더에 복사합니다.

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

요약

위의 단계를 사용하고 확장하면 VSP에서 Visual Studio 도움말 뷰어에 대한 콘텐츠 집합을 배포할 수 있습니다.

Visual Studio Shell에 도움말 추가(통합 및 격리)

소개

이 연습에서는 도움말 콘텐츠를 Visual Studio Shell 애플리케이션에 통합한 다음, 배포하는 방법을 보여 줍니다.

요구 사항

  1. Visual Studio 2013

  2. Visual Studio 2013 Isolated Shell Redist

개요

Visual Studio 2013 Shell은 애플리케이션을 기반으로 할 수 있는 Visual Studio 2013 IDE의 버전입니다. 이러한 애플리케이션에는 사용자가 만든 확장과 함께 격리된 셸이 포함됩니다. Visual Studio 2013 SDK에 포함된 격리된 셸 프로젝트 템플릿을 사용하여 확장을 빌드합니다.

격리된 셸 기반 애플리케이션 및 해당 도움말을 만들기 위한 기본 단계는 다음과 같습니다.

  1. Visual Studio 2013 ISO Shell 재배포 가능 패키지(Microsoft 다운로드)를 가져옵니다.

  2. Visual Studio에서 격리된 셸을 기반으로 하는 도움말 확장(예: 이 연습의 뒷부분에서 설명하는 Contoso 도움말 확장)을 만듭니다.

  3. 확장 및 ISO Shell 재배포 가능 파일을 배포 MSI(애플리케이션 설정)로 래핑합니다. 이 연습에는 설정 단계가 포함되지 않습니다.

Visual Studio 콘텐츠 저장소를 만듭니다. 통합 셸 시나리오의 경우 다음과 같이 Visual Studio12를 제품 카탈로그 이름으로 변경합니다.

  • C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15 폴더를 만듭니다.

  • CatalogType.xml이라는 파일을 만들어 폴더에 추가합니다. 파일에는 다음 코드 줄이 포함되어 있어야 합니다.

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

레지스트리에서 콘텐츠 저장소를 정의합니다. 통합 셸의 경우 VisualStudio15를 제품 카탈로그 이름으로 변경합니다.

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

    키: LocationPath 문자열 값: C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15\

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

    키: CatalogName 문자열 값: Visual Studio 2013 설명서

프로젝트 만들기

격리된 셸 확장을 만들려면 다음을 수행합니다.

  1. Visual Studio의 파일에서 새 프로젝트를 선택하고 다른 프로젝트 형식에서 확장성을 선택한 다음, Visual Studio Shell 격리를 선택합니다. 프로젝트 이름을 ContosoHelpShell로 지정하여 Visual Studio 격리 셸 템플릿을 기반으로 확장성 프로젝트를 만듭니다.

  2. 솔루션 탐색기의 ContosoHelpShellUI 프로젝트에 있는 Resource Files 폴더에서 ApplicationCommands.vsct를 엽니다. <!-- <define name="No_HelpMenuCommands"/> --> 줄이 주석 처리되었는지 확인합니다("No_Help" 검색).

  3. F5 키를 선택하여 디버그를 컴파일하고 실행합니다. 격리된 셸 IDE의 실험적 인스턴스에서 도움말 메뉴를 선택합니다. 도움말 보기, 도움말 콘텐츠 추가 및 제거, 도움말 기본 설정 지정 명령이 표시되는지 확인합니다.

  4. 솔루션 탐색기의 ContosHelpShell 프로젝트에 있는 Shell Customization 폴더에서 ContosoHelpShell.pkgdef를 엽니다. Contoso 도움말 카탈로그를 정의하려면 다음 줄을 추가합니다.

     [$RootKey$\Help]
    "Product"="Contoso"
    "Catalog"="Contoso"
    "Version"="100"
    "BrandingPackage"="ContosoBrandingPackage.mshc"
    
  5. 솔루션 탐색기의 ContosHelpShell 프로젝트에 있는 Shell Customization 폴더에서 ContosoHelpShell.Application.pkgdef를 엽니다. F1 도움말을 사용하도록 설정하려면 다음 줄을 추가합니다.

    // 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. 솔루션 탐색기의 ContosoHelpShell 솔루션 바로 가기 메뉴에서 속성 메뉴 항목을 선택합니다. 구성 속성에서 Configuration Manager를 선택합니다. 구성 열에서 모든 "디버그" 값을 "Release"로 변경합니다.

  7. 솔루션을 빌드합니다. 그러면 다음 섹션에서 사용할 릴리스 폴더에 파일 세트가 생성됩니다.

배포된 것처럼 테스트하려면 다음을 수행합니다.

  1. Contoso를 배포하는 컴퓨터에 위에서 다운로드한 ISO Shell을 설치합니다.

  2. \\Program Files(x86)\에 폴더를 만들고 이름을 Contoso로 지정합니다.

  3. ContosoHelpShell 릴리스 폴더의 내용을 \\Program Files(x86)\Contoso\ 폴더로 복사합니다.

  4. 시작 메뉴에서 실행을 선택하고 Regedit를 입력하여 레지스트리 편집기를 시작합니다. 레지스트리 편집기에서 파일을 선택한 다음, 가져오기를 선택합니다. ContosoHelpShell 프로젝트 폴더로 이동합니다. ContosoHelpShell 하위 폴더에서 ContosoHelpShell.reg를 선택합니다.

  5. 콘텐츠 저장소를 만듭니다.

    ISO Shell의 경우 - Contoso 콘텐츠 저장소 C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\ContosoDev12 만들기

    Visual Studio 2013 통합 셸의 경우 C:\ProgramData\Microsoft\HelpLibrary2\Catalogs\VisualStudio15 폴더 만들기

  6. CatalogType.xml을 만들고 다음을 포함하는 콘텐츠 저장소(이전 단계)에 추가합니다.

    <?xml version="1.0" encoding="UTF-8"?>
    <catalogType>UserManaged</catalogType>
    
  7. 다음 레지스트리 키를 추가합니다.

    HKLM\SOFTWARE\Wow6432Node\Microsoft\Help\v2.3\Catalogs\VisualStudio15Key: LocationPath 문자열 값:

    ISO Shell의 경우:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15

    Visual Studio 2013 통합 셸:

    C:ProgramDataMicrosoftHelpLibrary2CatalogsVisualStudio15en-US

    키: CatalogName 문자열 값: Visual Studio 2013 설명서. ISO Shell의 경우 카탈로그의 이름입니다.

  8. 콘텐츠(cabs 또는 MSHC 및 MSHA)를 로컬 폴더에 복사합니다.

  9. 콘텐츠 저장소를 테스트하기 위한 통합 셸 명령줄 예제입니다. ISO Shell의 경우 카탈로그 및 launchingApp 값을 제품에 맞게 적절하게 변경합니다.

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

  10. Contoso 앱 루트에서 Contoso 애플리케이션을 시작합니다. ISO Shell 내에서 도움말 메뉴 항목을 선택하고 도움말 기본 설정 지정로컬 도움말 사용으로 변경합니다.

  11. 셸 내에서 도움말 메뉴 항목을 선택한 다음, 도움말 보기를 선택합니다. 로컬 도움말 뷰어가 시작됩니다. 콘텐츠 관리 탭을 선택합니다. 설치 원본에서 디스크 옵션 단추를 선택합니다. ... 단추를 선택하고 Contoso 콘텐츠가 포함된 로컬 폴더로 이동합니다(위의 단계에서 로컬 폴더에 복사됨). HelpContentSetup.msha를 선택합니다. 이제 Contoso는 책 선택 영역에 책으로 표시됩니다. 추가를 선택한 다음, 업데이트 단추(오른쪽 아래 모서리)를 선택합니다.

  12. Contoso IDE 내에서 F1 키를 선택하여 F1 기능을 테스트합니다.

추가 리소스

런타임 API의 경우 Windows 도움말 API를 참조하세요.

도움말 API를 활용하는 방법에 대한 자세한 내용은 도움말 뷰어 코드 예제를 참조하세요.

Developer Community에서 기능 제안을 제출할 수 있습니다.