delphi xe: delphi 7 이후의 새로운 ide 기능들 - 데브기어-엠바카데로 ·...

16
Delphi XE: Delphi 7 이후의 새로운 IDE 기능들 Nick Hodges, 박지훈.임프 2010 9 Americas Headquarters EMEA Headquarters Devgear 서울특별시 반포 1 743-14 100 California Street, 12th Floor York House 18 York Road 4 ㈜데브기어 San Francisco, California 94111 Maidenhead, Berkshire (T) 02.595. 4288 SL6 1SF, United Kingdom

Upload: danghuong

Post on 11-Nov-2018

276 views

Category:

Documents


0 download

TRANSCRIPT

Delphi XE: Delphi 7 이후의

새로운 IDE 기능들

Nick Hodges, 박지훈.임프

2010 년 9 월

Americas Headquarters EMEA Headquarters Devgear

서울특별시 반포 1동 743-14 100 California Street, 12th Floor

York House 18 York Road 4층 ㈜데브기어

San Francisco, California 94111

Maidenhead, Berkshire (T) 02.595. 4288SL6 1SF, United Kingdom

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

SubVersion :

Check Out

이제 델파이 IDE 에

SubVersion 형상 관리 툴

클라이언트가 완벽하게

통합되었습니다.

Subversion 으로 관리되고

있는 프로젝트를 처음 체크

아웃(Check Out) 하려면,

TortoiseSVN 등 다른 SVN 클라이언트의 필요 없이 델파이 IDE 에서 직접적으로

체크 아웃 할 수 있습니다.

메인 메뉴에서 File -> Open

From Version Control…

메뉴를 클릭하면 SVN

체크아웃 다이얼로그가

나타납니다. 여기서 SVN

리포지토리의 URL 을

입력하고 아래에 체크아웃될

로컬 경로를 입력하면 IDE

내에서 즉각 체크아웃이

실행되며, 완료되면 프로젝트를 오픈합니다

SubVersion :

History 페이지

델파이 7 이전의 버전들에서는 현재 버전의 직전 백업 본이 .~pas 등의 단일

백업으로 저장되는 것 이외에는 히스토리 관리가 되지 않았으며, 델파이 2005

버전부터는 코드 에디터의 History 탭에서 로컬의 각 폴더의 하위에 있는

__history 폴더의 사본을 두고 히스토리 관리를 했습니다.

델파이 XE 에서는, SubVersion 으로 관리되는 프로젝트의 경우 코드 에디터의

History 탭에 SVN 히스토리가 그대로 나타납니다. 또한 History 페이지 내의

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

Diff 탭도 SVN 에 따라 동작하므로, 이전보다 훨씬 효율적으로 프로젝트를

관리할 수 있게 되었습니다.

SubVersion :

프로젝트

매니저

SubVersion 기능은 프로젝트 매니저에도 완벽하게 통합되었습니다. 프로젝트

매니저에서 직접 커밋, 업데이트 등의 동작을 할 수 있습니다.

AQTime

프로파일링

AutomatedQA 의 유명한 코드 프로파일링 툴인 AQTime 이 델파이에 통합되어,

델파이로 개발하는 애플리케이션의 성능을 효과적으로 높일 수 있게

되었습니다.

메인 메뉴의 AQTime 메뉴에서 AQTime 을 시작할 수 있으며, 프로젝트를 Run

With Profiling 메뉴로 실행시키면 프로그램을 테스트한 후 종료시키고 나면 각

루틴들의 실행 시간, 실행 횟수 등에 대한 결과를 레포트해줍니다.

이 레포트의 각 루틴 항목을 더블 클릭하면 코드 에디터에서 해당 루틴으로

이동하는데, 이때 왼쪽 거터에 해당 루틴의 실행 시간과 횟수 등의 정보가 함께

나타납니다.

Embarcadero Technologies White Paper - 3 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

CodeSite 로깅 CodeSite 는 유명한 로깅 툴로서, 프로젝트의 실행 중에 코드로 각종 정보들을

남길 수 있습니다.

