연습: 코드 조각 만들기Walkthrough: Create a code snippet

몇 가지 단계로 코드 조각을 만들 수 있습니다.You can create a code snippet with only a few steps. XML 파일을 만들고, 적절한 요소를 입력하고, 코드를 추가하기만 하면 됩니다.All you need to do is create an XML file, fill in the appropriate elements, and add your code to it. 대체 매개 변수와 프로젝트 참조를 선택적으로 활용할 수 있습니다.You can optionally make use of replacement parameters and project references. 코드 조각 관리자(도구 > 코드 조각 관리자)에서 가져오기 단추를 사용하여 Visual Studio 설치에 코드 조각을 가져옵니다.Import the snippet to your Visual Studio installation by using the Import button in the Code Snippets Manager (Tools > Code Snippets Manager).

코드 조각 템플릿Snippet template

다음 XML은 기본 코드 조각 템플릿입니다.The following XML is the basic snippet template:

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

코드 조각 만들기Create a code snippet

  1. Visual Studio에서 새 XML 파일을 만들고 위에 표시된 템플릿을 추가합니다.Create a new XML file in Visual Studio and add the template shown above.

  2. Title 요소에 코드 조각의 제목을 입력합니다.Fill in the title of the snippet in the Title element. 제목 제곱근을 사용합니다.Use the title Square Root.

  3. Code 요소의 Language 특성에 코드 조각의 언어를 입력합니다.Fill in the language of the snippet in the Language attribute of the Code element. C#의 경우 CSharp를 사용하고 Visual Basic의 경우 VB를 사용합니다.For C#, use CSharp, and for Visual Basic, use VB.

    Tip

    사용 가능한 언어 값을 모두 보려면 코드 조각 스키마 참조 페이지에서 코드 요소 특성 섹션으로 이동합니다.To see all the available language values, browse the Code element attributes section on the Code snippets schema reference page.

  4. Code 요소 안의 CDATA 섹션에서 조각 코드를 추가합니다.Add the snippet code in the CDATA section inside the Code element.

    C#의 경우:For C#:

    <Code Language="CSharp">
        <![CDATA[double root = Math.Sqrt(16);]]>
    </Code>
    

    또는 Visual Basic의 경우Or for Visual Basic:

    <Code Language="VB">
        <![CDATA[Dim root = Math.Sqrt(16)]]>
    </Code>
    

    Note

    코드 조각의 CDATA 섹션에 있는 코드 줄의 들여쓰기 또는 서식은 지정할 수 없습니다.You can't specify how lines of code in the CDATA section of a code snippet should be indented or formatted. 삽입 시, 언어 서비스에서 삽입된 코드의 서식을 자동으로 지정합니다.Upon insertion, the language service formats the inserted code automatically.

  5. 조각을 SquareRoot.snippet으로 저장합니다(어디에서나 저장할 수 있음).Save the snippet as SquareRoot.snippet (you can save it anywhere).

