13
화이트 페이퍼 C++Builder 6 ~ C++Builder 2010 IDE새로운 기능들 Nick Hodges, 박지훈.임프 200911Corporate Headquarters 100 California Street, 12th Floor San Francisco, California 94111 Asia-Pacific Headquarters L7. 313 La Trobe Street Melbourne VIC 3000 Australia DevGear 서울특별시 서초구 반포동 743-1 4데브기어

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

  • Upload
    others

  • View
    27

  • Download
    4

Embed Size (px)

Citation preview

Page 1: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

화이트 페이퍼

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 Nick Hodges, 박지훈.임프

2009년 11월

Corporate Headquarters

100 California Street, 12th Floor

San Francisco, California 94111

Asia-Pacific Headquarters

L7. 313 La Trobe Street

Melbourne VIC 3000

Australia

DevGear

서울특별시 서초구

반포동 743-1 4층

데브기어

Page 2: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

2

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

IDE Insight IDE 인사이트는 개발자가 IDE 내의 모든

기능, 즉 프로젝트, 컴포넌트, 코드 템플릿,

구성 세팅 등 어느 기능이든 빠르게 찾아낼

수 있도록 해줍니다. 간단히 F6 키를

누르기만 하면 IDE 인사이트가 나타나며,

여기서 개발자는 원하는 기능을 타이핑하기

시작하면 가능한 기능들의 목록이

나타납니다.

여기서 개발자가 특정 기능을 선택하면

해당 기능이 실행되거나 IDE 에서 그

위치로 이동하게 됩니다. IDE 인사이트는

키 입력만으로 전체 IDE 기능들을 호출할

수 있습니다.

클래식 모드

IDE 레이아웃

C++Builder 6 및 이전 버전들의 IDE 레이아웃을 선호하는 개발자들을 위해 C++Builder

2010 에서는 SDI 환경을 완벽하게 지원하여 이전 버전들과 동일하게 배치할 수 있게 되었습니다.

여기에는 클래식 스타일의 컴포넌트 팔레트도 다시 추가되었으며, 검색이 가능하여 전보다 더

편리해졌습니다.

Page 3: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

3

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

Code

Formatter

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

추가되었습니다. 간단히 Edit 메뉴의 Format 을 선택하거나 CTRL-D 를 치면 코드가 자동으로

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

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

유용합니다.

백그라운드

컴파일

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

추가되었습니다. 이 기능을 이용하면 컴파일하는 동안 코드 에디트, 리뷰 등 다른 작업들을 계속할

수 있습니다. 컴파일하기 직전의 유닛들의 메모리 스냅샷으로 컴파일하므로 추가로 코드를

에디트하더라도 영향을 받지 않습니다.

코드 검색

기능 강화 Search > Find 명령어 (^F) 가 재설계되었으며, 이제 다이얼로그 박스로 나타나는 대신 코드

에디터 윈도우의 아래 모서리에 작업표시줄과 비슷하게 나타납니다.

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

그냥 바로 타이핑을 하거나, 혹은 입력한 내용과 일치하는 이전의 검색 문자열들에서 선택할

수 있습니다.

Page 4: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

4

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

검색

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

하이라이트 되고, 화면에 보이는 다른 모든 매치 부분들은 다른 색으로 하이라이트 됩니다.

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

o Tools > Options > Editor Options > Colors 의 Additional search match highlight

항목에서 Background color 와 Foreground color 을 선택하여 이 색들을 사용자 지정할 수

있습니다.

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

Options 의 Show all search matches 체크박스의 체크를 빼면 됩니다.

Find in Files

기능 강화 Search > Find in Files 다이얼로그에는

*.pas 나 *.cpp 처럼 와일드카드 지정을 할

수 있는 새로운 필드(Directory)가

추가되었습니다.

또한 디렉토리 검색을 위해 Directories

필드에 세미콜론으로 디렉토리 이름을

분리하여 입력하거나, 혹은 Folders and

Groups 버튼을 클릭하여 Select Directories

다이얼로그를 열어 여러 디렉토리를 지정할

수 있습니다.

Page 5: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

5

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

C++ 클래스

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

내부의 클래스 구조를 볼 수 있게 해줍니다. 개발자는 클래스를 보는 방식으로 상향식(top-down)

또는 하향식(bottom-up)을 선택할 수 있습니다. 또한 클래스 익스플로러는 기존 클래스

라이브러리에 클래스, 메소드, 프로시저를 추가할 때에도 사용될 수 있습니다.

프로젝트

매니저 강화

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

