이번 시간에는 Visual Studio 2010 기초 툴 사용하기 파트 중 클래스 뷰(Class View)에 대한 소개를 하는 과정을 보여드리도록 하겠습니다.
소개 : 클래스 뷰(Class View)
Visual Studio 2010에서 솔루션 탐색기와 더블어 클래스에 대한 구조를 한눈에 파악할 수 있는 클래스 뷰(Class View) 모두가 많이 사용됩니다.
클래스 뷰에 대한 간단한 정의는 아래와 같습니다.
- 클래스 뷰(Class View)
- 솔루션 탐색기의 파일 기반의 트리구조가 아닌 클래스 기반의 트리구조로 프로젝트 보여주기
- 상속 관계(Based On)
- 메서드, 속성, 필드 등 노출
- MSDN : Class view and Object Browser Icons
- 이름/형식/접근한정자 등에 따라 정렬 및 필터링 가능
- 클래스 기반으로 소스 찾아가기 편리
데모
1. Class View에 대한 메뉴를 다루기 전에 조금 있어보이는(?), 하나의 솔루션에 50개 정도의 프로젝트가 붙어있는 Orchard(http://www.orchardproject.net/) CMS 솔루션을 다운로드 받아서 연습해 보도록 하겠습니다. 소스는 아래 그림과 같이 http://orchard.codeplex.com/ 에서 다운로드가 가능합니다. 필자는 Orchard.Source.1.1.30.zip 파일을 다운로드 받았습니다. 굳이 이 소스를 다운로드받지 않고도 본인이 사용하는 프로젝트가 있다는 해당 소스를 사용하시면 됩니다.
2. 다운로드 받은 소스를 적절한 폴더에 압축을 푼 후, Orchard.sln 파일을 더블클릭하여 Visual Studio 2010으로 열도록 하겠습니다.
3. Orchard 솔루션을 VS2010으로 열어보니, 모두 50개의 프로젝트가 솔루션 탐색기에 적절하게 솔루션 폴더에 포함되어져 붙어져 있는 것을 볼 수 있습니다.
4. 우리가 이번에 살펴볼 [클래스 뷰] 도구는 VS2010-[보기]-[클래스 뷰] 메뉴를 사용하여 화면에 띄울 수 있습니다.
5. 클래스 뷰는 아래 그림과같이 프로젝트내에 클래스 단위로 구분을 짓는 형태를 갖습니다.
6. 클래스 뷰에서 특정 프로젝트 목록을 선택 후 특정 네임스페이스를 선택 하면 해당 네임스페이스에 포함된 클래스 목록을 보여줍니다. 또한, 해당 클래스를 클릭하면 하단 패널에 클래스내의 모든 멤버에 대한 리스트가 메서드/속성/필드 식으로 구분되어져 출력이 되는 것을 알 수 있습니다.
7. 아래 그림의 첫번째 박스는 메서드 모록을 나타내고, 두번째 박스는 필드를 나타냅니다. 이러한 멤버를 구분 지을 수 있는 것은 각 멤버의 왼쪽에 보여지는 아이콘으로 구분할 수 있습니다.
8. 클래스 뷰 및 오브젝트 브라우저에서 사용되는 아이콘의 종류와 해당 아이콘이 의미하는 멤버에 대한 내용은 아래 링크에서 제공되니, 시간나실 때 한번 둘러보시면 좋을 듯 합니다.
http://msdn.microsoft.com/en-us/library/y47ychfe(v=VS.100).aspx
9. 클래스 뷰에서 특정클래스 선택 후 하단 패널의 특정 멤버를 더블클릭하면, 해당 cs 파일의 해당 멤버로 포커스가 이동됩니다.
10. 클래스 뷰의 하단 패널에 마우스 오른쪽 버튼을 클릭하면, 나타나는 상황에 따른 메뉴를 살펴보면, 아래 그림처럼, [사전순 정렬], [멤버 유형별 그룹화] 등의 여러가지 조건에 따라서 멤버 리스트를 표현하는 방법을 제공합니다.
11. 아래 그림은 [멤버 유형별 그룹화] 메뉴를 선택하는 화면입니다.
12. [멤버 유형별 그룹화] 메뉴를 선택하면 아래 그림과 같이 메서드, 속성, 필드 식으로 멤버 유형별로 멤버 리스트가 출력됨을 알 수 있습니다.
13. 또한, 클래스 뷰는 검색 기능을 제공합니다. 아래 그림처럼, “Session”이라는 단어를 검색 텍스트박스에 입력 후 엔터를 치게되면, 해당 단어가 들어가는 모든 멤버에 대한 리스트가 나타납니다.
14. 검색의 결과는 기본값으로 대소문자를 가리지 않고, 멤버 리스트를 보여줍니다
마무리
Visual Studio를 사용함에 있어서, 솔루션 탐색기가 일반적으로 많이 사용됩니다. 파일단위로 특정 클래스를 기준으로 관리를 하는 방법을 사용하는데, 여기에 덧붙여, 파일 단위가 아닌 클래스 단위의 논리적인 구분으로 멤버 리스트를 출력시켜주는 클래스 뷰를 같이 사용한다면 좀 더 큰 규모의 프로젝트 및 솔루션을 관리함에 있어서의 편리함의 장점을 누릴 수 있습니다.
끝.