login register Sysop! about ME  
qrcode
    최초 작성일 :    2006년 11월 20일
  최종 수정일 :    2006년 11월 29일
  작성자 :    redplus
  편집자 :    Taeyo (김 태영)
  읽음수 :    34,323

강좌 목록으로 돌아가기

필자의 잡담~

이번 강좌는 태오 사이트의 멤버이자, Microsoft MVP인 박 용준님이 제공하는 코드 조각 관련 이야기입니다. 알아두면 상당히 유용한 내용이니 많은 관심 부탁드려 보아염 (박수) 짝짝짝

1. Visual Studio 2005의 코드 조각 기능을 사용한 코드 생산성 향상

ASP.NET 2.0 환경으로 넘어오면서 Visual Studio 2005 또는 Visual Web Developer 2005 Express를 사용하여 웹 응용 프로그램을 개발할 때 이전 버전에 비해서 상당히 좋은 기능을 제공하며 그 기능으로 인해서, 필자는 Visual Studio를 사용하지 않고서는 "닷넷 개발은 할 수 없다"라는 단정을 지을 정도로 Visual Studio가 가지는 도구의 매력에 빠져 헤어나오지 못하고 있습니다. 물론, Visual Studio가 나오기 전에는 EditPlus를 최고로 생각했습니다.

이번 강좌에서 여러분들에게 소개하고자 하는 내용은 Visual Studio 2005의 코드 조각(Code Snippets) 기능입니다.

현재 Visual Studio 2005를 사용하고 계신 독자라면 이미 코드 조각의 기능을 경험해 보셨을 듯 합니다만, 자주 사용하는 코드 조각 기능을 정리하고 우리만의 사용자 정의 코드 조각을 만들어 보는 방식으로 강좌를 진행해 볼까 합니다.


2. 이미 만들어져 있는 코드 조각 사용하기

Visual Studio 2005의 C#에 정의된 코드 조각은 상당히 많이 있습니다. 그렇다면 이러한 코드 조각을 사용해 보는 예제를 만들어 보도록 하겠습니다.

2.1. 새 웹 사이트 만들기

필자는 아래 그림과 같이 C:\ASPNET2\WebCodeSnippets로 웹 사이트를 생성하였습니다. 언어는 C#을 사용하도록 하겠습니다.



2.2. 클래스 추가하기

만들어진 웹 사이트에 마우스 오른쪽 버튼을 눌러 [새 항목 추가]를 눌러 아래 그림과 같이 Car.cs로 클래스를 추가합니다. 기본적으로 만들어지는 Default.aspx는 그대로 둡니다.



2.3. 자동차(Car) 클래스 구성하기

자동차의 주요 속성 및 기능을 흉내내는 Car 클래스를 구성해 보도록 하겠습니다. 먼저, Car.cs 파일에 있는 모든 코드를 삭제한 후 새롭게 작성하도록 하겠습니다.

Car.cs 파일에 먼저 네임스페이스 선언부를 기록합니다.

using System;

그리고 나서 Car 클래스를 구성하도록 하겠습니다.

코드에서 class를 입력하면 아래와 같이 코드 조각에 대한 인텔리센스(Intellisense)에 의해서 현재 코드와 관련된 키워드 및 코드 조각 목록이 나열됩니다.


 
class를 입력해 놓고 탭->탭, 즉 탭(Tab) 키를 두 번 누르거나 코드 조각 목록을 클릭하면 class 코드 블록이 아래와 같이 자동으로 생성됩니다. MyClass란 이름의 코드가 블록으로 쌓이고 원하는 이름으로 타이핑을 하면 해당 코드가 블록에 입력됩니다. Car라고 입력해 보겠습니다. 여기서 전체를 타이핑하는 것보다는 class만 타이핑하고 탭키를 눌러 클래스 코드 블록을 만드는 게 훨씬 편하다는 느낌을 받으셨는지요?

 

2.4. Color 속성 만들기

자동차(Car)의 색상을 나타내는 Color 속성(Property)을 만들어 보도록 하겠습니다. 일반적으로 속성을 제작할 때에는 private한 필드에 public한 속성으로 표현됩니다. 그러다 보니 필드와 속성을 둘 다 타이핑해야 합니다. 그러한 시간을 아껴주는 코드 조각은 prop입니다. Car 클래스 내에서 prop를 입력하고 탭을 두 번 클릭합니다.



위 그림과 같이 필드 하나와 속성 하나가 자동으로 구성됩니다. 블록이 3군데 잡혀져 있는 것을 확인할 수 있고 탭 키를 누를때마다 3군데의 블록으로 이동하는 것을 확인할 수 있습니다. 탭 키를 눌러가며 아래와 같이 코드를 구성합니다.



역시 긴 속성(Property)에 대한 코드를 간단히 prop와 탭 키의 조합으로 신속히 작성 가능합니다.

2.5. Color 값을 초기화 시켜주는 생성자(Constructor) 만들기

이번에는 주로 필드를 초기화 시켜주는 역할을 하는 생성자(Constructor)를 만들어 보도록 하겠습니다.

Car 클래스의 코드 내에서 생성자에 대한 코드 조각인 ctor을 입력 후 탭키를 눌러 생성자 코드를 입력합니다.



_Color 필드를 "Red"로 초기화 하겠습니다.

2.6. 소멸자(Destructor) 만들기

