Devin Rader
Infragistics, Inc.
2005년 5월
적용 분야:
Microsoft Visual Studio 2005
Microsoft .NET
Framework
요약: 무엇이 개선되었고 무엇이 추가되었기에 Microsoft Visual Studio 2005
IDE(통합 개발 환경)가 이전 버전보다 훨씬 강력해졌는지 그 내막을 살펴보도록 하겠습니다.
내용
소개
변경된
기능들
새로운
기능들
결론
소개
Microsoft Visual Studio 2005에 대한 소개는 보다 강력한 IDE를 만들기 위해서 개선된 사항과
새롭게 추가된 기능들에 대한 것입니다. 그러한 변화는 Microsoft ASP.NET 웹 사이트 프로젝트를 생성하는
것에서부터 새로운 텍스트 형식 기능에 이르기까지 광범위합니다. 이 기사는 Visual Studio 이전 버전에서 제공했던
기능들 중에서 변경된 사항들을 소개할 것입니다. 그러한 정보가 여러분이 Visual Studio 2005에 보다 쉽고
빠르게 적응하는데 도움을 주기를 바랍니다. 그리고 Visual Studio 2005 IDE에 새롭게 추가된 기능들 중
일부를 살펴보도록 하겠습니다.
변경된 기능들
Visual Studio 시작 페이지
Visual Studio 2005를 실행시키면, 새로운 모습의 개선된 시작 페이지를 가장 먼저 발견하게 될 것입니다.
Visual Studio .NET에서는 Visual Studio를 빠르고 쉽게 사용하는데 도움을 주기 위한 목적으로 시작
페이지를 제공했었습니다. 시작 페이지는 자주 사용한 프로젝트를 열거나, 새로운 프로젝트를 생성하거나, 온라인 리소스를
찾거나, 또는 Visual Studio 프로파일을 쉽게 설정하기 위하여 사용되었습니다.
Visual Studio 2005에서도 시작 페이지를 사용하고 있습니다. 하지만 이전 버전에 비해서 페이지에 보여지는
정보를 단순화하였으며 보다 사용하기 쉽고, 이해하기 쉬워졌습니다. 새로운 시작페이지는 Recent Projects에 대한
목록과 Visual Studio 2005의 사용법에 대한 정보를 포함하고 있습니다. 또한 .NET 커뮤니티에서 수집한
유용한 소식과 기술적인 기사들에 대한 최신 목록을 포함하고 있습니다.

그림 1

그림 2
Visual Studio 2005는 시작 페이지에 나열된 리소스뿐만 아니라, 다양한 도움말과 정보를 접근할 수 있는
방법을 포함하고 있습니다. 새로운 IDE는 여러분이 광범위한 정보를 쉽게 접근할 수 있도록 Microsoft와 타사
커뮤니티의 온라인 리소스를 내부에 통합하고 있는데, 그러한 추가적인 리소스는 새롭게 추가된 Community 메뉴에서 찾을
수 있습니다.

그림 3
이 메뉴는 질문을 하거나 사용자 의견을 보내고, 프로젝트에서 사용할 수 있는 샘플과 컨트롤들을 검색할 수 있는 옵션을
포함하고 있습니다.
Visual Studio 2005에서 프로젝트 생성
Visual Studio 2005에서 프로젝트를 생성할 준비가 되었다면, 이 작업이 이전 버전의 IDE와 다르다는
것을 알게 될 것입니다. New Project 대화 상자 (File > New >
Project)를 열면, 프로젝트 템플릿 범주가 트리 뷰에 구성되어 있는 것을 확인할 수 있습니다. 또한 이 대화
상자는 트리 뷰로 구성하는 방식을 사용함으로써 Visual Studio 2005에 포함되어 있는 많은 수의 프로젝트
형식들을 포함할 수 있게 되었습니다.

그림 4
그리고 이 대화 상자에서 눈 여겨 보아야 점이 있는데, 웹사이트나 웹 서비스 프로젝트를 생성하기 위한 프로젝트
템플릿이 없다는 사실입니다. 새로운 IDE에서는 프로젝트의 형식에 따른 프로젝트 생성 작업을 각각의 메뉴 옵션으로
분리하였습니다.File > New메뉴를 선택하면 여러분이 이미 알고 있는 Project 옵션뿐 만 아니라
Visual Studio 2005가 새로운 웹사이트를 생성할 수 있는 옵션을 제공한다는 것을 확인할 수 있습니다.

