연습: Visual Studio에서 코드 조각 만들기

코드 조각은 애플리케이션에 삽입되도록 미리 작성된 코드 부분입니다. 코드 조각을 사용하면 반복 코드를 입력하거나 샘플 검색에 드는 시간을 줄여 생산성과 안정성을 높일 수 있습니다.

사용자 고유의 코드 조각을 만들어 Visual Studio에 이미 포함되어 있는 코드 조각에 추가할 수 있습니다. 이 문서에서는 몇 단계만에 코드 조각을 만드는 방법을 안내합니다. XML 파일을 만들고, 적절한 요소를 입력하고, 파일에 코드를 추가합니다. 대체 매개 변수와 프로젝트 참조를 선택적으로 사용할 수 있습니다. 그런 다음, 코드 조각을 Visual Studio 설치로 가져옵니다.

코드 조각 만들기

  1. Visual Studio를 열고 시작 화면에서 코드 없이 계속을 선택합니다.

    '코드 없이 계속' 옵션이 선택된 시작 창의 스크린샷.

  2. 메뉴 모음에서 파일>새 파일을 선택하거나 Ctrl+N을 입력합니다.

  3. 새 파일 대화 상자에서 XML 파일를 선택한 다음, 열기를 선택합니다.

    'XML 파일' 옵션이 선택된 '새 파일' 대화 상자의 스크린샷.

  4. 다음 기본 코드 조각 템플릿을 코드 편집기에 붙여넣습니다.

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title></Title>
            </Header>
            <Snippet>
                <Code Language="">
                    <![CDATA[]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>
    
  5. 코드 조각 Title 요소에 제곱근 제목을 입력합니다.

  6. Code 요소의 언어 속성에서 C# 코드 조각의 경우 CSharp 또는 Visual Basic의 경우 VB를 입력합니다.

    사용 가능한 언어 값을 모두 보려면 코드 조각 스키마 참조특성을 참조합니다.

  7. CDATA 요소 안의 Code 섹션에서 다음 조각 코드를 추가합니다.

    C#의 경우:

        <![CDATA[double root = Math.Sqrt(16);]]>
    

    Visual Basic:

        <![CDATA[Dim root = Math.Sqrt(16)]]>
    

    참고 항목

    코드 조각의 CDATA 섹션에 있는 코드 줄의 형식 또는 들여쓰기 방법은 지정할 수 없습니다. 삽입 시, 언어 서비스에서 삽입된 코드의 서식을 자동으로 지정합니다.

  8. 조각을 SquareRoot.snippet으로 어디에든 저장합니다.

코드 조각 가져오기

  1. 코드 조각을 Visual Studio 설치로 가져오려면 도구>코드 조각 관리자를 선택하거나 Ctrl+K, B를 누릅니다.

  2. 코드 조각 관리자에서 가져오기 단추를 선택합니다.

  3. 코드 조각의 위치로 이동하여 선택하고 열기를 선택합니다.

  4. 코드 조각 가져오기 대화 상자의 오른쪽 창에서 내 코드 조각 폴더를 선택합니다. 완료를 선택한 다음 확인을 선택합니다.

    코드 조각은 코드 언어에 따라 다음 위치 중 하나에 복사됩니다.

    %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets%USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets

    %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets%USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets

  5. C# 또는 Visual Basic 프로젝트를 열고 코드 조각을 테스트합니다. 편집기에서 코드 파일을 연 상태에서 다음 작업 중 하나를 수행합니다.

    • Visual Studio 메뉴 모음에서 편집>IntelliSense>조각 삽입을 선택합니다.
    • 마우스 오른쪽 단추를 클릭하고 컨텍스트 메뉴에서 코드 조각>코드 조각 삽입을 선택합니다.
    • 키보드에서 Ctrl+K, X를 누릅니다.
  6. 내 코드 조각을 열고 Square Root라는 코드 조각을 두 번 클릭합니다. 코드 조각이 코드 파일에 삽입됩니다.

설명 및 바로 가기 필드

설명 필드는 코드 조각 관리자에서 볼 때 코드 조각에 대한 자세한 정보를 제공합니다. 바로 가기는 코드 조각을 삽입하기 위해 입력할 수 있는 태그입니다.

  1. 코드 조각을 편집하려면 코드 언어에 따라 다음 위치 중 하나에서 코드 조각 파일을 엽니다.

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet

    Visual Studio가 배치된 디렉터리에서 파일을 편집하고 있기 때문에 Visual Studio로 다시 가져올 필요는 없습니다.

  2. Author 요소에 Description, Shortcut, Header 요소를 추가하고 채웁니다.

  3. Header 요소가 다음 예제와 유사하게 표시되는지 확인하고 파일을 저장합니다.

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
        <Shortcut>sqrt</Shortcut>
    </Header>
    
  4. Visual Studio 코드 조각 관리자를 열고 코드 조각을 선택합니다. 오른쪽 창에서 이제 설명, 작성자바로 가기 필드가 채워졌습니다.

    코드 조각 관리자에서 코드 조각 설명

  5. 바로 가기를 테스트하려면 이전에 사용한 프로젝트를 열고 편집기에 sqrt를 입력한 후 Tab을 Visual Basic은 한 번, C#는 두 번 누릅니다. 코드 조각이 삽입됩니다.

대체 매개 변수

코드 조각의 부분을 교체하길 원할 수 있습니다. 예를 들어 사용자가 현재 프로젝트의 이름을 변수 이름으로 교체하길 원한다면

두 가지 유형의 대체(리터럴 및 개체)를 제공할 수 있습니다.

  • Literal 요소는 코드 조각에 완전히 포함되어 있으나 코드에 삽입된 후 사용자 지정될 대체 코드 부분을 식별하는 데 사용됩니다. 예를 들어 문자열 또는 숫자 값입니다.

  • Object 요소는 코드 조각에서 필요하지만 코드 조각의 외부에서 정의될 항목을 식별하는 데 사용됩니다. 예를 들어 개체 인스턴스 또는 컨트롤입니다.

SquareRoot.snippet 파일의 Literal 요소를 사용하면 사용자가 숫자를 쉽게 변경하여 제곱근을 계산할 수 있습니다.

  1. SquareRoot.snippet 파일에서 Snippet 요소를 다음과 같이 수정합니다.

    <Snippet>
      <Code Language="CSharp">
        <![CDATA[double root = Math.Sqrt($Number$);]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>Number</ID>
          <ToolTip>Enter the number you want the square root of.</ToolTip>
          <Default>16</Default>
        </Literal>
      </Declarations>
    </Snippet>
    

    리터럴 대체에는 ID(Number)가 부여됩니다. 다음과 같이 코드 조각에서 해당 ID를 $개 문자로 묶어 참조합니다.

    <![CDATA[double root = Math.Sqrt($Number$);]]>
    
  2. 코드 조각 파일을 저장합니다.

  3. 프로젝트를 열고 코드 조각을 삽입합니다.

    코드 조각이 삽입되고 편집 가능한 리터럴이 대체용으로 강조 표시됩니다. 대체 매개 변수에 마우스를 올려 값에 대한 도구 설명을 확인합니다.

    Visual Studio에서 코드 조각 대체 매개 변수 도구 설명

    코드 조각에서 둘 이상의 대체 가능한 매개 변수가 있는 경우에는 Tab을 눌러 한 매개변수에서 다른 매개변수로 이동하여 값을 변경할 수 있습니다.

네임스페이스 가져오기

Imports 요소를 포함하여 using 지시문(C#) 또는 Imports 문(Visual Basic)을 추가하기 위해 코드 조각을 사용할 수 있습니다. .NET Framework 프로젝트의 경우에는 References 요소를 사용하여 프로젝트에 참조를 추가할 수도 있습니다.

다음 XML은 File.Exists 네임스페이스에서 System.IO 메서드를 사용하여 System.IO 네임스페이스를 가져오도록 Imports 요소를 정의하는 코드 조각을 보여 줍니다.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>File Exists</Title>
      <Shortcut>exists</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
      </Code>
      <Imports>
        <Import>
          <Namespace>System.IO</Namespace>
        </Import>
      </Imports>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>