별로 필요없을 듯한 코드 블록인 소멸자를 ~(틸드) 기호를 입력 후 탭 키를 눌러 Car 클래스에 추가합니다. 따로 소멸자에 대한 코드는 구성하지 않겠습니다. 현재까지 코드 조각 기능을 사용하면서 만든 코드는 아래와 같습니다.



2.7. 메서드(Method) 만들기

아쉽게도 메서드에 대한 코드 조각은 기본적으로 제공되지 않습니다. 다만, svm과 sim은 콘솔과 Windwos 응용 프로그램 환경에서 Main 메서드를 자동으로 만들어주는 코드 조각입니다. Car 클래스에 Run() 이라는 이름의 메서드를 아래와 같이 생성합니다. 다음 절에서의 테스트를 위해서 Car 클래스의 액세스 한정자를 public으로 설정합니다.



2.8. Car 클래스 테스트하기

Default.aspx.cs 파일을 열고 아래와 같이 타이핑합니다. 클래스는 대문자 Car이며 개체명은 소문자 car입니다.



그리고, Default.aspx를 시작 페이지로 설정 후 웹 브라우저로 실행하면 아래와 같습니다.

 
이상으로 기본적으로 만들어져 있는 코드 조각 기능을 사용하여 간단한 예제 프로그램을 작성해 보았습니다.

반복적으로 많이 사용되는 코드들은 코드 조각 기능을 사용하여 빠르게 타이핑을 할 수 있는 장점을 지닙니다.


3. 사용자 정의 코드 조각 기능 만들기

앞서서 사용해 본 class, ctor, prop 등과 같은 코드 조각은 Visual Studio를 설치하면 아래 경로에 *.snippet 파일로 저장되어 있습니다.

이번 절에서는 이미 만들어져 있는 코드 조각 파일을 모방하여 새로운 형식의 사용자 정의 코드 조각 기능을 구현해 보도록 하겠습니다.

C:\Program Files\Microsoft Visual Studio 8\VC#\Snippets\1042\Visual C#



3.1. 새로운 코드 조각 만들기

이미 만들어져 있는 코드 조각 파일인 snippet 파일을 분석하여 새로운 코드 조각을 만들어 보겠습니다.

우리가 작성할 코드 조각은 Car car = new Car(); 와 같이 특정 클래스의 인스턴스를 생성하는 간단한 코드입니다.

위 경로에서 비교적 구문이 간단한 class.snippet 코드 조각 파일을 Windows 탐색기에서 복사 및 붙여넣기를 한 후 사본을 만들고 파일 이름을 dim.snippet로 변경한 후 Visual Studio 2005로 엽니다. 참고로 필자는 현재 웹 사이트에 아래 그림처럼 dim.snippet로 class.snippet 코드 조각 파일을 저장했습니다.



3.2. 클래스 생성용 코드 조각 분석하기


실제로 우리가 코드 레벨에서 코드 조각을 사용하고자 할 때 필요한 항목은 위 그림의 7번 라인의 코드 조각 단축키와 8번 라인의 설명 그리고 23번 라인의 CDATA 섹션입니다.

3.3. 새로운 코드 조각 만들기

위 코드 조각을 아래와 같이 편집해  보도록 하겠습니다. 아래 코드는 C# 코드 영역에서 dim을 입력 후 탭 키를 누르면 Class obj = new Class(); 와 같은 코드를 만들어 줍니다.



XML 파일로 구성된 위와 같은 snippet 파일은 따로 설명하지 않아도 충분히 분석 가능하리라 봅니다.

3.4. 코드 조각 등록하기

Visual Studio 2005의 메뉴에서 도구 - 코드 조각 관리자를 실행합니다. [가져오기] 버튼을 클릭합니다.



우리가 만든 dim.snippet 파일을 선택합니다. 

 
필자는 My Code Snippets 영역에 사용자 정의 코드 조각을 저장했습니다.



3.5. 사용자 정의 코드 조각 테스트

다시 Default.aspx.cs 파일로 돌아가서 아래 그림처럼 dim을 입력하면 자동으로 우리가 작성한 코드 조각이 나타나는 것을 확인할 수 있습니다. dim 입력 후 탭 키를 눌러 코드 조각을 완성합니다.



아래 그림은 우리가 작성한 코드 조각에 대한 최종 코드 모양입니다. 탭 키를 눌러가며 클래스 이름과 개체 이름을 변경할 수 있습니다.




4. 마무리

이상으로 이미 만들어져 있는 코드 조각을 사용하고 간단하게 클래스의 인스턴스를 생성하는 코드 조각을 만들어 보았습니다. 복습하는 차원에서 우리가 자주 사용하는 아래와 같은 구문을 코드 조각으로 만들어 보시기 바랍니다.

con + 탭:
SqlConnection objCon = new SqlConnection();

cmd + 탭:
SqlCommand objCmd = new SqlCommand();

필자의 다음 강좌는 Visual Studio 2005의 리팩터링 기능에 대해서 설명하도록 하겠습니다.
감사합니다.


이번 강좌에 쓰인 소스를 원하시면 클릭하세요 ^^


authored by

  romijjang
  2010-05-12(16:49)
Windows7 64비트에서는..
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC#\Snippets\1042
\Visual C#
위치에 Snippets 폴더가 들어있군요...^^


 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})