지정할 수도 있습니다. 현재 프로젝트와 별도로 다른 디렉토리에 위치한 파일들을 표시하는 여러

방법들이 개선되었습니다. 여러 아이템들을 멀티 셀렉트하여 특정 작업을 할 수도 있습니다.

Build

Configuration

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

기능입니다. 기본적으로 Base 로부터 상속된 Release, Debug 의 컨피규레이션들이 있고 각

모드에 맞는 컴파일 옵션들이 설정되어 있습니다. 개발자가 필요한 경우 특정 상황에서 필요한

새로운 컨피규레이션을 추가할 수도 있으며, 예를 들면 특정 고객사를 위한 버전을 만들기 위한

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

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

확장되었으며, 한 프로젝트에서 공들여 설정한 빌드 컨피규레이션을 다른 프로젝트들에서도

재활용할 수 있도록 옵션 셋 기능도 제공합니다.

Page 6: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

6

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

리소스 매니저 이제 RC 파일을 작성하고 프로젝트에

추가하고 관리해야 하는 번거로운

작업 없이, C++빌더 프로젝트에 직접

리소스 파일들을 추가하고 관리할 수

있게 되었습니다. bmp, jpeg, gif,

png 등 이미지 파일들이나 폰트

파일들을 추가할 수 있습니다.

또한 이미지 파일들을 직접 프로젝트

매니저로 드래그하여 프로젝트에

추가하는 것도 가능해졌습니다.

파일

익스플로러

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

해주는 파일 익스플로러를 가지게 되었습니다. 파일들은 프로젝트에

추가되거나 코드 에디터에서 열 수 있습니다. 파일 브라우저는 다른 도킹

가능 윈도우들처럼 IDE 에 도킹될 수 있습니다.

Page 7: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

7

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

라이브

템플릿

라이브 템플릿은 템플릿 기반의 코드 삽입

기능을 제공하여 타이핑을 빠르게

해줍니다. 라이브 템플릿은 기본적으로

단순한 XML 파일이므로, 개발자들은

자신의 특정 필요에 따라 자신만의 코드

템플릿을 작성하여 사용할 수 있습니다.

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

class 블럭을 생성하는 것을 보여줍니다.

블록

컴플리션

블럭 컴플리션은 코드 블럭이 정확하게 닫히도록 해줍니다. 코드 블럭을 시작한 후 리턴 키를 치면

자동으로 블럭을 닫아줍니다. (보통은 ' } '로 닫습니다)

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

컨트롤 시스템의 기능을

합니다. 파일이 저장될

때마다 서브 디렉토리에

백업 파일이 만들어집니다.

IDE 는 diff 엔진을

이용하여 이런 이런

변경들을 추적하여

개발자가 이전 버전들을

살펴볼 수 있게 해줍니다.

파일의 이전 버전이 필요한

경우, 그 버전으로 기존의

파일을 교체할 수

있습니다.

그림은 히스토리 탭이 한

파일의 두 이전 버전을

비교해서 보여주고 있는

모습입니다.

Page 8: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

8

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

쓰레드 디버깅

강화

다음과 같은 새로운 쓰레드 디버깅 기능들이 추가되었습니다.

1. TThread.NameThreadForDebugging 메소드가 추가되었으며 이를 이용하여 IDE 의

Thread View 에 현재 디버깅중인 각 쓰레드들의 이름을 볼 수 있습니다.

2. 특정 쓰레드만 디버깅하기 위한 Thread Specific Breakpoint 기능이 추가되었습니다.

3. 각 쓰레드를 일시적으로 얼리거나 다시 녹일 수 있어 원하는 쓰레드의 디버깅에 집중할 수

있습니다.

디버그

비주얼라이저

TDateTime, TStringList 등 기존에는 디버거에서 그 값을 추적할 수 없었던 타입들을 볼 수 있게

해주는 Debug Visualizer 가 추가되었습니다. 새로운 타입을 위한 비주얼라이저를 개발하여

등록할 수도 있습니다.

Page 9: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

9

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

기타 추가된

디버깅 기능들

다음과 같은 새로운 디버거 기능들이 추가되었습니다.

4. CPU 뷰가 에디터 탭의 바깥에 독립적으로 열릴 수 있습니다.

5. 디스어셈블리 창에 "Show Opcodes" 로컬 메뉴 항목이 추가되었습니다.

6. 디스어셈블리 창에 "Show Addresses" 로컬 메뉴 항목이 추가되었습니다.

7. Tools | Options | Debugger Options | Event Log 에 "Scroll new events into view"

옵션이 추가되었습니다.

8. Tools | Options | Debugger Options | Embarcadero Debuggers 에 "Ignore non-user