그림 5
이 메뉴에서 웹사이트 옵션을 선택하면 ASP.NET Web Site와 ASP.NET Web Service,
Personal Web Site Starter Kit과 같은 ASP.NET 프로젝트 형식을 포함하고 있는 New
Website 대화 상자를 표시합니다.

그림 6
특히 New Project 대화 상자와 달리, New Website 대화 상자는 특정 언어에 따른 프로젝트 형식을
포함하고 있지 않다는 것을 주목하도록 합니다. 대신, 이 대화 상자에서는 프로젝트 형식을 선택한 다음 드롭다운 목록을
사용하여 기본 프로젝트 언어를 선택하도록 하고 있습니다.
마지막으로 살펴볼 새로운 기능은 Location 드롭다운 목록입니다. 이 옵션을 이용하면 생성하고자 하는 웹
프로젝트가 HTTP나 FTP를 통해서 접근 가능한 원격 서버에 있다는 것을 지정할 수 있습니다.
향상된 도구 상자 사용
Visual Studio의 전체적인 기능이 강력해 질 때, IDE의 가장 기본적인 기능들도 개선되어야 합니다. 이러한
기능에 속하는 것 중 하나가 Visual Studio 도구 상자입니다. Visual Studio 2005에서 새로운
프로젝트를 생성하면, 도구 상자가 향상되었다는 것을 곧바로 알게 될 것입니다. 도구 상자는 여러분이 사용하기 쉽고 생산성을
높이기 위해서 필요한 여러 가지 중요한 사항들이 변경되었습니다.
첫째, 이전 버전의 도구 상자에서는 아웃룩 방식의 리스트바를 사용하여 컨트롤들을 분류할 수 있었습니다. 그 기능도
훌륭했지만, 리스트바에서는 한번에 하나의 컨트롤 항목만 열 수 있다는 것이 큰 단점이었습니다. Visual Studio
2005에서는 리스트바에서 여러 개의 도구 상자 항목을 열 수 있도록 변경함으로써 그러한 단점을 개선하였습니다.
둘째, 전체적인 컨트롤 항목, 특히 ASP.NET 도구 상자에서의 항목들이 크게 증가하였다는 것을 알 수 있습니다.
그 이유는 Visual Studio 2005와 함께 배포되는 컨트롤의 수가 크게 증가하였기 때문입니다. 그러면서도 새로운
항목들은 찾기 쉽고 생산성을 높이기 위해서 내부에 있는 컨트롤들을 효율적으로 분류하고 있습니다.
마지막으로, 만약 Windows Forms와 ASP.NET 응용프로그램을 동시에 개발하고 있다면, 현재 활성화된
프로젝트의 형식에 따라서 도구 상자에 있는 항목들이 크게 달라지는 것을 확인할 수 있습니다. Visual Studio
2005는 여러분이 개발중인 현재의 프로젝트 형식에 따라서 필요하지 않을 것 같은 항목들을 숨기는 기능을 제공합니다.
따라서, 예를 들어 ASP.NET 웹 페이지를 생성하고 있다면, 도구 상자에서 Common Control 항목을 볼 수
없을 것입니다. 왜냐하면 이 항목은 Windows Forms 공통 컨트롤들을 포함하고 있기 때문에, ASP.NET 웹
페이지에서 사용할 수 없다는 것이 확실하기 때문입니다. 만약 프로젝트 형식에 상관없이 도구 상자의 모든 항목들을 보고
싶다면, Visual Studio가 제공하는 Show All 옵션을 선택하여 도구 상자의 모든 항목들을 보이도록 할 수
있습니다. 이 옵션은 도구 상자에서 마우스 오른쪽 단추를 클릭한 후, 상황에 맞는 메뉴에서 Show All 옵션을 선택하여
접근할 수 있습니다.