CodeSite 객체의 SendMsg(), EnterMethod(), ExitMethod() 등의 메소드로

CodeSite 뷰어로 로그를 전달할 수 있으며, 객체를 통째로 넘겨 실시간으로

자세한 정보를 볼 수도 있습니다.

FinalBuilder

빌드 툴

FinalBuilder 는 복잡한 빌드 작업을 간단하게 처리해주는 고급 빌드 툴입니다.

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

IDE Insight IDE 인사이트는 키 입력만으로 IDE 의 모든 기능들을 호출할 수 있는 편리한

인터페이스입니다. 간단히 F6 키를 누르기만 하면 IDE 인사이트가 나타나며,

여기서 개발자는 원하는 기능을 타이핑하기 시작하면 가능한 기능들의 목록이

나타납니다.

IDE 인사이트는 개발자가 IDE 내의 모든 기능, 즉 프로젝트, 컴포넌트, 코드

템플릿, 구성 세팅 등 어느 기능이든 빠르게 찾아낼 수 있도록 해줍니다. 여기서

개발자가 특정 기능을 선택하면 해당 기능이 실행되거나 IDE 에서 그 위치로

이동하게 됩니다.

Embarcadero Technologies White Paper - 5 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

클래식 모드 IDE

레이아웃

Delphi 7 및 이전 버전들의 IDE 레이아웃을 선호하는 개발자들을 위해 Delphi

2010 에서는 SDI 환경을 완벽하게 지원하여 이전 버전들과 동일하게 배치할 수

있게 되었습니다.

역시 델파이 7 이하 버전들에서 익숙했던 컴포넌트 팔레트도 다시

추가되었으며, 팔레트에서 컴포넌트 이름으로 검색이 가능하여 전보다 더

편리해졌습니다.

Code

Formatter

사전에 지정된 형식으로 전체 코드를 자동으로 포매팅하기 위한 코드 포매터

기능이 추가되었습니다. 간단히 Edit 메뉴의 Format 을 선택하거나 CTRL-D 를

치면 코드가 자동으로 포맷됩니다.

환경 설정에서 코드 포매터를 위한 각종 설정들을 각 개발자가 원하는 형식으로

바꿀 수도 있습니다. 간단히 자신만의 포맷 형식으로 바꿀 수 있어 코드를 인수,

인계할 때 아주 유용합니다.

델파이 XE 에서는 프로젝트 전체에 대해 한번에 포맷을 적용하는 기능과 포맷을

적용하기 전에 확인 다이얼로그로 다시 한번 묻는 기능이 추가되었습니다.

백그라운드

컴파일

컴파일에 상당한 시간이 걸리는 대형 프로젝트 컴파일 작업을 위해 백그라운드

컴파일 기능이 추가되었습니다. 이 기능을 이용하면 컴파일하는 동안 코드

에디트, 리뷰 등 다른 작업들을 계속할 수 있습니다. 컴파일하기 직전의

유닛들의 메모리 스냅샷으로 컴파일하므로 추가로 코드를 수정 하더라도

영향을 받지 않습니다.

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

코드 검색 기능

강화 Search > Find 명령어 (^F) 가 재설계되었으며, 이제 다이얼로그 박스로

나타나는 대신 코드 에디터 윈도우의 아래 모서리에 작업표시줄과

비슷하게 나타납니다.

검색 바에서 점증 검색(Incremental Search)도 가능합니다:

그냥 바로 타이핑을 하거나, 혹은 입력한 내용과 일치하는 이전의 검색

문자열들에서 선택할 수 있습니다.

Find in Files

기능 강화 Search > Find in Files

다이얼로그에는 *.pas 나 *.cpp 처럼

와일드카드 지정을 할 수 있는

새로운 필드(Directory)가

추가되었습니다.

또한 디렉토리 검색을 위해

Directories 필드에 세미콜론으로

디렉토리 이름을 분리하여

입력하거나, 혹은 Folders and

Groups 버튼을 클릭하여 Select

Directories 다이얼로그를 열어 여러

디렉토리를 지정할 수 있습니다.