breakpoints" 옵션이 추가되었습니다.

9. 툴바를 커스터마이즈할 때 "Notify on language exceptions" 버튼이 추가되었습니다. 이

버튼은 개발자들이 Tools | Options | Debugger Options | Embarcadero Debuggers |

Language Exceptions 페이지에 있는 "Notify on Language Exceptions" 옵션을 빠르게

토글할 수 있게 해줍니다.

10. Ctrl 키를 누르면 개발자가 에디터의 내용을 잘 볼 수 있도록 Evaluator 툴팁이

투명해집니다.

11. Call Stack 뷰에서 해당 프레임이 디버그 정보를 포함하고 있는지 보여주는 이미지를

보여줍니다.

12. Call Stack 뷰에서 지정된 스택 프레임 위치에서 개발자들이 브레이크 포인트를 설정할 수

있습니다.

13. Call Stack 뷰에서 한 항목을 더블 클릭하면 자동으로 로컬 뷰를 동기화해줍니다.

14. 에디터에서 CTRL-F5 핫키를 치면 현재 라인에 설정되어 있는 브레이크 포인트를

활성/비활성화해줍니다.

15. 이제 C++빌더에서도 Project Option 다이얼로그의 Debugger 페이지에서 모든 프로젝트

타입에 대해 "Debug Source Path" 설정을 지정할 수 있습니다.

16. "Automatically close files implicitly opened while debugging" 옵션 설정에 CPU 뷰도

적용되게 되었습니다.

VCL

가이드라인

VCL 디자이너는 이제 컨트롤의 배치를 대단히 쉽게 해주는 가이드라인을 제공합니다. 폼

디자이너는 컴포넌트들을 정렬하기 쉽도록 컨트롤들이 딱 맞게 정렬되거나 크기가 조절되었을 때

가이드라인을 보여줍니다. 아래 그림은 이 기능이 동작하는 모습을 보여줍니다.

Page 10: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

10

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

코드 폴딩 에디터에서 각각의 코드 영역들을 접어서(fold) 보이지 않게 해둘 수 있습니다. 함수/프로시저들은

기본적으로 접혀질 수 있습니다.

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

해줍니다. 첫번째 변수/함수 이름을 수정하면, 다른 이름들도 자동으로 동일하게 수정됩니다. 코드

작성자는 탭을 눌러 코드 내의 특정 이름들을 오갈 수도 있습니다.

Page 11: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

11

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

툴 팔레트

검색

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

타이핑하여 빠르게 컴포넌트를 찾을 수 있습니다. 또한 툴 팔레트는 대단히 많이 사용자 정의가

가능합니다. 개발자들은 쉽게 자신만의 카테고리를 만들고 컴포넌트를 한 카테고리에서 다른

카테고리로 드래그&드롭할 수 있습니다.

에디터

라인 넘버

이제 에디터에는 라인 넘버가 표시됩니다. 기본적으로는 10 의 배수 라인이 표시되며, 또한 현재

라인의 번호도 표시됩니다. 사용자는 라인 넘버 기능을 꺼둘 수도 있고, 반대로 모든 라인에서

넘버가 표시되도록 할 수도 있습니다.

라인 변경

표시

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

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

Page 12: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

12

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

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

프로젝트의 클래스들이 트리 구조로 보여지는 계층적인 모델 뷰(Model View)가 생성되며, 또한

UML 클래스 다이어그램으로 표시할 수도 있습니다. 이러한 모델과 다이어그램은 프로젝트의

도큐먼트를 자동으로 만들어 주는 목적으로도 사용할 수 있습니다.

통합된

유닛 테스팅

C++빌더에 DUnit이 통합되었습니다. 이 프레임워크는 애플리케이션의 클래스 및 메소드들에 대한

테스트 케이스를 만드는 과정을 쉽게 해줍니다. 유닛 테스팅과 함께 리팩토링을 이용하면

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

테스트 셋을 테스트해가면 개발 사이클에서 에러들을 좀 더 빨리 잡아낼 수 있습니다. C++빌더

IDE는 개발자들이 기존의 코드 라이브러리에 대해 빠르고 쉽게 유닛 테스트를 할 수 있게 해주는

위저드들을 제공합니다.

Page 13: C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들 · 화이트 페이퍼 . C++Builder 6 ~ C++Builder 2010 . IDE의 새로운 기능들. Nick Hodges, 박지훈.임프. 2009년

13

C++Builder 6 ~ C++Builder 2010 IDE의 새로운 기능들

Embarcadero Technologies / DEVGEAR

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] 로 하면 됩니다.