코드 조각 가져오기Import a code snippet

  1. 코드 조각 관리자를 사용하여 Visual Studio 설치에 조각을 가져올 수 있습니다.You can import a snippet to your Visual Studio installation by using the Code Snippets Manager. 도구 > 코드 조각 관리자를 선택하여 엽니다.Open it by choosing Tools > Code Snippets Manager.

  2. 내보내기 단추를 클릭합니다.Click the Import button.

  3. 이전 절차에서 코드 조각을 저장한 위치로 이동하고, 선택하고, 열기를 클릭합니다.Go to the location where you saved the code snippet in the previous procedure, select it, and click Open.

  4. 오른쪽 창의 선택 항목 중에서 코드 조각을 추가할 위치를 선택하라고 묻는 코드 조각 가져오기 대화 상자가 열립니다.The Import Code Snippet dialog opens, asking you to choose where to add the snippet from the choices in the right pane. 선택 사항 중 하나는 내 코드 조각이어야 합니다.One of the choices should be My Code Snippets. 마침, 확인을 차례로 선택하고 클릭합니다.Select it and click Finish, then OK.

  5. 코드 조각은 코드 언어에 따라 다음 위치 중 하나에 복사됩니다.The snippet is copied to one of the following locations, depending on the code language:

    %USERPROFILE%\Documents\Visual Studio 2017\Code Snippets\Visual C#\My Code Snippets %USERPROFILE%\Documents\Visual Studio 2017\Code Snippets\Visual Basic\My Code Snippets%USERPROFILE%\Documents\Visual Studio 2017\Code Snippets\Visual C#\My Code Snippets %USERPROFILE%\Documents\Visual Studio 2017\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%USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets

  6. C# 또는 Visual Basic 프로젝트를 열고 코드 조각을 테스트합니다.Test your snippet by opening a C# or Visual Basic project. 편집기에서 코드 파일을 열어둔 상태로 오른쪽 클릭 메뉴에서 코드 조각 > 코드 조각 삽입을 선택한 다음, 내 코드 조각을 선택합니다.With a code file open in the editor, choose Snippets > Insert Snippet from the right-click menu, then My Code Snippets. 제곱근이라고 하는 코드 조각이 보여야 합니다.You should see a snippet named Square Root. 폴더를 두 번 클릭합니다.Double-click it.

    코드 조각이 코드 파일에 삽입됩니다.The snippet code is inserted in the code file.