Embarcadero Technologies White Paper - 7 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

검색

하이라이팅 이제 검색한 내용과 매치되는 모든 부분들이 하이라이트 됩니다. 첫 번째

매치되는 위치가 하이라이트 되고, 화면에 보이는 다른 모든 매치 부분들은

다른 색으로 하이라이트 됩니다.

1. 하이라이트 하는 두 가지 색은 IDE 의 color 설정에서 지정되어 있습니다.

2. Tools > Options > Editor Options > Colors 의 Additional search

match highlight 항목에서 Background color 와 Foreground color 을

선택하여 이 색들을 사용자 지정할 수 있습니다.

3. 모든 검색 매치되는 부분에서 하이라이트 되는 것을 막으려면, Tools >

Options > Editor Options 의 Show all search matches 체크박스의 체크를

빼면 됩니다.

클래스

익스플로러 클래스 익스플로러는 Delphi의 클래스 모델링 기능을 바탕으로 만들어졌으며

전체 프로젝트 내부의 클래스 구조를 볼 수 있게 해줍니다. 개발자는 클래스를

보는 방식으로 상향식(top-down) 또는 하향식(bottom-up)을 선택할 수

있습니다. 또한 클래스 익스플로러는 기존 클래스 라이브러리에 클래스, 메소드,

프로시저를 추가할 때에도 사용될 수 있습니다.

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

프로젝트

매니저 강화

프로젝트 그룹 내의 여러 프로젝트들을 원하는 대로 정렬(sort)할 수 있으며

기본 정렬 순서를 지정할 수도 있습니다. 현재 프로젝트와 별도로 다른

디렉토리에 위치한 파일들을 표시하는 여러 방법들이 개선되었습니다. 여러

아이템들을 멀티 셀렉트하여 특정 작업을 할 수도 있습니다.

Build

Configuration

빌드 컨피규레이션은 릴리즈 또는 디버그 모드에 따라 각종 옵션들을 별도로

설정해두는 기능입니다. 기본적으로 Base 로부터 상속된 Release, Debug 의

컨피규레이션들이 있고 각 모드에 맞는 컴파일 옵션들이 설정되어 있습니다.

개발자가 필요한 경우 특정 상황에서 필요한 새로운 컨피규레이션을 추가할

수도 있으며, 예를 들면 특정 고객사를 위한 버전을 만들기 위한

컨피규레이션을 만들 수도 있습니다.

프로젝트 옵션 다이얼로그와 프로젝트 매니저는 빌드 컨피규레이션에 맞게

기능이 대폭 확장되었으며, 한 프로젝트에서 공들여 설정한 빌드

컨피규레이션을 다른 프로젝트들에서도 재활용할 수 있도록 옵션 셋 기능도

제공합니다.

Embarcadero Technologies White Paper - 9 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

리소스 매니저 이제 RC 파일을 작성하고 프로젝트에 추가하고 관리해야 하는 번거로운 작업

없이, 델파이 프로젝트에 직접 리소스 파일들을 추가하고 관리할 수 있게

되었습니다. bmp, jpeg, gif, png 등 이미지 파일들이나 폰트 파일들을 추가할

수 있습니다.

Projects 메뉴의 Resources and Images… 메뉴를 클릭하면 리소스 매니저 창이

나타납니다. 프로젝트 매니저에 이미지 파일들을 직접 드래그하여 프로젝트에

추가하는 것도 가능합니다.

파일

익스플로러

이제 IDE 는 머신 하드 드라이브에 있는 파일들을 액세스할 수 있게 해주는 파일

익스플로러를 가지게 되었습니다. 파일들은 프로젝트에 추가되거나 코드

에디터에서 열 수 있습니다. 파일 브라우저는 다른 도킹 가능 윈도우들 처럼

IDE 에 도킹 될 수 있습니다.

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

Embarcadero Technologies White Paper - 11 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

라이브

템플릿

라이브 템플릿은 템플릿 기반의

코드 삽입 기능을 제공하여

타이핑을 빠르게 해줍니다.

라이브 템플릿은 기본적으로