그림 7
ASP.NET에서 구성 요소 트레이 사용
Visual Studio 2000이 출시되기 전에는, Visual Basic과 같은 IDE가 디자인 타임 동안 화면에
표시되지 않는 컨트롤들을 처리하는 방법이 불편했습니다. Visual Basic에서는 화면에 표시되지 않는 컨트롤들을 폼
위에 포함했기 때문에, 폼이 뒤죽박죽이 되곤 했습니다. 그래서 개발자들이 찾아낸 나름대로의 해결책은 화면에 표시되지 않는
아이콘들을 폼의 구석에 몰아 놓거나 다른 컨트롤들 뒤에 숨기는 것이었습니다. 두말할 나위 없이 이러한 방식은 그리 좋지
않은 디자인 방법입니다.
이러한 문제를 해결하기 위해서, Microsoft는 Visual Studio 2002부터 화면에 표시되지 않는
컨트롤들을 위한 적절한 디자인 타임 공간을 제공하였으며, 이를 구성 요소 트레이라고 합니다. 개발자가 EventLog와
같은 컨트롤을 폼 위에 놓으면, 다음 그림과 같이 디자인 화면 아래에 표시됩니다.

그림 8
Visual Studio 2005에서는 Visual Web Developer에서 제공하는 구성 요소 트레이가
변경되었습니다(하지만 WinForms 프로젝트에서 제공하는 구성 요소 트레이는 이전과 동일합니다). 이제 화면에 표시되지
않는 컨트롤들을 폼에 추가하기 위해서는 웹 페이지의 Component Designer를 열어야 합니다. 컨트롤을 추가하고자
하는 파일 위에서 마우스 오른쪽 단추를 클릭한 후, 상황에 맞는 메뉴에서 View Component Designer 옵션을
선택하거나, View 메뉴의 Component Designer 메뉴를 선택하여 Component Designer를 표시할
수 있습니다.

