[C#] 사용자 정의 코드조각 추가하기 (Code Snippet)

|

 코딩을 하면서 자주 사용하는 IF 구문이나 FOR 구문을 사용할때 전체 코드를 다 타이핑 하지 않고

if를 입력후에 TAB을 두번 누르면 해당 IF 구문이 자동적으로 추가가 됩니다. 이런것을 코드조각이라고 합니다.





 이처럼 시스템에 미리 있는 코드조각 말고 사용자가 추가적으로 정의해서 사용이 가능합니다.

아래의 예제는 사용자가 MSSQL DB Connection String을 자동적으로 생성하게 도와줍니다. 또한 코드 조각의 일부를

사용자가 바꾸게 하는 기능도 가능합니다.


1.코드조각에 사용할 XML 파일을 생성해줍니다. 기본틀은 아래와 같습니다.
<?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>

위에서 Title에 해당 코드조각의 이름을 넣어주고 Code에 넣을 코드를 넣으면 됩니다.




 2.사용자 입력이 가능한 DB ConnectionString 코드조각
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
    xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>HongsMSSSQLConnectionString</Title>
    </Header>

    <Snippet>
      <Code Language="csharp">
        <![CDATA[
        string $VariableName$ = "Data Source=$SqlServerIP$;Database=$SqlDataBaseName$;User Id=$LogInID$;Password=$LoginPWD$";
        ]]>

      </Code>
      <Declarations>
        <Literal>
          <ID>VariableName</ID>
          <ToolTip>Replace with a Variable string.</ToolTip>
          <Default>"Variable string Name"</Default>
        </Literal>
        <Literal>
          <ID>SqlDataBaseName</ID>
          <ToolTip>Replace with a Database Name string.</ToolTip>
          <Default>"SQL Database Name string"</Default>
        </Literal>
        <Literal>
          <ID>SqlServerIP</ID>
          <ToolTip>Replace with a SQL Server IP  string.</ToolTip>
          <Default>"SQL SQL Server IP string"</Default>
        </Literal>
        <Literal>
          <ID>LogInID</ID>
          <ToolTip>Replace with a Login ID string.</ToolTip>
          <Default>"SQL Login ID string"</Default>
        </Literal>
        <Literal>
          <ID>LoginPWD</ID>
          <ToolTip>Replace with a Login Password string.</ToolTip>
          <Default>"SQL Login Password string"</Default>
        </Literal>

      </Declarations>

    </Snippet>
  </CodeSnippet>
</CodeSnippets>

위에서  <Declarations> 노드를 추가해서 사용자가 대체할 수 있는 문자나 객체를 선언해주면 된다.

코드 내용에는 대체되는 변수를 $$로 감싸야 한다. Language="csharp"로 설정해야한다.



 3.파일명을 .snippet으로 변경

 4.VisualStudio 에서 도구(Tools)/코드 조각 관리자(Code Snippets Manager)로 이동 

 5.가져오기(import) 클릭 

 6.코드조각 저장 위치로 이동해서 파일선택 후 열기(open)
   -저장하면 아래의 위치로 이동한다. 
    %USERPROFILE%\Documents\Visual Studio 2013\Code Snippets\Visual Basic\내 코드 조각 

7.사용은 .cs 페이지에서 마우스 우클릭 > 코드조각 추가 ( Insert Snippet) > My Code Snippets > 저장한 코드 조각 선택



And