단순한 XML 파일이므로,

개발자들은 자신의 특정 필요에

따라 자신만의 코드 템플릿을

작성하여 사용할 수 있습니다.

아래 그림은 라이브 템플릿을

이용하여 try...finally 블럭을 생성하는 것을 보여줍니다.

블록

컴플리션

블럭 컴플리션은 코드 블럭이 정확하게 닫히도록 해줍니다. begin 으로 코드

블럭을 시작한 후 리턴 키를 치면 자동으로 블럭을 닫아줍니다. (일반적인 경우

'end;'로 닫습니다)

히스토리 탭 히스토리 탭은 간단한 소스

컨트롤 시스템의 기능을

합니다. 파일이 저장될 때마다

서브 디렉토리에 백업 파일이

만들어집니다. IDE 는 diff

엔진을 이용하여 이런 이런

변경들을 추적하여 개발자가

이전 버전들을 살펴볼 수 있게

해줍니다. 파일의 이전 버전이

필요한 경우, 그 버전으로

기존의 파일을 교체할 수

있습니다.

그림은 히스토리 탭이 한

파일의 두 이전 버전을

비교해서 보여주고 있는 모습입니다.

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

VCL

가이드라인

VCL 디자이너는 이제 컨트롤의 배치를

대단히 쉽게 해주는 가이드라인을

제공합니다. 폼 디자이너는

컴포넌트들을 정렬하기 쉽도록

컨트롤들이 딱 맞게 정렬되거나

크기가 조절되었을 때 가이드라인을

보여줍니다. 아래 그림은 이 기능이

동작하는 모습을 보여줍니다.

코드 폴딩 에디터에서 각각의 코드 섹션들을 접어서(fold) 보이지 않게 해둘 수 있습니다.

함수/프로시저들은 기본적으로 접혀질 수 있습니다. {$REGION} pragma 를

이용하면 사용자가 직접 자신의 코드 영역을 접힐 수 있도록 지정할 수

있습니다.

SyncEdit SyncEdit 기능은 개발자들이 코드에 있는 같은 변수/함수 등의 이름을 동시에

수정할 수 있게 해줍니다. 첫번째 변수/함수 이름을 수정하면, 다른 이름들도

자동으로 동일하게 수정됩니다. 코드 작성자는 탭을 눌러 코드 내의 특정

이름들을 오갈 수도 있습니다.

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

툴 팔레트

검색

이제 툴 팔레트에서 검색 및 필터링이 가능합니다. 사용자는 컴포넌트의

이름이나 이름의 일부를 타이핑하여 빠르게 컴포넌트를 찾을 수 있습니다. 또한

툴 팔레트는 대단히 많이 사용자 정의가 가능합니다. 개발자들은 쉽게 자신만의

카테고리를 만들고 컴포넌트를 한 카테고리에서 다른 카테고리로

드래그&드롭할 수 있습니다.

에디터

라인 넘버

이제 에디터에는 라인 넘버가 표시됩니다. 기본적으로는 10 의 배수 라인이

표시되며, 또한 현재 라인의 번호도 표시됩니다. 사용자는 라인 넘버 기능을

꺼둘 수도 있고, 반대로 모든 라인에서 넘버가 표시되도록 할 수도 있습니다.

라인 변경

표시

거터에 에디터의 라인들의 상태 정보를 보여줍니다. 마지막으로 저장된 후

변경된 라인은 노란색으로 표시됩니다. 오픈 후 변경되고 저장된 라인들은

녹색으로 표시됩니다.

Embarcadero Technologies White Paper - 13 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

빌드 이벤트 빌드 이벤트(Build Event) 기능은 프로젝트 옵션에서 지정할 수 있는 기능으로,

프로젝트를 빌드하기 직전 혹은 직후에 개발자가 지정한 특정 명령을 실행할 수

있게 해줍니다.

Pre-Build 이벤트는 빌드하기 직전에, Post-Build 이벤트는 빌드한 직후에

실행됩니다.

예를 들어, ActiveX 등을 개발하는 경우라면 이 빌드 이벤트 기능을 이용하여

