공부하는 안경딸기

[C#] Visual Studio 스니펫(코드 조각) 만들기 본문

프로그래밍언어/C#

[C#] Visual Studio 스니펫(코드 조각) 만들기

안경딸기 2024. 5. 5. 22:05

 
Visual Studio에는 Ctrl + K, S를 누르면 코드를 자동으로 슉슉 만들어주는 끝내주는 기능이 있다.
업무를 할때 내가 수정한 부분에 대해 묶고 싶으면 #region이라는 태그를 자주 사용했었는데 이게 스니펫(코드 조각)이라는 기능이었다.
 

코드 조각 기본 틀 만들기

메모장이나 notepad++ 또는 그냥 코드 적을 수 있는 아무거나 열고 아래 내용을 복사 붙여넣기 한다.
코드 조각을 만들때 기본적으로 사용되는 틀이다.

<?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></Title>
코드 조각을 선택할 때 볼 수 있는 타이틀
내가 만들 코드 조각에 대한 큰(?) 설명이라고 생각하면 된다.
 
<Code Language="">
코드 조각이 사용될 언어
C#에서 사용할거기 때문에 CSharp을 입력해 주면 된다.
 
<![CDATA[]]>
코드 조각 내용을 입력할 수 있는 부분
[ ] 안에 원하는 내용을 입력하면 된다.
 

대체 매개 변수 입력

코드 조각을 입력할 때 특정 부분은 따로 입력하고 싶을 수 있다.
예를 들어서 변수명을 쭉 입력하는 코드 조각을 만들었다고 하면...
변수명의 경우에는 코드 조각을 사용할 때마다 다르게 하고 싶을 수 있다.
 
필자의 경우 namespace, class명을 코드 조각을 사용할 때 마다 입력받기 위해서 아래와 같이 구현하였다.

			<Code Language="CSharp">
				<![CDATA[using static System.Console;

namespace $namespace$
{
    class $classname$
    {
        static void Main(string[] args)
        {
            WriteLine();
          
    }
}
}
]]>
			</Code>
			<Declarations>
				<Literal>
					<ID>classname</ID>
					<ToolTip>Enter the ClassName you want</ToolTip>
					<Default>ClassName</Default>
				</Literal>
				<Literal>
					<ID>namespace</ID>
					<ToolTip>Enter the namespace you want</ToolTip>
					<Default>NameSpace</Default>
				</Literal>
			</Declarations>

 
코드 설명을 해보자면

 
</ID> </ ID>
변수를 만든다고 생각하면 빠르다.
변수를 사용할 때는 $를 앞 뒤로 붙여서 사용한다.
 
<Default></ Default>
기본적으로 코드 조각을 입력하면 나오는 내용이다.
 
코드 작성을 완료했다면 .snippet 을 확장자로 해서 본인이 원하는 위치에 저장해 준다.
 

코드 전체 예시

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
	<CodeSnippet Format="1.0.0">
		<Header>
			<Title>main</Title>
			<Author>작성자명</Author>
			<Description>Main</Description>
			<Shortcut>main</Shortcut>
		</Header>
		<Snippet>
			<Code Language="CSharp">
				<![CDATA[using static System.Console;

namespace $namespace$
{
    class $classname$
    {
        static void Main(string[] args)
        {
            WriteLine();
          
    }
}
}
]]>
			</Code>
			<Declarations>
				<Literal>
					<ID>classname</ID>
					<ToolTip>Enter the ClassName you want</ToolTip>
					<Default>ClassName</Default>
				</Literal>
				<Literal>
					<ID>namespace</ID>
					<ToolTip>Enter the namespace you want</ToolTip>
					<Default>NameSpace</Default>
				</Literal>
			</Declarations>
		</Snippet>
	</CodeSnippet>
</CodeSnippets>

 

코드 조각 사용 방법

코드 조각을 만들었다면 이를 Visual Studio 안에서 사용할 수 있도록 설정해줘야 한다.
1. 도구 > 코드 조각 관리자 선택

 
2. 원하는 폴더를 생성하거나 기존에 있는 폴더를 선택 후 가져오기 버튼 클릭

 
3. 코드 안에서 본인이 원하는 위치에서 Ctrl+K, S를 누르면 본인이 작성한 내용을 찾아서 사용할 수 있다.

 
참고 페이지
https://learn.microsoft.com/ko-kr/visualstudio/ide/walkthrough-creating-a-code-snippet?view=vs-2022

Visual Studio에서 코드 조각 만들기 - Visual Studio (Windows)

코드 조각을 만들고, 대체 매개 변수 및 프로젝트 참조를 사용하고, 코드 조각을 Visual Studio로 가져오는 방법을 알아봅니다.

learn.microsoft.com

 

'프로그래밍언어 > C#' 카테고리의 다른 글

[C#] 문자열 string 관련  (0) 2024.05.05
Comments