코드 조각을 Visual Studio 확장으로 배포

친구에게 코드 조각을 제공하고 코드 조각 관리자를 사용하여 고유한 컴퓨터에 코드 조각을 설치하면 됩니다. 그러나 배포할 코드 조각이 여러 개이거나 더 광범위하게 배포하려는 경우 Visual Studio 확장에 코드 조각 파일을 포함할 수 있습니다. 그런 다음, Visual Studio 사용자는 확장을 설치하여 코드 조각을 가져올 수 있습니다.

필수 조건

Visual Studio 확장 개발 워크로드를 설치하여 VSIX 프로젝트 프로젝트 템플릿에 액세스합니다.

Visual Studio 확장 개발 워크로드

확장 디렉터리 구조 설정

이 프로시저에서는 다음 연습에서 만들어진 동일한 Hello World 코드 조각을 사용합니다. 연습: 코드 조각 만들기를 참조하세요. 이 문서에서는 코드 조각 XML을 제공하므로, 돌아가서 코드 조각을 만들 필요가 없습니다.

  1. 비우기 VSIX 프로젝트 템플릿에서 새 프로젝트를 생성하고 프로젝트 이름을 으로 지정합니다 TestSnippet.

  2. TestSnippet 프로젝트에서 새 XML 파일을 추가하고 VBCodeSnippet.snippet이라고 합니다(새 파일 확장자는 .snippet). 콘텐츠를 다음 XML로 바꿉니다.

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets
        xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>Hello World VB</Title>
          <Shortcut>HelloWorld</Shortcut>
          <Description>Inserts code</Description>
          <Author>MSIT</Author>
          <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
            <SnippetType>SurroundsWith</SnippetType>
          </SnippetTypes>
        </Header>
        <Snippet>
          <Code Language="VB">
            <![CDATA[Console.WriteLine("Hello, World!")]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    
  3. 솔루션 탐색기에서 프로젝트 노드를 선택하고 코드 조각이 코드 조각 관리자에서 가진 이름을 사용하는 폴더를 추가합니다. 이 경우 폴더는 HelloWorldVB여야 합니다.

  4. .snippet 파일을 HelloWorldVB 폴더로 이동합니다.

  5. 솔루션 탐색기에서 .snippet 파일을 선택하고, 속성 창에서 빌드 작업콘텐츠로 설정되고, 출력 디렉터리에 복사항상 복사로 설정되고, VSIX에 포함true로 설정되었는지 확인합니다.

.pkgdef 파일 추가

  1. HelloWorldVB 폴더에 텍스트 파일을 추가하고 이름을 HelloWorldVB.pkgdef로 지정합니다. 이 파일을 사용하여 특정 키를 레지스트리에 추가합니다. 자세한 내용은 코드 조각에 대한 레지스트리 보기(선택 사항)를 참조하세요.

  2. 파일에 다음 줄을 추가합니다.

    // Visual Basic
    [$RootKey$\Languages\CodeExpansions\Basic\Paths]
    "HelloWorldVB"="$PackageFolder$"
    

    이 키를 검사하는 경우 Visual Basic 이외의 언어를 지정하는 방법을 확인할 수 있습니다.

  3. 솔루션 탐색기에서 .pkgdef 파일을 선택하고 속성 창에서 다음을 확인합니다.

    • 빌드 작업콘텐츠로 설정
    • 출력 디렉터리에 복사항상 복사로 설정
    • VSIX에 포함true로 설정
  4. .pkgdef 파일을 VSIX 매니페스트의 자산으로 추가합니다. source.extension.vsixmanifest 파일에서 자산 탭으로 이동하고 새로 만들기를 클릭합니다.

  5. 새 자산 추가 대화 상자에서 형식Microsoft.VisualStudio.VsPackage로 설정하고, 원본파일 시스템의 파일로 설정하고, 경로HelloWorldVB.pkgdef(드롭다운에 표시되어야 함)로 설정합니다. 확인을 선택하여 이 새 자산을 저장합니다.

코드 조각 등록

  1. 도구>코드 조각 관리자로 이동하고 언어Basic으로 설정합니다.

  2. 추가...를 선택하고 솔루션 디렉터리의 HelloWorldVB 폴더로 이동한 다음 폴더 선택을 선택합니다.

  3. HelloWorldVB는 이제 코드 조각 폴더 중 하나입니다. 이 폴더를 확장하여 HelloWorldVB 코드 조각을 확인합니다. 확인을 선택하여 새로 추가된 이 폴더를 저장합니다.

코드 조각 테스트

이제 코드 조각이 Visual Studio의 실험적 인스턴스에서 작동하는지 확인할 수 있습니다. 실험적 인스턴스는 코드 작성에 사용하는 복사본과 구분되는 Visual Studio의 두 번째 복사본입니다. 이를 사용하여 개발 환경에 영향을 주지 않고 확장 작업을 수행할 수 있습니다.

  1. 프로젝트를 빌드하고 디버깅을 시작합니다.

    두 번째 Visual Studio 인스턴스가 표시됩니다.

  2. 조각을 테스트합니다. 실험적 인스턴스에서 Visual Basic 프로젝트를 열고 코드 파일의 하나를 엽니다. 코드의 임의 위치에 커서를 놓고 마우스 오른쪽 단추를 클릭하고 나서 바로 가기 메뉴에서 코드 조각, 코드 조각 삽입을 차례로 선택합니다.

  3. HelloWorldVB 폴더를 두 번 클릭합니다. 드롭다운 HelloWorldVB가 포함된 코드 조각 삽입: HelloWorldVB > 팝업이 표시되어야 합니다. HelloWorldVB 드롭다운을 두 번 클릭합니다.

    다음 줄이 코드 파일에 추가됩니다.

    Console.WriteLine("Hello, World!")
    

코드 조각에 대한 레지스트리 보기(선택 사항)

.pkgdef 파일을 사용하여 특정 키를 레지스트리에 추가합니다. 코드 조각을 등록한 후 프라이빗 레지스트리 하이브에서 레지스트리 키를 확인해야 하는 경우 다음 하위 키에서 해당 키를 찾을 수 있습니다.

Visual Studio 2022: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\17.0_configID\Languages\CodeExpansions\Basic\Paths

Visual Studio 2019: HKEY_USERS\IsolatedHiveName\Software\Microsoft\VisualStudio\16.0_configID\Languages\CodeExpansions\Basic\Paths

이 위치의 레지스트리 키를 보려면 먼저 Visual Studio를 닫고 레지스트리 편집기를 연 다음 프라이빗 레지스트리 하이브를 HKEY_USERS에 로드합니다.

Important

레지스트리를 확인하는 경우에는 Visual Studio를 시작하기 전에 프라이빗 레지스트리 하이브를 언로드해야 합니다.

예를 들어 레지스트리 키는 여기에 다음과 같이 표시될 수 있습니다.

코드 조각에 대한 레지스트리 키 스크린샷