빌드할 때마다 인증서 코드 사이닝을 자동으로 할 수도 있습니다.

리팩토링 리팩토링은 원래의 코드의 동작은 그대로 유지한 채로 기존 코드의 구조를

재구성하고 변경하기 위한 테크닉입니다. 리팩토링은 개발자들이 애플리케이션

코드의 성능과 가독성을 모두 높일 수 있게 해줍니다. 델파이는 다음과 같은

리팩토링 동작을 제공합니다.

Symbol Rename

Extract interface

Extract Superclass

Extract Method

Declare Variable / Declare Field

Find References

Extract Resourcestring

Find Unit

Change Parameters

Introduce Field / Introduce Variable

Pull Members Up / Push Members Down

Inline Variable

Safe Delete

Embarcadero Technologies White Paper

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

오딧 & 메트릭 Audits&Metrics 는 각 코드가 표준안에

어느 정도 부합하는지 코드의 품질을

측정하는 표준적인 방법입니다.

UML 통합 프로젝트로부터 직접 모델을 역공학(reverse engineering) 할 수 있습니다.

이렇게 하면 프로젝트의 클래스들이 트리 구조로 보여지는 계층적인 모델

뷰(Model View)가 생성되며, 또한 UML 클래스 다이어그램으로 표시할 수도

있습니다. 이러한 모델과 다이어그램은 프로젝트의 도큐먼트를 자동으로

만들어 주는 목적으로도 사용할 수 있습니다.

통합된

유닛 테스팅

델파이 2007 에서부터 DUnit이 통합되었습니다. 이 프레임워크는

애플리케이션의 클래스 및 메소드들에 대한 테스트 케이스를 만드는 과정을

쉽게 해줍니다. 유닛 테스팅과 함께 리팩토링을 이용하면 애플리케이션의

안정성을 높일 수 있습니다. 작은 수정들이 있을 때마다 코드 전반에 대해 표준

테스트 셋을 테스트해가면 개발 사이클에서 에러들을 좀 더 빨리 잡아낼 수

있습니다. 델파이 IDE는 개발자들이 기존의 코드 라이브러리에 대해 빠르고

Embarcadero Technologies White Paper - 15 -

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288

Embarcadero Technologies White Paper

Delphi XE: Delphi 7 이후의 새로운 IDE 기능들

쉽게 유닛 테스트를 할 수 있게 해주는 위저드들을 제공합니다.

Embarcadero Technologies Inc.는 애플리케이션 개발자 및 데이터베이스 전문가가 자신이 선택한

환경에서 소프트웨어 애플리케이션을 설계, 빌드 및 실행하는 도구를 사용할 수 있도록 합니다. 전

세계 3 백만 이상의 커뮤니티와 Fortune 지 선정 100 대 기업 중 90 개 기업이 Embarcadero 의

CodeGear™ 및 DatabaseGear™ 제품군을 기반으로 하여 생산성을 향상시키고 개방적인 협업 및

자유로운 혁신을 추구하고 있습니다. Embarcadero 는 1993 년에 설립되어 캘리포니아

샌프란시스코에 본사가 있으며 전 세계에 사무소를 두고 있습니다. Embarcadero 의 온라인 주소는

www.embarcadero.com 입니다.

데브기어는 미국 Embarcadero Technologies Inc.와 기존의 코드기어 한국 지사의 협력으로

전략적으로 설립된 엠바카데로 솔루션 전문 공급 기업입니다. 데브기어는 Delphi, C++Builder,

JBuilder, Delphi Prism 등 개발툴 제품들과 ER/Studio, PowerSQL, DB Artisan, EA/Studio 등의

데이터베이스 툴 제품들에 대한 한국 시장에 공급은 물론 기술지원 및 교육 등의 기술 서비스를

제공합니다. 데브기어 웹 사이트는 http://www.devgear.co.kr/ 이며 제품에 대한 문의는

[email protected] 로 하면 됩니다.

데브기어 홈페이지 www.devgear.co.kr 문의 [email protected] | 02-595-4288