설명 및 바로 가기 필드Description and shortcut fields

  1. 설명 필드는 코드 조각 관리자에서 볼 때 코드 조각에 대한 자세한 정보를 제공합니다.Description fields give more information about your code snippet when viewed in the Code Snippets Manager. 바로 가기는 코드 조각을 삽입하기 위해 사용자가 입력할 수 있는 태그입니다.The shortcut is a tag that users can type in order to insert your snippet. 파일 %USERPROFILE%\Documents\Visual Studio 2017\Code Snippets\[Visual C# or Visual Basic]\My Code Snippet\SquareRoot.snippet을 열어 추가한 코드 조각을 편집합니다.Edit the snippet you have added by opening the file %USERPROFILE%\Documents\Visual Studio 2017\Code Snippets\[Visual C# or Visual Basic]\My Code Snippet\SquareRoot.snippet.
  1. 설명 필드는 코드 조각 관리자에서 볼 때 코드 조각에 대한 자세한 정보를 제공합니다.Description fields give more information about your code snippet when viewed in the Code Snippets Manager. 바로 가기는 코드 조각을 삽입하기 위해 사용자가 입력할 수 있는 태그입니다.The shortcut is a tag that users can type in order to insert your snippet. 파일 %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\[Visual C# or Visual Basic]\My Code Snippet\SquareRoot.snippet을 열어 추가한 코드 조각을 편집합니다.Edit the snippet you have added by opening the file %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\[Visual C# or Visual Basic]\My Code Snippet\SquareRoot.snippet.

Tip

Visual Studio가 배치된 디렉터리에서 파일을 편집하고 있으므로 Visual Studio로 다시 가져올 필요는 없습니다.Since you're editing the file in the directory where Visual Studio placed it, you don't need to reimport it to Visual Studio.

  1. Header 요소에 AuthorDescription 요소를 추가하고 채웁니다.Add Author and Description elements to the Header element, and fill them in.

  2. Header 요소는 다음과 비슷합니다.The Header element should look something like this:

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
    </Header>
    
  3. 코드 조각 관리자를 열고 코드 조각을 선택합니다.Open the Code Snippets Manager and select your code snippet. 오른쪽 창에서 이제 DescriptionAuthor 필드가 채워졌습니다.In the right pane, notice that the Description and Author fields are now populated.

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

  4. 바로 가기를 추가하려면 헤더 요소 내에서 바로 가기 요소를 추가합니다.To add a shortcut, add a Shortcut element within the Header element:

    <Header>
       <Title>Square Root</Title>
       <Author>Myself</Author>
       <Description>Calculates the square root of 16.</Description>
       <Shortcut>sqrt</Shortcut>
     </Header>
    
  5. 코드 조각 파일을 다시 저장합니다.Save the snippet file again.

  6. 바로 가기를 테스트하려면 이전에 사용한 프로젝트를 열고 편집기에 sqrt를 입력한 후 Tab을 누릅니다(Visual Basic은 한 번, C#는 두 번).To test the shortcut, open the project you used previously, type sqrt in the editor and press Tab (once for Visual Basic, twice for C#).

    코드 조각이 삽입됩니다.The snippet code is inserted.

대체 매개 변수Replacement parameters

사용자가 코드 조각의 부분을 교체하길 원할 수 있습니다.You may want parts of a code snippet to be replaced by the user. 예를 들어 사용자가 현재 프로젝트의 이름을 변수 이름으로 교체하길 원한다면For example, you might want the user to replace a variable name with one in their current project. 두 가지 유형의 대체(리터럴 및 개체)를 제공할 수 있습니다.You can provide two types of replacements: literals and objects. Literal 요소는 코드 조각에 완전히 포함되어 있으나 코드에 삽입된 후 사용자 지정될 코드 조각의 대체를 식별하는 데 사용됩니다(예: 문자열 또는 숫자값).Use the Literal element to identify a replacement for a piece of code that is entirely contained within the snippet but will likely be customized after it's inserted into the code (for example, a string or numeric value). Object 요소는 코드 조각에서 필요하지만 코드 조각 자체의 외부에서 정의될 항목을 식별하는 데 사용됩니다(예: 개체 인스턴스 또는 컨트롤).Use the Object element to identify an item that's required by the code snippet but is likely to be defined outside of the snippet itself (for example, an object instance or a control).

  1. 사용자가 제곱근을 계산할 숫자를 쉽게 대체할 수 있게 하려면 SquareRoot.snippet 파일의 Snippet 요소를 다음과 같이 수정하세요.To enable the user to easily replace the number to calculate the square root of, modify the Snippet element of the SquareRoot.snippet file as follows:

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

    리터럴 대체에는 ID(Number)가 부여됩니다.Notice that the literal replacement is given an ID (Number). 이 ID는 $개 문자로 둘러싸서 코드 조각 내에서 참조됩니다.That ID is referenced from within the code snippet by surrounding it with $ characters:

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

  3. 프로젝트를 열고 코드 조각을 삽입합니다.Open a project and insert the snippet.

    코드 조각이 삽입되고 편집 가능한 리터럴이 대체용으로 강조 표시됩니다.The code snippet is inserted and the editable literal is highlighted for replacement. 대체 매개 변수에 마우스를 올려 값에 대한 도구 설명을 확인합니다.Hover over the replacement parameter to see the tooltip for the value.

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

    Tip

    코드 조각에서 둘 이상의 대체 가능한 매개 변수가 있는 경우에는 Tab을 눌러 이동하여 값을 변경할 수 있습니다.If there's more than one replacable parameter in a snippet, you can press Tab to navigate from one to the other to change the values.

네임스페이스 가져오기Import a namespace

Imports 요소를 포함하여 using 지시문(C#) 또는 Imports 문(Visual Basic)을 추가하기 위해 코드 조각을 사용할 수 있습니다.You can use a code snippet to add a using directive (C#) or Imports statement (Visual Basic) by including the Imports element. .NET Framework 프로젝트의 경우에는 References 요소를 사용하여 프로젝트에 참조를 추가할 수도 있습니다.For .NET Framework projects, you can also add a reference to the project by using the References element.

다음 XML은 System.IO 네임스페이스에서 메서드 File.Exists를 사용하고 따라서 System.IO 네임스페이스를 가져오도록 Imports 요소를 정의하는 코드 조각을 보여 줍니다.The following XML shows a code snippet that uses the method File.Exists in the System.IO namespace and, therefore, defines the Imports element to import the System.IO namespace.

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

참고 항목See also