그림 9
웹 페이지에 대한 Component Designer가 표시되면 이전 버전에서처럼 구성 요소들을 끌어서 놓기를 할 수
있습니다.
참고 Component Designer를 표시하기 위해서는,
반드시 구분되는 파일에 코드가 저장되는 웹 페이지를 선택해야 합니다. 인라인 코드만 사용하는 웹 페이지에서는
Component Designer를 접근할 수 없습니다.
코드 비사이드/코드 구분
.NET 2.0에 추가된 흥미로운 개념 중 하나는 부분 클래스(Partial Classes)입니다. 부분 클래스의
기본적인 아이디어는 하나의 형식을 여러 개의 물리적인 파일로 구분하거나, 형식의 일부를 동적으로 생성하기 위해서 코드
생성을 사용하여 런타임에 하나의 논리적인 형식으로 모든 부분들을 병합할 수 있다는 것입니다.
.NET 2.0에 추가된 부분 클래스 기능은 Visual Studio 2005에서의 응용프로그램을 생성 방법에 영향을
미치고 있습니다. 그리고 현재 부분 클래스들은 ASP.NET과 Windows Forms 프로그래밍 모델에서 광범위하게
사용되고 있습니다. 부분 클래스가 사용되고 있다는 증거는 웹 페이지의 코드 비하인드 클래스 파일에서 확인할 수 있습니다.
예를 들면, 다음과 같이 클래스가 선언됩니다.
Partial Class MyPage
Inherits System.Web.UI.Page
Windows Forms에서도 부분 클래스가 사용되고 있다는 증거는 프로젝트 템플릿에 의해서 생성되는 기본 폼에
연결된 Designer 클래스에서 확인할 수 있습니다.
Partial Public Class Form1
Inherits System.Windows.Forms.Form
Visual Studio에서 부분 클래스를 사용함으로써 얻을 수 있는 이득은 클래스 내에 생성되는 코드와 여러분을
분리시킬 수 있다는 점입니다. "Web Forms Designer generated code"나 "Windows Form
Designer generated code"로 표시되어 있는 코드는 더 이상 물리적인 파일에 존재할 필요가 없습니다.
대신, 이 코드는 별도의 디자이너 파일을 포함하고 있는 Windows Forms 프로젝트에서처럼 별도의 파일로 생성되거나
ASP.NET의 경우처럼 실행 중에 생성됩니다. 이는 사용자 코드를 작성하는데 있어서 새로운 방법, 특히
ASP.NET에서의 마스터 페이지와 같은 새로운 기능들이 가능하도록 합니다.
새로운 기능들
액세스 가능성에 대한 유효성 검사
Visual Studio 2005에서 제공하는 새로운 액세스 가능성에 대한 유효성 검사 기능 도구를 사용하면 WCAG
Priorities 1 & 2 (http://www.w3.org/TR/WAI-WEBCONTENT/)와 Section 508
(http://www.section508.gov/)을 포함한 여러 가지 서로 다른 액세스
가능성 표준에 대해서 사용자의 웹 페이지에 대한 유효성을 검사할 수 있습니다. 이 도구는 Tools >
Check Accessibility메뉴를 선택하여 접근할 수 있습니다.

그림 10
이 유틸리티를 실행하면 사용중인 HTML 태그가 선택된 표준에 맞는지를 확인합니다. 그리고 표준에 맞지 않는 태그들은
Visual Studio 오류 목록에 추가됩니다.
또한 액세스 가능성 검사를 빌드 프로세스 일부에 포함시킬 수 있습니다. Website
Properties의 Build 섹션에서 페이지와 사이트 수준에 액세스 가능성에 대한 유효성 검사를 추가할 수
있습니다. 이 기능을 활성화하면 프로젝트를 빌드할 때마다 웹 페이지에 대해서 액세스 가능성에 대한 유효성 검사가 수행될
것입니다.
코드 분석
Visual Studio 2005에 추가된 또 다른 훌륭한 기능은 코드 분석을 도와주는 FxCop입니다. 많은
개발자들이 단독으로 배포되는 이 정적인 코드 분석 도구에 이미 익숙해 있지만, 이제는 Visual Studio에
통합되었습니다. 앞에서와 마찬가지로 Website Properties대화 상자를 열고 Build 섹션에 있는
Enable FxCop 옵션을 선택하거나 website 메뉴에 있는 Code Analysis를 표시한 다음, Enable
Code Analysis 확인란을 선택하여 웹 사이트의 빌드 프로세스 일부에 정적인 코드 분석을 추가할 수 있습니다. 또한
프로젝트 속성 창을 열고 Code Analysis 탭에 있는 Enable Code Analysis 확인란을 선택하여 추가할
수 있습니다.
일단 코드 분석을 활성화하면, 다음 번에 솔루션을 빌드할 때 규칙 위반에 대한 분석 결과가 오류 목록에 추가될
것입니다.
그리고 코드에 적용할 FxCop 규칙들을 구성할 수 있으며, 각 규칙에 대한 결과 상태는 웹 사이트 프로젝트에 있는
Code Analysis Configuration 유틸리티를 표시하거나 Project Properties 대화
상자에 있는 Code Analysis 탭을 표시하면 생성될 것입니다.

그림 11
스니펫 관리자
Visual Studio에 새롭게 추가된 코드 스니펫 관리자 유틸리티는 일반적으로 사용되는 코드를 관리하고 수백 개의
코드 스니펫을 접근할 수 있는 훌륭한 방법을 제공합니다. 뿐만 아니라 사용자 스니펫을 생성할 수 있으며 다른 온라인에서
공유하고 있는 코드 스니펫을 검색할 수 있는 기능도 제공합니다.
코드 스니펫을 추가하기 위해서는 원하는 위치에서 마우스 오른쪽 단추를 클릭한 후, 상황에 맞는 메뉴에서
Insert Snippet옵션을 선택하면 됩니다.

그림 12
이 메뉴를 선택하면 Insert Snippet Intellisense가 표시되며, 이 창에서 코드 스니펫 범주를
탐색하여 코드에 삽입하고자 하는 스니펫을 선택할 수 있습니다. 예를 들어, 만약 Visual Basic 코드에서 무작위
수를 생성하고 싶다면, Math 범주에 있는 Get a Random Number using the Random
class를 선택할 수 있습니다.

그림 13
이 스니펫을 선택하면 다음 코드가 클래스에 추가됩니다.
Dim generator As New Random
Dim randomValue As Integer
' Generates numbers between 1 and 5, inclusive.
randomValue = generator.Next(1, 6)
또한 사용자 코드 스니펫을 추가할 수 있는데, 처음부터 스니펫을 작성하거나 기존의 스니펫을 수정하는 방법을 선택할 수
있습니다. 모든 스니펫은 C:\Program Files\Microsoft Visual Studio
8\VB\Snippets\1033\ 폴더에 있는 .snippet 파일에 저장됩니다.

그림 14
가져오기 및 내보내기 설정
자신에게 Visual Studio를 최적화되도록 구성하는 데에도 시간이 걸릴 수 있습니다. 그래서 만약 새로운
컴퓨터를 얻게 되거나 하드웨어적인 문제가 발생하여 Visual Studio를 다시 설치할 일이 생긴다면, Visual
Studio를 자신이 가장 좋아하는 설정으로 재구성하는 것이 쉽지 않았습니다. 하지만 Visual Studio
2005에서는 Visual Studio 설정을 가져오고 내보낼 수 있는 새로운 유틸리티를 제공하고 있습니다.

그림 15
Import and Export Settings 마법사를 이용하면 내보내기 위한 선택사항들을 선택하여
.vssettings 파일에 저장할 수 있습니다. 이 파일을 다른 컴퓨터에 복사하거나 나중에 해당 파일을 다시 가져올 수
있습니다.
장치 에뮬레이터 관리자
Microsoft는 Visual Studio 2000에 PDA와 모바일 전화같은 장치를 대상으로 하는 응용프로그램을
생성할 수 있는 강력한 개발 환경 도구를 추가하였습니다. 또한 장치 응용프로그램을 쉽게 테스트하고 디버깅할 수 있도록 장치
에뮬레이터를 Visual Studio에 연결하는 기능도 포함되어 있습니다. 이전의 모바일 응용프로그램을 작성했던 대부분의
개발자들은 크로스 장치 개발 문제를 테스트하기 위해서 많은 수의 서로 다른 장치 에뮬레이터를 설치해야 했습니다. 하지만
Visual Studio에서는 IDE에서 지원하는 서로 다른 장치 에뮬레이터를 관리할 수 있는 기능을 제공하지 않았습니다.
Visual Studio 2005는 이러한 문제점을 해결하기 위하여 새로운 장치 에뮬레이터 관리자를 제공하고 있습니다.

그림 16
책갈피
Visual Studio는 책갈피라고 불리는 유용한 새로운 기능을 추가하였습니다. 이름에서 알 수 있듯이, 책갈피는
코드 내의 특정한 위치를 표시한 뒤, 나중에 Text Editor Toolbar에 있는 도구나 책갈피 창을 사용하여 이전에
표시한 위치로 쉽게 되돌아갈 수 있는 기능을 제공하기 위해서 만들어졌습니다.
Text Editor 툴바나 Edit > Bookmarks메뉴, 또는 책갈피 창에 있는 Toggle
Bookmark 도구를 사용하여 책갈피를 코드에 추가할 수 있습니다.

그림 17
일단 책갈피를 코드에 추가했다면, 여러 가지 방법으로 책갈피를 정렬하거나 탐색할 수 있습니다. 책갈피 창은 책갈피를
표시하고 정렬하고 액세스할 수 있는 가장 쉬운 방법입니다. View > Bookmarks 메뉴를 선택하여
책갈피 창을 표시하도록 합니다. 이 창이 표시되면, 현재 작업중인 솔루션에 추가한 모든 책갈피들의 목록을 확인할 수
있습니다. 그리고 창에 있는 책갈피를 두 번 클릭하여 책갈피를 액세스할 수 있습니다.

그림 18
또한 책갈피 폴더를 생성한 후 개별 책갈피를 해당 폴더에 추가하는 방법으로 책갈피를 정렬할 수 있습니다. 그리고 보다
자세한 설명을 제공하기 위해서 책갈피의 이름을 바꿀 수 있습니다. 우선 원하는 책갈피를 선택하여 마우스 오른쪽 단추를
클릭한 후, 상황에 맞는 메뉴에 있는 이름 바꾸기 메뉴를 선택합니다. 끝으로, 책갈피 이름 옆에 있는 확인란의 선택을
해제하여 책갈피를 비활성화할 수 있습니다. 책갈피를 비활성화한다는 것은 책갈피를 순환할 때 해당 책갈피가 무시된다는 것을
의미합니다.
기존의 책갈피는 여러 가지 방법으로 탐색할 수 있습니다. 우선 책갈피 창을 이용하면 파일이나 책갈피, 폴더, 솔루션
수준에서 책갈피를 순환할 수 있습니다. Text Editor 툴바도 파일이나 폴더, 또는 솔루션 수준에서 기존 책갈피를
순환할 수 있는 기능을 제공합니다.
또한 작업 목록 창에 책갈피 바로 가기를 추가할 수 있습니다. 책갈피를 작업 목록에 추가하기 위해서는 간단히 Edit
> Bookmarks 메뉴의 Add Shortcut to Tasklist옵션을 선택하면 됩니다. 만약
여러 개의 책갈피를 작업 목록에 추가하고자 한다면, 작업 목록에 나열하고자 하는 개별 책갈피마다 이 작업을 수행해야
합니다. 바로 가기를 추가했다면, 작업 목록에 표시되도록 작업 목록 필터를 변경해야 합니다. 그리고 바로 가기를 두 번
클릭하여 특정한 바로 가기를 탐색할 수 있습니다.
고급 형식 옵션
서식이 잘 적용된 코드를 갖는다는 것은 응용프로그램의 관리 가능성에 있어서 중요한 부분을 차지합니다. Visual
Studio 2005는 서식이 잘 적용된 코드를 생성하는데 도움을 주는 다양한 유틸리티들을 새롭게 추가하였습니다. 그
도구들은 Edit > Advanced 메뉴에서 확인할 수 있습니다. 그 도구들은 Visual Studio에서 형식
옵션을 사용하여 문서를 서식을 설정하는데 도움을 줍니다. 그리고 형식 옵션은 Visual Studio
Options 대화 상자에서 변경할 수 있습니다.
Format Document |
전체 문서에 포함되어 있는 코드를 형식 규칙에 따라서 서식을
설정합니다. |
Tabify Selected Lines |
코드에 사용된 공백을 탭으로 변환합니다. |
Untabify Selected Lines |
코드에 사용된 탭을 공백으로 변환합니다. |
Make Uppercase |
선택된 텍스트를 대문자로 변환합니다. |
Make Lowercase |
선택된 텍스트를 소문자로 변환합니다. |
Delete Horizontal White
Space |
한 줄 코드의 앞에 놓인 공백과 탭을 제거합니다. |
View White Space |
열린 문서에서 공백 문자 코드를 노출시킵니다. 이 명령을
사용하면 문서 내의 공백과 탭의 위치를 정확하게 볼 수 있습니다. |
결론
Visual Studio 2005는 기능이 뛰어난 응용프로그램을 보다 빠르고 쉽게 작성할 수 있는 강력한 새로운
IDE를 제공합니다. 통합된 커뮤니티 리소스부터 새로운 ASP.NET 프로젝트 모델에 이르기까지 개발 환경에 있어서의
변화는 개발자들의 편의를 중점에 두고 고안되었습니다. 또한 통합된 정적인 코드 분석 도구와 고급 텍스트 형식 옵션과 같은
새로운 기능과 유틸리티들은 이미 강력해진 개발 환경을 더욱더 강력하게 만들어주는 새로운 기능들입니다.
저자에 대해
Devin Rader는 Infragistics Technology Evangelist이자
Infragistics의 레퍼런스 응용프로그램과 .NET 기술에 관한 기사를 작성하는 업무를 담당하고 있습니다. 또한 전
세계를 대상으로 Infragistics의 기술 시연을 하고 있습니다. Devin은 International .NET
Association (INETA) 회원이자 리더로 활동 중이며, 여러 가지 업무에 있어서 독보적인 기술 편집인의 역할을
담당해왔고 곧 출간될 ASP.NET 2.0 Professional의 저자이기도 합니다.