Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RAD스튜디오 개발환경(IDE) 사용법

67,476 views

Published on

"윈도우와 맥 개발의 시작을 위한 파이어몽키 코스북"의 3장 내용 전체입니다.

RAD스튜디오 툴의 활용방법을 매우 자세히 정리한 문서입니다.

Published in: Technology
  • Be the first to comment

RAD스튜디오 개발환경(IDE) 사용법

  1. 1. 3장 – 통합개발 환경 목차 3장 – 통합개발 환경.........................................................................................................................................................................1 소개 ..........................................................................................................................................................................................................3 메인 메뉴와 툴 바들 .........................................................................................................................................................................5 보기 메뉴 ...............................................................................................................................................................................................6 사용자 지정 IDE 레이아웃 작성 ...................................................................................................................................................7 File > New 메뉴 사용자 정의하기...............................................................................................................................................8 방문페이지(Welcome Page)와 즐겨 찾기 프로젝트 그룹 작성 .................................................................................... 10 오브젝트 리포지토리에서 프로젝트 템플니트 사용하기 ................................................................................................. 12 오브젝트 인스펙터와 코드 에디터를 이용하여 어플리케이션의 메인 폼 정의하기.......................................... 14 폼 디자이너와 툴 팔레트에서 컴포넌트 추가하기 ............................................................................................................ 17 툴 팔레트를 사용하여 컴포넌트 검색............................................................................................................................ 17 툴 팔레트의 검색 박스를 이용하여 컴포넌트 검색 ................................................................................................. 17 IDE 인사이트를 사용하여 컴포넌트 검색 ..................................................................................................................... 18 컴포넌트 결합 .......................................................................................................................................................................... 19 오브젝트 인스펙터, 속성 에디터와 컴포넌트 에디터를 사용하여 컴포넌트 제어하기 ...................................... 20 오브젝트 인스펙터 사용 ...................................................................................................................................................... 20 속성 에디터 ............................................................................................................................................................................... 23 컴포넌트 에디터 ...................................................................................................................................................................... 24 코드 에디터와 히스토리 리스트 ................................................................................................................................................ 26 코드에디터 ................................................................................................................................................................................. 26 변경 바 ............................................................................................................................................................................... 26 코드 들여쓰기.................................................................................................................................................................. 27 코드 포맷팅 ...................................................................................................................................................................... 27 코드 인사이트 .......................................................................................................................................................................... 28 코드 파라미터 힌트....................................................................................................................................................... 29 코드 힌트........................................................................................................................................................................... 29 헬프 인사이트.................................................................................................................................................................. 29 코드 완성........................................................................................................................................................................... 29 클래스 완성 ...................................................................................................................................................................... 30 블록 완성........................................................................................................................................................................... 30 코드 검색(Ctrl-Click)...................................................................................................................................................... 30 코드 탐색 ................................................................................................................................................................................... 31 메소드 호핑(Method Hopping) ................................................................................................................................ 31
  2. 2. 클래스 검색 ...................................................................................................................................................................... 31 유니트 검색 ...................................................................................................................................................................... 31 변경 내용 이전과 다음 검색 ..................................................................................................................................... 32 사용되는 소스 코드 검색............................................................................................................................................ 32 라이브 코드 템플릿 ............................................................................................................................................................... 32 코드 접기 ................................................................................................................................................................................... 33 리팩토링...................................................................................................................................................................................... 34 동기화 편집(Sync Edit).......................................................................................................................................................... 34 해야 할 일 목록(To-Do Lists) ............................................................................................................................................ 35 매크로 키 입력 ........................................................................................................................................................................ 35 북마크 .......................................................................................................................................................................................... 35 블록 주석 ................................................................................................................................................................................... 36 히스토리 리스트 ...................................................................................................................................................................... 36 스트럭처 뷰(Structure View), 델파이 클래스 탐색기와 C++ 클래스 탐색기 ....................................................... 38 스트럭처뷰(Structure View) ................................................................................................................................................. 38 델파이 클래스 탐색기 ........................................................................................................................................................... 40 C++ 클래스 탐색기 ............................................................................................................................................................... 41 프로젝트 매니저, 빌드 구성 및 옵션 세트 ........................................................................................................................... 44 프로젝트 매니저 ...................................................................................................................................................................... 44 빌드 구성 ................................................................................................................................................................................... 47 옵션 셋........................................................................................................................................................................................ 48 프로그램 컴파일과 실행 ............................................................................................................................................................... 51 프로그램 디버깅 ............................................................................................................................................................................... 52 코드의 단계적 실행 ............................................................................................................................................................... 52 값 평가/수정 ............................................................................................................................................................................. 53 브레이크포인트 ........................................................................................................................................................................ 53 소스 브레이크포인트 설정하기 ................................................................................................................................ 53 주소 브레이크포인트 설정하기 ................................................................................................................................ 55 데이터 브레이크포인트 설정하기 ............................................................................................................................ 56 모듈 로드 브레이크포인트 설정 .............................................................................................................................. 57 세션에서 세션으로 브레이크포인트 허용하기.................................................................................................... 58 조건 브레이크포인트 생성하기 ................................................................................................................................ 60 실행 시점의 텍스트 색상이나 브레이크포인트 색상을 변경하려면 ......................................................... 61 Watches ...................................................................................................................................................................................... 62 디버그 윈도우 .......................................................................................................................................................................... 63 요약, 해야 할 일, 리소스 ............................................................................................................................................................. 66
  3. 3. 소개 2장에서 통합 개발환경(IDE), 플랫폼 어시스턴트(PAServer), 델파이나 C++ 컴파일러 및 파이어몽키를 사용하여 윈도우용, 맥 용 어플리케이션을 작성해 보았습니다. 3장에서는 개발 환경을 더 자세히 알아보도록 하겠습니다.3장은 아래의 주제들을 포함합니다:  메인 메뉴와 툴 바  보기 메뉴  사용자 정의 IDE 레이아웃 만들기  File>New 선택 메뉴 정의하기  방문(Welcome) 페이지와 즐겨 찾기 프로젝트 그룹 만들기  오브젝트 리포지토리로부터 프로젝트 템플릿 사용하기  오브젝트 인스펙터와 코드 에디터를 사용하여 프로그램의 메인 폼 제어하기  폼 디자이너와 툴 팔레트를 사용하여 프로그램에 컴포넌트 추가하기  오브젝트 인스펙터, 속성 편집기와 컴포넌트 에디터를 사용하여 컴포넌트 제어하기  코드 에디터와 히스토리 리스트  스트럭처 뷰, 델파이 클래스 탐색기,C++ 클래스 탐색기  프로젝트 매니저, 빌드 설정과 옵션 셋  어플리케이션 컴파일하고 실행하기  어플리케이션 디버깅하기 RAD Studio를 시작하면, 통합개발환경(IDE)이 시작되고 몇 개의 툴들과 메뉴들이 표시됩니다.IDE는 사용자 인터페이스를 시각적으로 설계하고, 오브젝트의 속성을 설정하고, 코드를 작성하고 어플리케이션을 다양한 방법으로 보고 관리할 수 있도록 도와줍니다.
  4. 4. 이제 개발 환경 하나씩 자세히 살펴 보도록 하겠습니다.
  5. 5. 메인 메뉴와 툴 바들 통합 개발환경(IDE)의 메인 메뉴는 프로젝트를 생성하고 프로젝트들을 관리하고, 어플리케이션을 컴파일하고 프로젝트를 디버깅하고 컴포넌트를 작성하고, 옵션을 지정하고 어떠한 윈도우 창이든 빠르게 선택할 수 있는 명령들과 데스크톱 레이아웃과 도움말과 문서로 구성되어 있습니다. 메인 메뉴 바로 아래에 툴 바가 있는데 유니트 보기, 폼 보기, 유니트와 폼간의 토글링, 파일 운영과 실행/디버그 등 주로 개발환경에서 사용되는 기능을 위한 스피드 버튼들로 구성되어 있습니다. 툴 바들은 또한 여러 줄로 배치할 수 있습니다 (위에 보여지는 화면은 모든 툴 바가 한 줄로 구성된 모습입니다).View >Toolbars 메뉴 항목은 IDE상에 표시되는 툴 바를 선택 할 수 있습니다.IDE의 맨 위의 메뉴의 아래에 위치한 툴 바의 빈 공간에서 오른쪽 마우스를 클릭하여도 원하는 메뉴를 툴바에 표시할 수 있습니다. 툴 바 정렬하기 1. 툴 바 왼쪽에 있는 그립(손잡이)바를 클릭합니다. 2. 툴 바를 다른 위치로 또는 데스크톱으로 드래그 합니다. 툴 바에 아이콘 추가하기 1.View > Toolbars>Customize…를 선택합니다. 2. 커맨드 탭을 클릭합니다. 3. 커맨드 리스트에서, 툴 아이콘을 보기 위해 카테고리를 선택합니다. 4. 커맨드 리스트에서 선택한 아이콘을 원하는 툴 바 위에 드래그 합니다. 5. 작업이 끝나면 Close를 클릭합니다.
  6. 6. 툴 바에서 아이콘 삭제하기 1.View > Toolbars>Customize…를 선택합니다. 2. 나타나는 Customize 윈도우 창이 아니라 메뉴 툴바로 가서, 삭제하고 싶은 아이콘을 선택하여 드래그하여 아이콘에 X 가 표시되면 마우스 버튼을 놓아서 삭제합니다. 3. 작업이 완료되면 Customize 윈도우 창을 Close합니다. 보기 메뉴 View 메뉴의 명령과 대화상자에서는 RAD Studio에서 보기 정보에 관한 관리자, 윈도우 창과 다른 툴들을 불러올 수 있습니다. 메뉴 항목의 오른쪽에는 해당하는 핫 키를 확인 할 수 있습니다.
  7. 7. 사용자 지정 IDE 레이아웃 작성 사용하실 수 있는 기본 IDE 레이아웃 몇 가지가 있습니다. View >Desktops 메뉴를 사용하거나 메인 메뉴 오른쪽에 데스크톱 레이아웃 툴 바에서 아래 화살표를 클릭하여 현재 데스크톱의 레이아웃을 선택합니다. 데스크톱 툴 바는 현재 데스크톱 레이아웃들과 저장한 사용자 지정 레이아웃 중에서 선택하거나 또한 현재 레이아웃이나 디버깅을 위한 레이아웃들을 저장할 수 있습니다. 데스크톱 레이아웃은 윈도우 창들을 생성하고 관리하기 위해서 사용됩니다.View> Desktops을 사용하여 아래와 같은 메뉴 항목을 선택합니다:  None – 현재 데스크톱 레이아웃을 지정하지 않습니다.  ClassicUndocked -메뉴들, 팔레트, 디자이너, 기타 등등의 윈도우 창들이 독립적으로 분리 되는 델파이 이전 버전의 레이아웃.  DebugLayout– 콜 스택, 스레드와 다른 뷰들을 보여주는 디버깅을 위한 레이아웃  DefaultLayout– 툴 팔레트, 오브젝트 인스펙터, 폼 디자이너, 기타 등등 설계 시 가장 많이 사용되는 창들을 하나의 컨테이너 안에 도킹하여 모든 창들을 보여줍니다.  SaveDesktop – 데스크톱 저장 대화상자를 부릅니다.  Delete Desktop– 저장된 데스크톱을 삭제하는 대화상자를 부릅니다.  Set DebugDesktop – 디버그 데스크톱을 선택하는 대화상자를 부릅니다. 사용자 지정 데스크톱 레이아웃을 저장하기 위해, 원하는 개발환경 방식을 지정하고 저장 데스크톱 버튼을 클릭하거나 View >Desktops> Save Desktop를 선택합니다. 현재 데스크톱 저장 대화상자가 표시되면 새로운 데스크톱 이름을 입력 하거나 기존의 데스크톱 이름으로 대치합니다. 참고: 현재 데스크톱 레이아웃은 Tools > Options>Environment Options 메뉴에서 “Auto saveProjectDesktop” 항목을 셋팅 했을 때 .dsk 파일로 저장됩니다. 다음 번에 프로젝트를 오픈 했을 때, 저장 된 데스크톱과 브레이크포인트, 보기 창(watches), 열린 파일들을 포함한 다른 설정들이 복구됩니다.
  8. 8. File > New 메뉴 사용자 정의하기 RAD Studio를 설치 한 후,the File > New 메뉴에는 작성할 수 있는 몇 가지 공통적인 프로젝트 타입들을 포함합니다.File > Other… 메뉴를 사용 하여 “New Items” 리스트들을 볼 수 있습니다.
  9. 9. File > New 메뉴에 사용자가 자주 사용하는 프로젝트와 파일 타입들을 포함하도록 지정할 수 있습니다.File > New >Customize… 메뉴 항목을 선택하여 File > New 메뉴를 지정합니다. 이 대화상자에서 중앙 패널에서 메뉴 항목을 드래그하여 오른쪽 패널로 드롭하여 File > New 메뉴의 내용을 지정합니다. 새 메뉴 정의 대화상자에는 3 가지 영역이 있습니다:  갤러리 아이템 – 오브젝트 리포지토리에서 사용할 수 있는 갤러리 아이템의 폴더들이 표시됩니다. 폴더를 클릭하면 가운데 패널에 내용들이 표시됩니다. 중앙 패널의 첫 번째 항목은 File > New 메뉴 항목들에 분리선을 추가할 때 사용하는 “Separator” 입니다.  메뉴 아이템 - File > New 메뉴에 현재 포함되어 있는 아이템들이 표시됩니다.File > New 메뉴에서 아이템을 지우려면, 원하는 아이템을 선택하고 드래그하면 아이콘에 X가 표시됩니다. 이때 마우스 버튼을 놓아서 삭제합니다. 메뉴 항목의 텍스트를 수정하려면, 텍스트를 더블 클릭하여 새로운 텍스트를 입력합니다. 메뉴 항목간에 분리선을 추가하고 싶다면, 중앙 패널에서 분리선 항목을 드래그하여 메뉴 리스트에 드롭합니다.  시작할 때 기본 어플리케이션 – 디폴트 어플리케이션 타입으로 지정하려면, 중앙 패널에서 표시된 어플리케이션 타입을 드래그하여 이 버튼 위에 드롭합니다. 디폴트 어플리케이션을 삭제하려면 버튼을 클릭합니다. OK 버튼을 클릭하여 File>New 메뉴의 사용자 정의를 완료합니다.
  10. 10. 방문페이지(Welcome Page)와 즐겨 찾기 프로젝트 그룹 작성 RAD Studio를 시작 했을 때, 프로젝트 관련 기사, 교육과 온라인 도움말등과 같은 개발자 리소스에 대한 링크수가 표시되는 방문페이지가 나타납니다. 프로젝트 개발 시 페이지 상단에 최근 작업한 프로젝트들의 리스트에서 빠르게 접근 할 수 있습니다 방문페이지를 닫았다면,View >Welcome Page를 클릭하여 다시 오픈 할 수 있습니다. 방문페이지 메뉴 바에서 현재 프로젝트나, 새로운 프로젝트를 선택할 수 있고 엠바카데로 블로그나 개발자 네트워크의 새로운 소식들, 파트너 툴들, 엠바카데로 웹 사이트와 제품 도큐먼트들에 관한 정보들을 선택 할 수 있습니다. 방문페이지로 돌아가기 위해 홈 아이콘을 사용하고 다른 페이지로 앞 뒤로 이동하기 위해 화살표 아이콘을 사용합니다(브라우저에서 사용하는 것과 같이). 방문페이지는 작업 했던 최근 프로젝트들이 표시됩니다. 프로젝트 오른쪽 “즐겨 찾기 추가하기”링크를 클릭하여 최신 프로젝트 즐겨 찾기 중에 등록합니다. 또한 한번의 클릭으로 신속하게 프로젝트를 로드 하기 위해 프로젝트 “즐겨 찾기” 그룹을 만들 수 있습니다. 저는 보통 방문페이지는 제가 가장 자주 사용하는 프로젝트를 표시하도록 설정했습니다. 자주 사용하는 프로젝트 그룹을 만들려면 방문페이지의 왼쪽에 있는 "즐겨 찾기 관리” 링크를 클릭합니다. "즐겨 찾기 프로젝트 관리” 페이지 하단에서 즐겨 찾기 그룹의 새로운 이름을 주고 "Create"링크를
  11. 11. 클릭하십시오. 즐겨 찾기 그룹을 생성 한 후에는 프로젝트의 왼쪽에 있는 "Move"링크를 클릭하여 이 그룹에 새 즐겨 찾기 중 하나를 이동할 수 있습니다. 풀다운 목록 상자에서 즐겨 찾기 그룹을 선택하면 선택한 프로젝트가 해당 목록으로 이동합니다. 또한 즐겨 찾기 프로젝트 목록에서 모든 프로젝트를 제거하려면 "Delete"링크를 클릭합니다.
  12. 12. 오브젝트 리포지토리에서 프로젝트 템플릿 사용하기 Object Repository 또는 Gallery(File > New > Other…)는 새로운 프로젝트, 폼, 대화상자 그리고 다른 프로젝트와 파일들을 생성을 쉽게 하도록 도와줍니다. 또한 새로운 프로젝트를 위한 템플릿과 마법사를 제공합니다 오브젝트 리포지토리:  New 아이템 대화상자에 표시되는 아이템들에 대한 참조 정보를 포함하고 있는 XML 파일인 RADStudioRepository.xml (ObjRepos 디렉터리에 위치하는)에 정보가 유지보수 됩니다.  플랫폼에 의해 필터링 되어짐으로 현재 타깃 플랫폼에서 지원되는 폼 타입들 또는 프로젝트들만 표시됩니다. 검색 창에서 검색할 내용을 입력합니다: 갤러리에서 위치하고 싶은 프로젝트나 파일 이름의 일부를 입력합니다. 새 아이템 대화상자는 자동으로 여러분이 입력한 문자와 일치하는 항목들만 표시합니다.X를 클릭하여 검색 문자를 지웁니다. 이 검색에서 잘 알려진 두 개의 와일드 카드가 있습니다:  * 가능한 한 많은 문자가 일치합니다.  ? 하나의 문자와 일치합니다. 고유의 *는 입력한 검색 문자의 앞과 뒤에 추가되고, 부분 문자와 일치하는 것을 찾도록 합니다. 오브젝트 리포지토리에서 항목 위에 마우스를 가져다 대면 항목의 설명이 도움말/코멘트 영역에 표시됩니다.
  13. 13. 오브젝트 리포지토리에 작성하신 프로젝트, 폼, 다른 파일들을 추가 할 수 있습니다. 프로젝트 또는 프로젝트 안에 있는 아이템이라면 프로젝트를 오픈 합니다. 프로젝트인 경우는 Project>Add to Repository… 메뉴항목을 선택합니다. 폼이나 데이터모듈인 경우는, 추가하고 싶은 항목에서 오른쪽 마우스를 클릭하여 Add to Repository…를 선택합니다. 두 경우 모두, 제목, 설명과 작성자를 입력합니다.“Browse…” 버튼을 클릭하여 오브젝트를 표시하기 위한 아이콘을 선택합니다. 아이템이 표시되길 원하는 카테고리를 결정하거나 “New” 카테고리 버튼을 클릭하여 새로운 카테고리 이름을 입력합니다. 완료되면 OK 버튼을 클릭합니다.
  14. 14. 오브젝트 인스펙터와 코드에디터를 이용하여 어플리케이션의 메인 폼 정의하기 File > New 메뉴를 사용하여,“FireMonkeyHDApplication –Delphi” 또는 “FireMonkeyHD Application – C++” 프로젝트 마법사를 선택합니다. 비어 있는 폼을 메인 폼으로 하는 프로젝트가 생성됩니다. 오브젝트인스펙터에서 폼 caption을 “My Main Form”으로 변경합니다. 오브젝트 인스펙터에서 ClientHeight 와 ClientWidth 속성을 변경하여 메인 폼의 사이즈를 조정합니다. 또한 폼의 오른쪽 하단에서 왼쪽 마우스 버튼을 클릭하여 드래그하여 폼의 크기를 지정할 수 있습니다. 오브젝트 인스펙터에서 WindowState 속성을 wsNormal, wsMinimized ,wsMaximized로 지정 할 수 있습니다. 다음은 오브젝트 인스펙터에서 지정 할 수 있는 추가적인 속성들입니다. File > New > Other…에서 “C++Builder Projects|C++Builder Files|FireMonkeyHDForm” 또는 “DelphiProjects|Delphi
  15. 15. Files|FireMonkeyHDForm”을 선택해서 프로젝트에 폼을 추가할 수 있습니다. 메인 폼(또는 다른 폼)을 사용자 정의하는 또 다른 방법은 코드 에디터를 사용하는 것입니다. 폼을 텍스트로 보려면, 폼 위에서 오른쪽 마우스를 클릭하여 팝업에서 “View as Text”를 선택합니다. 코드 에디터가 폼 디자이너 대신에 표시됩니다. 폼의 텍스트 보기는 디폴트 값과 다른 속성 값을 갖는 폼의
  16. 16. 오브젝트와 속성이 나타납니다. 코드에디터에서 property =value 문법을 사용하여 폼의 속성들을 변경할 수 있습니다. 코드에디터에서 폼을 편집할 때 문법 체크를 하지 않기 때문에 주의하셔야 합니다. 완료되면, 오른쪽 마우스를 클릭하여 “View as Form”(또는 Alt-F12 핫 키를 이용하여)를 선택하여 수정한 내용을 시각적으로 확인하기 위해 폼으로 돌아옵니다. 코드 에디터에서 잘못 입력 하셨다면 아래와 같은 오류 메시지가 표시됩니다: Cancel 버튼을 클릭하고 오류를 수정하고 “View as Form”를 선택합니다.
  17. 17. 폼 디자이너와 툴 팔레트에서 컴포넌트 추가하기 2장에서 첫 번째 윈도우와 맥 용 어플리케이션을 작성하였을 때 폼에 어떻게 컴포넌트를 추가하고 검색하는지 살펴보았습니다.IDE에 유저 인터페이스를 작성하기 위해 수 백 개의 재사용 가능한 컴포넌트가 있습니다. 사용하고자 하는 컴포넌트를 검색하는 방법은 세 가지 방법이 있습니다. 툴 팔레트를 사용하여 컴포넌트 검색 툴 팔레트에서 커서를 이동하여 (+) 아이콘을 클릭하여 Standard 카테고리를 확장합니다. 그리고 TEdit 컴포넌트를 선택하여 폼 디자이너 위로 드래그-드롭합니다 (또는 툴 팔레트에서 TEdit 컴포넌트를 더블 클릭하면 폼 위에 추가됩니다). 툴 팔레트의 검색 박스를 이용하여 컴포넌트 검색 툴 팔레트의 검색 박스를 사용하여 컴포넌트를 검색 할 수 있습니다. 검색 박스를 클릭하고 시작 문자 “ted” 를 입력하면 Ted 가 나타나는 컴포넌트 중에 TEdit 컴포넌트를 선택합니다. TEdit 컴포넌트를 선택하고 폼 디자이너 위로 드래그-드롭합니다 (또는 툴 팔레트의 TEdit 컴포넌트를 더블 클릭하면 폼 위에 추가됩니다).
  18. 18. IDE 인사이트를 사용하여 컴포넌트 검색 컴포넌트 검색의 세 번째 방법은 F6 키 또는 Control .을 눌러 IDE Insight를 사용하는 것입니다.“TEdit” 단어를 입력하기 시작하면 입력한 텍스트와 일치하는 (컴포넌트, 템플릿, 프로젝트들과 다른 IDE등) 항목들이 표시됩니다. 리스트에서 TEdit 컴포넌트를 선택하면 폼 위에 추가됩니다. 어떤 방법을 사용하든 TEdit 컴포넌트는 폼 위에 표시됩니다.
  19. 19. 컴포넌트 결합 폼 위에 여러 개의 컴포넌트를 내려 놓을 수 있는 것처럼 (폼은 컴포넌트들의 상위 컨테이너입니다), 각 컴포넌트는 다른 컴포넌트들을 포함 할 수 있습니다. 이것을 컴포넌트 결합(compositing)이라고 부릅니다. 예를 들면, 에디터 박스에 TLabel 컴포넌트를 붙일 수 있습니다. 폼 위에 TLabel 컴포넌트를 내려 놓습니다. 스트럭처 뷰에서,TLabel 컴포넌트를 드래그하여 TEdit 컴포넌트 위에 가져다 놓습니다. 폼 디자이너 위에서,Label을 에디터 박스 오른쪽 위로 이동합니다. 폼의 에디터 박스를 이동하기 위해 마우스를 사용합니다.label은 여전히 에디터 박스의 오른쪽 상단에 있습니다. 모든 파이어몽키 컴포넌트에서 이렇게 사용할 수 있습니다. 개수에 관계없이 얼마든지 컴포넌트를 다른 컴포넌트의 “부모” 컴포넌트가 될 수 있습니다.
  20. 20. 오브젝트 인스펙터, 속성 에디터와 컴포넌트 에디터를 사용하여 컴포넌트 제어하기 오브젝트 인스펙터 사용 오브젝트 인스펙터는 어플리케이션의 시각적인 부분과 작동되는 코드 사이의 연결입니다. 오브젝트 인스펙터의 기능은 다음과 같습니다:  설계 시에 폼 위에 위치하고 있는 컴포넌트 또는 폼 자체의 속성을 설정할 수 있습니다.  이벤트 핸들러를 생성하고 검색을 도와줍니다.  속성과 이벤트들을 필터링 하여 보여줄 수 있습니다. 폼 위에 컴포넌트가 있을 때, 오브젝트 인스펙터를 사용하여 모든 “published” 속성들을 변경할 수 있고 프로그램 코드에서도 수정 할 수 있습니다. 컴포넌트들을 또한 오브젝트 인스펙터에 표시되지 않고 오로지 코드 상에서만 수정 할 수 있는 Public 과 Private 속성들이 있습니다. 오브젝트 인스펙터를 사용하여 각 컴포넌트의 필요한 값들을 지정합니다. 원하는 컴포넌트를 선택하기 위해:  폼 디자이너에서 컴포넌트를 클릭합니다  스트럭처 뷰에서 컴포넌트를 선택합니다  오브젝트 인스펙터상단의 인스턴스 리스트를 사용합니다 오른쪽 마우스를 클릭하여 오브젝트 인스펙터를 사용자 정의할 수 있습니다. 컨텍스트 메뉴에 속성의 정렬
  21. 21. 타입이나 필터링 옵션과 같은 옵션들을 지정하기 위한 리스트들을 보여줍니다. 오브젝트 인스펙터 컨텍스트 메뉴는 다음과 같습니다:  View– 속성이나 이벤트를 필터링 하여 표시합니다.  Arrange– 속성이나 이벤트를 이름이나 카테고리 순으로 정렬합니다.  Revert to Inherited – 계승 받은 원래의 값으로 속성 값을 복구합니다.  Expand – 선택된 속성과 이벤트를 확장합니다.  Collapse– 선택된 속성과 이벤트를 접어두기 합니다.  Help – 도움말을 표시합니다.  Properties – 오브젝트 인스펙터 대화상자를 표시하여, 오브젝트 인스펙터의 표시 형식을 변경할 수 있습니다.  Stay on Top – 다른 창이 있어도 오브젝트 인스펙터를 데스크톱의 맨 위에 표시합니다.  Dockable– 오브젝트 인스펙터의 드래그—드롭을 활성화합니다. Properties 페이지는 폼 위에 선택된 컴포넌트의 속성을 표시합니다. 속성이 이름순(디폴트로)으로 정렬되어 있다면 Properties 페이지의 첫 번째 칼럼은 선택된 컴포넌트의 published 속성의 이름을 나열합니다. 속성들은 다음과 같습니다:  속성 이름 옆에 (+) 표시가 나타나면,(+)를 클릭하여 하위 속성을 표시합니다. 속성이 플래그들의 집합을 표시할 때 리스트 목록에는 사용 가능한 값들을 포함합니다 (value 칼럼은 대괄호 안에 묶여 있는 집합들), 또는 하위 속성들을 표시합니다-
  22. 22. 만일 속성이 오브젝트를 나타낸다면 (value 칼럼은 괄호로 묶여있는 오브젝트 이름을 제공합니다).  비슷하게, 마이너스(-)기호가 표시된다면, 하위-속성을 펼쳐보기 위해 (-)를 클릭합니다. 속성에 입력 포커스가 있을 때, 속성을 펼치거나 접어두기 하기 위해 키보드에서 + 와 – 키를 사용할 수 있습니다. 속성 페이지의 두 번째 칼럼은 속성 값으로 다음과 같은 종류가 있습니다:  속성이 선택되었을 때, 새로운 값을 입력 할 수 있는 에디터 창에서 값을 변경합니다.  대화상자를 사용하여 값을 지정한다면, 속성이 선택 되었을 때 줄임표 버튼이 표시됩니다. 버튼을 클릭하면 속성을 지정 할 수 있는 대화상자가 표시됩니다. 값 칼럼을 더블 클릭하여도 대화상자가 표시됩니다.  값이 열거 타입이라면, 드롭-다운 버튼이 표시됩니다. 이 버튼을 클릭하면 속성 값으로 지정 할 수 있는 목록 리스트가 표시됩니다. 커서, 브러시 타입, 색상과 이미지 리스트와 같이 이미지를 포함하는 속성들의 드롭-다운 리스트에서 이미지들을 볼 수 있습니다.ImageIndex 속성에 의해 참조되는 이미지를 보기 위해, 그림을 가지고 있는 이미지 리스트를 속성에 지정해야 합니다.  값이 다른 컴포넌트일 경우는, 더블 클릭 상태에서 Ctrl키를 누른 상태로 오브젝트 인스펙터에 있던 포커스를 해당 컴포넌트로 이동합니다.
  23. 23. 속성 에디터 Font와 같은 일부 속성에서는, 특별한 속성 에디터를 가지고 있습니다. 오브젝트 인스펙터에서 속성이 선택되었을 때 어떤 속성들은 값 뒤에 생략 기호(...) 가 나타납니다 속성 에디터를 열기 위해, Value칼럼을 더블 클릭하거나 (...)기호를 클릭하거나 Ctrl+Enter를 입력합니다. 일부 컴포넌트들은 폼 위에서 컴포넌트를 더블 클릭하면 속성 에디터가 열립니다. 속성 에디터는 하나의 대화상자에서 복잡한 속성을 설정 할 수 있도록 해줍니다. 입력 내용이 유효한지 검사하고 가끔 할당된 결과 값을 미리 보여줍니다.
  24. 24. 컴포넌트 에디터 컴포넌트 에디터는 컴포넌트가 디자이너에서 더블 클릭되고 컴포넌트에서 오른쪽 마우스 클릭했을 때 표시되는 컨텍스트 메뉴에 명령어를 추가하였을 때 어떤 작업을 수행 할 것인지를 결정합니다. 사용자 지정 형식으로 컴포넌트를 윈도우 클립보드에 복사 할 수 있습니다. TMenuBar는 컴포넌트 에디터를 가지고 있는 파이어몽키 컴포넌트 예제 중 하나입니다. 폼에 TMenuBar 컴포넌트를 추가합니다.Align 속성을 alTop으로 지정합니다. TMenuBar 컴포넌트 에디터의 하나를 선택하는 방법은 다음과 같은 세 지가 있습니다: 1) 폼 디자이너에서 TMenuBar를 더블 클릭하여 디폴트 컴포넌트 에디터를 가져옵니다. 2) 폼 디자이너에서 TMenuBar 를 오른쪽 마우스 클릭하여 팝업 메뉴의 상단의 ItemsEditor… 나 Add Item 을 선택합니다.
  25. 25. 3) Items Editor…를 클릭하거나 오브젝트 인스펙터의 밑에서 아이템 엔트리를 추가합니다. 컴포넌트 에디터는 컴포넌트 생성자에 위해 만들어집니다. 컴포넌트 구현의 일부처럼 컴포넌트 생성자는 컨텍스트 메뉴에 아이템을 추가 할 수 있습니다.
  26. 26. 코드 에디터와 히스토리 리스트 코드에디터 코드에디터는 폼 디자이너와 함께 IDE 중앙 패널에 위치합니다. 코드 에디터는 언어 요소에 대한 상황에 맞는 도움말과 구문 강조, 다중 실행 취소 기능 등을 제공하는 완벽한 기능을 갖춘 사용자 정의 UTF8 편집기입니다. 어플리케이션의 유저 인터페이스 디자인 시,RAD Studio 는 기본 코드를 생성합니다. 오브젝트 속성을 변경하면 자동적으로 소스 파일에 반영됩니다. 코드 작성을 도와주기 위해, 코드에디터는 바 색상 변경, 코드 들여쓰기, 코드 포맷팅, 코드 인사이트, 코드 파라미터 힌트, 헬프 인사이트, 코드 완성, 클래스 완성, 블록 완성, 코드 브라우징, 코드 네비게이션, 라이브 코드 템플릿, 코드 폴딩, 리팩토링, 동기화 편집(Sync Edit), 해야 할 일 목록, 키 입력 매크로, 북 마크와 블록 코멘트 등을 포함한 많은 기능들을 제공합니다. 변경 바 코드 에디터의 왼쪽 부분에 현재 에디팅 세션에서 수정 되어 진 라인을 표시하기 위해 그린 변경 바가 표시됩니다. 노란색 변경 바는 마지막 File > Save 동작 이후부터 수정된 부분을 가리킵니다. 디폴트인 그린과 노란색을 다른 색상으로 지정할 수 있습니다.Tools > Options> Editor Options>Color 선택합니다. 드롭-다운 항목 메뉴에서 Modified Line을 선택하고 전경색상과 백그라운드색상을 변경합니다.
  27. 27. 코드 들여쓰기 코드 에디터에서 코드 블록 또는 현재 코드 라인을 들여쓰기 하기 위해 TAB 키를 사용합니다. 들여쓰기 할 스페이스의 수는 Tools >Options> Editor Options>Source Options 대화상자의 블록 들여쓰기(Block indent) 옵션에서 지정합니다.  코드 라인을 들여쓰기 하기 위해서, 코드 라인 처음에 커서를 위치시키고 TAB을 누릅니다.  코드 전체 블록을 들여쓰기 하기 위해서, 코드 블록을 하이라이트 하고 TAB을 누릅니다.  텍스트를 왼쪽으로 이동하기 위해서 SHIFT+ TAB키를 사용합니다. 코드 포맷팅 RAD Studio는 소스 코드 포맷터를 사용자 정의 할 수 있습니다. 코드 에디터에서 델파이나 C++ 코드를 편집 할 경우, 소스 코드를 포맷하기 위해 컨텍스트 메뉴 명령을 적용할 수 있습니다 (또는 Edit > Format Source 메뉴 명령) Tools > Options>Formatter 옵션 대화상자의 포맷터 그룹 아래에 들여쓰기, 빈 공간 채우기, 줄 바꾸기, 대소문자 사용과 정렬 포맷 옵션 등이 있습니다. 소스 포맷은 코드를 자동으로 정해진 포맷으로 구성합니다. 옵션 대화상자에서 지정한 포맷 옵션만 적용되고 코드 에디터에서 수동으로 지정한 포맷은 옵션에 적용한 포맷으로 모두 다시 적용됩니다. 예를 들면, 수동으로 지정한 들여쓰기는 무시됩니다. 코드 블록을 선택하여 소스 포맷 코멘트를 호출하면, 이 블록에 포맷이 적용됩니다. 참고: Tools 옵션의 에디터 옵션 페이지는 소스 옵션들, 색상, 화면표시, 키 맵핑과 코드 인사이트를 포함한 추가적인 포맷팅 옵션들이 있습니다. 코드에디터 사용자 정의를 살펴보겠습니다.
  28. 28. 코드 인사이트 코드 인사이트는 (코드 작성 과정에 도움을 주는 코드 파라미터 힌트, 코드 힌트, 도움말 힌트, 코드 완성, 클래스 코드 완성, 블록 코드 완성과 코드 브라우저와 같이) 코드 에디터에 포함된 기능의 일부입니다. 이러한 기능들은 코드 상에 입력하고 싶은 공통 문장들을 찾거나, 속성과 메소드를 선택하는데 도움을 줍니다. 기능들의 일부는 다음 단계에서 자세하게 설명하겠습니다. 코드 에디터 사용시 코드 인사이트를 호출하기 위해서,CTRL+SPACE를 사용합니다. 커서 위치에서 유용한 심볼들이 팝업 창으로 표시됩니다. Tools > Options> Editor Options를 선택하여 CodeInsight를 클릭하면 코드 인사이트 기능들을 사용할 수 있도록 구성하고 설정 할 수 있습니다. 델파이를 사용하신다면, 팝업 창은 속성에서 read 또는 write 구문으로 표현되는 모든 인터페이스 메소드 선언부를 표시합니다. 창은 인터페이스 타입에 선언된 속성과 메소드만 표시합니다.
  29. 29. 코드 파라미터 힌트 메소드, 함수나 프로시저에서 시작 괄호를 입력하고 나면, 코드 에디터는 괄호 사이의 매개변수 이름과 타입을 포함하는 힌트를 표시합니다, 예를 들면, ShowMessage(|);CTRL+SHIFT+SPACE를사용하여 코드 파라미터 힌트 창을 불러옵니다. (C++) (Delphi) 코드 힌트 에디터에서 심볼 위에 커서를 올려 놓으면, 타입, 파일, 선언 되어 있는 라인 번호등과 같은 정보를 포함한 힌트가 표시됩니다. 참고: 코드 힌트는 헬프 인사이트가 비활성화 되어 있는 경우만 적용됩니다. 헬프 인사이트를 비활성화하려면, Tools > Options> Editor Options>Code Insight 대화상자에서 Tooltip helpinsight의 선택을 취소합니다. 헬프 인사이트 코드 에디터에서 작업하는 동안 코드의 식별자위에 마우스를 가져 가면 헬프 인사이트는 심볼의 타입, 파일, 정의된 라인 수 심볼과 연결된 XML 문서 (가능하다면)등 정보를 포함한 힌트를 표시합니다, CTRL+SHIFT+H를 눌러서 헬프 인사이트를 사용합니다. 코드 완성
  30. 30. 코드 완성 기능은 현재 커서 위치에서 사용 가능한 심볼의 드롭-다운 리스트가 표시됩니다. 사용하는 언어에 따라 다음과 같은 방법으로 코드 완성을 사용합니다: 델파이에서:  CTRL+SPACE (코드 완성을 사용하기 위해 항상)를 누릅니다.  심볼을 입력하고 . (코드 인사이트 페이지에서 자동 호출이 활성화 되었을 때만 적용됩니다). C++에서:  CTRL+SPACE (코드 완성을 사용하기 위해 항상)를 누릅니다.  심볼을 입력하고 -> (코드 인사이트 페이지에서 자동 호출이 활성화 되었을 때만 적용됩니다). 코드 완성 요구를 취소하려면 ESC 키를 누릅니다. 클래스 완성 클래스 완성은 선언한 클래스의 멤버들의 기본 골격 코드를 작성해 줌으로서 새로운 클래스를 정의하고 구현하는 과정을 단순화 해줍니다. 유니트의 interface 부분에 선언된 클래스 안에 커서를 위치하고 CTRL+SHIFT+C를 누릅니다(또는 오른쪽 마우스 클릭하여 코드 에디터의 팝업메뉴에서 “Complete classat cursor”를 선택합니다). 미완성의 속성 선언이 완료 되거나 구현이 필요한 메소드에서는, 코드가 없는 빈 메소드가 implementation 부분에 추가됩니다.implementation 부분에 구현해야 하는 메소드를 위한 인터페이스 선언을 완성하기 위해 클래스 완성을 사용합니다. 블록 완성 코드 편집기에서 작업하는 동안 엔터 키를 입력하면 정확히 닫는 블록이 있어야 합니다, 코드 편집기는 현재 커서 위치 뒤의 사용 가능한 빈 라인에 닫기 블록 기호를 입력합니다. 예를 들어, 델파이를 사용하신다면 코드 에디터에서 begin를 입력하고 엔터 키를 누르면, 코드 에디터에서 자동으로 begin..end 문장이 완성합니다. 이 기능은 C++ 에서도 동일하게 적용됩니다. 코드 검색(Ctrl-Click) 어플리케이션을 편집하기 위해서 코드 에디터를 사용하는 동안, 식별자를 정의하는 코드로 자동으로 이동하기 위해 CTRL-클릭을 사용합니다. 코드를 보기 위해, 모든 클래스, 변수, 속성, 메소드, 또는 다른 식별자의 이름 위에 마우스가 지나가는 동안 CTRL 키를 누릅니다. 마우스 포인터가 손 모양으로 바뀐 후 식별자가 하이라이트 되고 밑줄이 그어지면, 하이라이트 된 식별자를 클릭하면 코드 에디터는 필요하다면 소스 파일을 열어서 식별자의 선언 부분으로 이동합니다. 식별자에서 오른쪽 마우스를 클릭하여 컨텍스트 메뉴에서 Find Declaration를 선택하여도 동일한 동작을 합니다. 코드 검색은 프로젝트 검색 경로 또는 글로벌 검색 경로에 있는 유니트들만 검색하고 오픈 가능합니다. 디렉터리들은 다음과 같은 순서로 검색됩니다:  델파이에 대한 프로젝트 별 검색 경로 중 (Project >Options> DelphiCompiler) 또는 C++에 대한 경로를 포함한(Project >Options>Directoriesand Conditionals).  글로벌 검색 경로(델파이에서는:Tools> Options>Environment Options>DelphiOptions >Library, 또는
  31. 31. C++에서는: Tools > Options>Environment Options>C++Options> Paths 그리고 디렉터리들). 코드 탐색 코드 탐색은 코드에디터에서 작업하는 동안 코드를 탐색할 수 있게 해줍니다. 메소드 호핑(Hopping), 클래스 검색, 유니트 검색, 변경 내용 이전 및 다음 검색과 사용 되는 소스 코드 검색(델파이에서만)등을 포함한 몇 가지 코드 탐색 기능이 있습니다. 메소드 호핑(Method Hopping) 에디터의 단축 키들을 사용하여 메소드들 간의 탐색을 할 수 있습니다. 또한 현재 클래스의 메소드 안에서만 동작하도록 호핑을 잠글 수 있습니다. 예를 들면,TComponent의 클래스의 메소드에 잠금 장치가 활성화 되어 있다면, 호핑은 TComponent의 메소드 안에서만 가능합니다. 호핑에 대한 단축키는 다음과 같습니다:  CTRL+Q^L – 클래스 잠금을 토글합니다.  CTRL+ALT+UP – 현재 메소드의 처음으로 이동하거나 이전 메소드로 이동합니다.  CTRL+ALT+DOWN – 다음 메소드로 이동합니다.  CTRL+ALT+HOME – 소스 안에 있는 첫 번째 메소드로 이동합니다.  CTRL+ALT+END – 소스의 마지막 메소드로 이동합니다.  CTRL+ALT+MOUSE_WHEEL – 메소드를 통해 스크롤 합니다. 클래스 검색 Search > Find Class 명령어를 사용하여 선택 할 수 있는 클래스들의 목록 리스트를 볼 수 있습니다. 그 중 하나를 선택하면,IDE는 클래스 선언으로 이동합니다. 유니트 검색 델파이로 프로그램을 작성한다면, 네임스페이스나 유니트를 찾기 위해 하기 위해 리팩토링 기능을 사용할 수 있습니다.Find Unit 명령을 사용하여 소스 코드 파일에 유니트를 추가하거나 유니트를 검색할 수 있습니다.
  32. 32. 변경 내용 이전과 다음 검색 코드 편집 시, 단축키를 눌러 변경 이전과 변경 다음으로 빠르게 이동 할 수 있습니다. 단축키는 다음과 같습니다:  Ctrl+Shift+F7 – 파일이 오픈 된 이후에 수정 된 이전 라인으로(거터에 녹색으로 표시되는) 이동합니다.  Ctrl+Shift+F8 – 파일이 오픈 된 이후에 수정된 다음 라인으로(거터에 녹색으로 표시되는) 이동합니다.  Alt+Shift+F7 – 마지막 저장된 이후에 수정된 이전 라인으로 이동합니다(거터에 노란색으로 표시되는).  Alt+Shift+F8 -- 마지막 저장된 이후에 수정된 다음 라인으로 이동합니다(거터에 노란색으로 표시되는). 이전과 다음 라인이 접힌 블록 안에 있다면, 블록은 펼쳐집니다. 코드 접기는 코드 에디터 뒤에서 설명하겠습니다. 키는 다음과 같은 키 맵핑과 동일합니다:Default,IDEclassic,Brief,Epsilon. 비쥬얼 스튜디오와 비쥬얼 베이직 키 맵핑은 이전/다음 변경이 적용되지 않습니다. 사용되는 소스 코드 검색 델파이로 프로그램을 작성한다면, 프로젝트의 소스코드에서 클래스, 메소드, 변수와 오버라이드 된 메소드, 파생 클래스와 구현된 인터페이스들의 사용처에 대한 소스 검색 기능을 사용하여 검색 할 수 있습니다. 라이브 코드 템플릿 라이브 템플릿은 코드 에디터로 작업하는 동안 프로그램 안에 삽입 할 수 있는 미리 작성된 코드 사전을 제공합니다. 이 것은 입력해야 하는 코딩 분량을 줄여줍니다. 델파이나 C++ 코드에서 사용 할 수 있는 라이브 코드 템플릿을 보려면,View > Templates 메뉴를 사용하여 Templates 창을 표시합니다. 라이브 템플릿 리스트는 별도의 탭으로 메인 화면의 툴 팔레트 영역에도 있습니다. (Delphi) C++) Templates 창에서 템플릿을 더블 클릭하면 소스 코드로 미리 정의된 코드 기본 구조 중 하나가 삽입됩니다. 또한 템플릿 이름을 입력하고 탭 키를 눌러 템플릿에 추가할 수 있습니다.RAD Studio 라이브 템플릿의 XML 파일은 C:ProgramFilesEmbarcaderoRAD Studio9.0ObjReposenCode_Templates에 있습니다.
  33. 33. Templates 창에 자신의 코드 템플릿을 추가 할 수 있습니다. 라이브 템플릿의 이름은 템플릿에 코드를 나타내거나(예 :class) 또는 코드의 첫 번째 단어(예 : try)가 될 수 있고, 일부 템플릿 이름은 입력 할 수 있는 단어 버전에 근접한(정확하지 않지만) 이름 일 수 도 있습니다(예 :forr). 새로 작성한 템플릿은(타사에서 추가로 제공되는 템플릿) 디폴트로 the My DocumentsRAD Studiocode templates directory에 저장됩니다. 추가적인 라이브 코드 템플릿의 자세한 내용은 아래의 엠바카데로 DocWiki 에서 보실 수 있습니다. http://docwiki.embarcadero.com/RADStudio/en/Live_Templates. 코드 접기 코드 접기는 코드의 영역이나 블록을 확장하거나 축소할 수 있습니다. 코드 접기는 코드를 계층적인 구조로 볼 수 있게 해주어서 읽고 이동하기 쉽게 해줍니다. 접힌 코드는 삭제된 것이 아니라, 확장할 때까지 뷰 에서 숨겨진 것입니다. 코드 접기는 기본적으로 설정 되어 있습니다. 코드 접기를 하기 위해, 코드 에디터 왼 쪽 끝에 위치한 플러스 (+)와 마이너스(-) 기호를 클릭합니다:  플러스(+) 기호를 클릭하여 연관된 코드의 영역을 펼칩니다.  마이너스(-) 기호를 클릭하여 연관된 코드 영역을 접습니다. 코드 접기를 활성화/비활성화 하기 위해:  Tools >Options>Editor Options 대화 상자에서 CodeFolding 체크 박스를 사용합니다.  단축키 Ctrl+Shift+K+O를 사용합니다. 컨텍스트 메뉴의 Fold 명령을 사용하여 타입, 메소드,XML 문서(델파이에서 사용되는)와 'Nearest' 영역과 같은 특정 타입의 영역을 접을 수 있습니다. 접기/펼치기 명령은 코드에디터의 팝업 메뉴에 있습니다. 코드 접기 영역을 어떻게 만드는지 등을 포함하는 코드 접기의 더 많은 정보는 코드 접기 사용하기를(UsingCodeFolding) 보십시오.
  34. 34. 리팩토링 리팩토링은 외부 기능을 변경하지 않고 코드를 개선하는 과정입니다. 예를 들면, 리팩토링의 extract 메소드를 사용하여 선택한 코드 부분을 새로운 메소드 안으로 넣을 수 있습니다. IDE는 현재 메소드의 밖으로 축출된 코드를 옮겨서 필요한 매개변수를 결정하고, 필요하다면 지역 변수를 선언하고, 리턴 타입을 결정하고, 새로운 메소드를 호출하는 코드로 대체합니다. 심볼 이름 변경하기와 변수 선언과 같은 몇 가지의 다른 리팩토링 메소드 또한 유용합니다. 델파이와 C++의 리팩토링에 대한추가적인 정보는 아래의 엠바카데로 DocWiki 에서 보실 수 있습니다 http://docwiki.embarcadero.com/RADStudio/en/Refactoring_Overview http://docwiki.embarcadero.com/RADStudio/en/Refactoring_Code. 동기화 편집(Sync Edit) 동기화 편집 기능은 선택된 코드에서 동일한 식별자를 동시에 편집 할 수 있습니다. 예를 들면,label1이 세 번 나오는 프로시저에서 첫 번째 나오는 곳만 수정하면 다른 사용 부분도 자동으로 수정됩니다. 코드 에디터에서 동기화 편집을 사용하려면, 동일한 식별자를 포함하는 코드 블록을 선택합니다. 가터 왼쪽에 표시되는 Sync Edit Mode 아이콘 을 클릭합니다. 첫 번째 동일한 식별자가 하이라이트 되며 또 다른 동일 식별자들은 밑줄이 그어집니다. 커서는 첫 번째 식별자위에 위치하고 있습니다. 만일 코드에 동일한 식별자가 여러 세트가 있다면,TAB 키를 눌러 선택된 부분의 각 식별자 사이를 이동합니다. 첫 번째 식별자를 편집 시작합니다. 식별자를 변경하면, 다른 식별자에 동일한 변경이 자동으로 수행됩니다. 기본적으로 식별자가 교체됩니다. 교체 없이 식별자를 변경하려면, 입력 시작하기 전에 화살표 키를 사용합니다. 식별자 변경이 완료되면,SyncEdit Mode 아이콘 을 클릭하거나 또는 Esc 키를 눌러서 동기화 편집 모드를 빠져 나옵니다. 참고: 동기화 편집은 동일한 식별자를 텍스트 문자열이 일치하는지로 결정합니다; 식별자를 분석하지 않습니다. 예를 들면, 다른 범위에 있는 다른 유형의 이름이 같은 두 개의 식별자를 구별하지 않습니다. 그래서, 동기화 편집은 하나의 메소드나 또는 텍스트 한 페이지와 같이 코드의 범위가 적은 부분을 위한 것입니다. 코드의 큰 부분을 변경하려면, 리팩토링 사용을 권장합니다.
  35. 35. 해야 할 일 목록(To-Do Lists) To-Do List 프로젝트를 완성하기 위해 필요한 작업들을 기록합니다.To-Do List에 작업을 추가한 후에, 작업을 편집할 수 있습니다, 소스 코드에 주석이 추가되고, 작업이 완성되었는지 알려주고 그리고 목록에서 삭제합니다.To-Do List에 배치하고 싶은 코드에 커서를 위치 시키고 오른쪽 마우스를 클릭하여 팝업 메뉴에서 “Add To-Do Item…” 을 선택합니다. OK 버튼을 클릭한 후 To-Do List 아이템이 소스 코드에 주석으로 추가됩니다.View >To-Do List 메뉴 항목을 사용하여 To-Do List 항목들 모드를 볼 수 있습니다.. 관심 있는 작업만 표시하도록 필터링 할 수 있습니다. 매크로 키 입력 코드를 편집하는 동안 매크로로 키 입력 시리즈를 기록합니다. 매크로를 기록한 후에, 현재 IDE 세션 동안 반복되는 키 입력을 재생할 수 있습니다. 매크로 기록은 이전에 기록된 매크로를 대체합니다. 북마크 북마크는 긴 파일들을 탐색할 수 있는 편리한 방법을 제공합니다. 북마크로 코드의 위치를 마크하여 파일 안의 해당 위치로 이동합니다. 북마크를 지정하면, 북 아이콘이 코드 에디터의 왼쪽 끝 부분에 표시됩니다. 파일 안에서 0 ~ 9까지의 숫자로 10개의 북마크를 사용할 수 있습니다. 코드 에디터 끝에 있는 북마크 아이콘을 드래그-드롭하면, 원래 북마크 번호를 가지고 북마크가 옮겨집니다.
  36. 36. 블록 주석 코드 에디터에서 코드를 선택하고CTRL+/(slash)를 눌러 코드 부분을 주석처리 합니다. 선택된 코드의 각 라인은 // 로 시작하고 컴파일러는 무시합니다. 코드의 첫 번째 줄이 / /로 시작되어 있는지 여부에 따라 CTRL+/를 눌러 슬래시를 추가하거나 삭제합니다. 비쥬얼 스튜디오나 비쥬얼 베이직 키 맵핑을 사용한다면, 주석 슬래시를 추가하거나 삭제하기 위해 CTRL+K+C를 사용합니다. 히스토리 리스트 히스토리 매니저는 IDE에서 관리되는 파일들의 버전을 확인하고 비교할 수 있습니다:  IDE에 저장된 여러 개의 백업 버전  저장된 로컬 변경 사항  활성화 된 파일의 저장되지 않은 변경 사항의 현재 버퍼. 만일 프로젝트 또는 개별적인 파일들이 Subversion에 의해 버전 관리되고 있다면 Subversion 정보 역시 볼 수 있습니다.IDE 와 Subversion 모두로부터 유래한 히스토리 관리에서 버전 관리 정보를 볼 수 있습니다:  현재 파일이 버전 관리하에 있다면 버전의 모든 종류는 히스토리 매니저에서 볼 수 있습니다.  Subversion을 사용하신다면,IDE에 Subversion을 통합하면 IDE 내에서 사용할 수 있는 다음과 같은 기능을 제공합니다: o Subversion 리포지토리에 체크된 모든 버전은 히스토리 매니저에서 사용할 수 있습니다. o 히스토리 매니저에서 파일들을 비교하고 파일의 특정 버전에 주석을 달 수 있습니다. o 리포지토리에 추가하기, 업데이트 및 커미트 같은 표준 소스 제어 작업을 프로젝트 매니저에서 할 수 있습니다. IDE 메인 창의 하단 가장자리의 중앙에 있는 History 탭을 클릭하여 히스토리 매니저를 오픈 합니다: 히스토리 매니저는 세 개의 탭 페이지(Contents,Information,Differences)를 포함합니다: 콘텐트 - 히스토리 창 툴 바의 드롭 다운 목록에서 선택한 파일의 현재와 이전 버전을 표시합니다. 콘텐트 페이지는 2 개의 패널을 포함합니다:  Revision content: 콘텐트 페이지의 상단에 현재 작업중인 파일의 버전들을 표시합니다.  칼럼은 다음 항목들을 포함합니다 o Revision: 활성화 파일의 각 버전 번호 o Label: 버전 번호나 지정된 라벨 o Date: 버전의 날자 o Author: 버전에 체크인 한 사용자 이름  파일 표시:Contents 페이지 하단에 작업 중인 파일의 내용을 표시합니다. 참고: 특정 파일에 대한 서브 버전 로그 항목들을 보기 위해서: o 버전 위로 마우스를 올려놓으면 서브 버전이 체크됩니다.
  37. 37. o Information 탭을 클릭합니다. 정보 – 작업 중인 파일의 선택된 버전에 대한 다음의 내용들을 표시합니다:  라벨(버전 번호 또는 "Local file"과 같은 지정된 라벨)  버전 커미트라고 주석이 입력됩니다. 차이점 – 파일의 선택된 버전 간의 차이점을 표시합니다.Differences 페이지는 3 패널로 구성됩니다:  Differences From: 현재 버전을 포함한 버전들을 표시합니다.  To: 현재 버전과 버퍼에 저장되지 않은 수정 내용 등을 포함한 버전들을 표시합니다.  Filedisplay:Differences 페이지 하단에 다른 내용을 표시합니다.“Differences From:” 에서 선택된 버전과 “To:”에서 선택된 버전 사이의 차이점들을 하이라이트로 표시합니다.  (큰 마이너스 기호)는 삭제된 소스 라인을 표시합니다.  (큰 플러스 기호) 는 추가된 라인을 표시합니다.  Tools >Options>Editor Options>Color 대화상자를 사용하여 Differences 탭의 하이라이트에 사용되는 색상을 지정 할 수 있습니다
  38. 38. 스트럭처 뷰(Structure View), 델파이 클래스 탐색기와 C++ 클래스 탐색기 스트럭처 뷰, 델파이 클래스 탐색기와 C++ 클래스 탐색기는 프로그램에서 사용되는 컴포넌트, 클래스와 코드 등을 시각적으로 볼 수 있도록 해줍니다. 오브젝트 인스펙터에 속성들을 표시하고, 상호 관계를 보여주고 코드에디터의 선언부분으로 이동할 수 있습니다. 스트럭처뷰(Structure View) 스트럭처 뷰는 아래의 것들을 계층 구조로 표시합니다:  코드 에디터에 보이는 소스 코드,HTML 소스 코드나 HTML의 구조를 표시할 때, 더블 클릭하면 코드 에디터의 선언된 부분이나 위치로 이동합니다.  폼 디자이너에 보이는 컴포넌트들이 표시될 때 컴포넌트를 더블 클릭하면 폼 위의 해당 컴포넌트가 선택됩니다. (Delphi) 스트럭처 뷰에는 스트럭처 뷰의 내용을 어떻게 표시할 것인지를 컨트롤할 수 있는 툴 바가 있습니다. 아래와
  39. 39. 같은 버튼으로 구성됩니다(왼쪽에서 오른쪽으로):  알파벳순으로 정렬 – 스트럭처 뷰의 표시되는 내용을 알파벳 순으로 정렬합니다.  타입으로 그룹화 – 스트럭처 뷰에서 타입 별로 폴더에 그룹 항목들을 넣습니다.  가시성으로 그룹화 – 가시성(public,protected,private,published)에 의해 그룹 클래스 멤버들을 폴더 별로 넣습니다.C++에서는 클래스, 구조체, 합집합과 템플릿들을 포함한 'Classes' 가 일반적인 그룹입니다.  함수와 변수 타입을 보여줍니다 – 스트럭처 뷰에서 멤버들의 오른쪽에 타입을 표시합니다.  가시성으로 필터링 (private,protected,public,_published) - 4종류의 다른 가시성 레벨을 통해 스트럭처 뷰 표시를 토글 전환합니다. 선택적으로 액세스 식별자 “__published”,“public”,“protected”,“private”로 선언된 요소들의 몇 가지 다른 조합을 표시할 수 있습니다. 코드에 문법적 오류가 있다면, 오류들은 Errors 노드에 표시됩니다. 오류를 더블 클릭하면 코드 에디터의 해당 소스로 이동합니다.(C++ 개발에는 적용되지 않습니다.) 스트럭처 뷰를 사용하여 컴포넌트와 데이터베이스 오브젝트간의 관계를 볼 수 있습니다. 예를 들면, 만일 패널 컴포넌트와 체크 박스 컴포넌트를 폼 위에 추가하였다면, 그들은 형제로 간주합니다. 하지만 스트럭처 뷰에서 체크 박스를 드래그하여 패널 아이콘 위에 놓으면, 체크 박스는 패널 컴포넌트의 하위(자식) 컴포넌트가 됩니다. 스트럭처 뷰에서 컴포넌트를 더블 클릭하면, 코드에디터의 컴포넌트의 이벤트 핸들러를 작성 할 수 있는 곳으로 열립니다.Tools > Options> Environment Options>Explorer에서 스트럭처 뷰의 내용과 표시 형태를 제어하고 설정을 변경합니다.
  40. 40. 델파이 클래스 탐색기 델파이 클래스 탐색기는 프로젝트 유니트 파일들을 쉽게 이동할 수 있도록 해주고 선언된 타입, 클래스, 인터페이스와 네임스페이스등의 계층적인 구조를 보여줍니다. 델파이 클래스 탐색기는 필드, 메소드, 속성 멤버들을 자동으로 생성할 수 있습니다. 델파이 클래스 탐색기 창은 세 부분으로 구성됩니다:  검색 컨트롤은 델파이 클래스 탐색기 창의 위쪽 줄에 위치합니다. 돋보기 아이콘을 포함합니다.  클래스 보기 패널은 델파이 클래스 탐색기 창의 중앙 부분에 위치합니다.  멤버 리스트 패널. 검색 컨트롤은 클래스 보기 패널의 엔티티의 위치를 빠르게 찾게 해줍니다. 문자를 입력하면 이름과 문자가 일치하는 클래스 보기의 모든 엔티티들이 하이라이트 되면서 표시됩니다. 첫 번째 일치하는 엔티티가 선택됩니다. 클래스 뷰는 프로젝트에 선언된 타입, 클래스, 인터페이스와 네임스페이스들의 트리 구조를 보여줍니다. 멤버 리스트는 클래스 뷰에서 선택된 클래스 또는 인터페이스 노드에 선언된 지역과 전역 멤버들(필드, 속성과 메소드)을 표시합니다. View >Delphi Class Explorer 메뉴를 클릭하여 델파이 클래스 탐색기 창을 엽니다. 기본적으로 델파이 클래스 탐색기 창은 스트럭처 뷰 왼쪽 상단에 도킹되어 표시됩니다. 델파이 클래스 탐색기는 열려있는 프로젝트에 등록 된 모든 유닛 파일을 구문 분석합니다. 델파이 클래스 탐색기는 얻은 정보를 사용하여 클래스 뷰 트리에 유니트, 클래스, 인터페이스, 타입 노드들을 순서대로 표시하고 멤버 리스트에 표시된 필드, 속성과 메소드 멤버들을 순서대로 나열합니다.
  41. 41. C++ 클래스 탐색기 C++ 클래스 탐색기는 다음과 같은 일들을 가능하게 합니다:  프로젝트의 클래스 구조를 살펴봅니다  선택된 항목에 대한 소스의 선언부분을 살펴봅니다  프로젝트의 관리 되는 유니트에 새 필드, 메소드와 속성들을 생성합니다 C++ Class 클래스 탐색기 창은 버튼으로 구성된 툴 바를 포함합니다. 이 버튼들은(왼쪽에서 오른쪽으로) 다음과 같은 작업을 수행합니다:  정방향 또는 역방향으로 타입 별로 정렬합니다. 클래스, 인터페이스, 구조체, 열거타입,Typedefs, 메소드와 변수와 같은 순서로 다양한 타입들을 정렬합니다. 역방향 버튼은 각 타입들을 역순으로 정렬합니다. 두 경우 모두 알파벳 순으로 타입들을 표시합니다(기본표기).  이름을 알파벳 (A-Z)정순으로 정렬합니다. 역 방향 버튼은 알파벳 역순으로(Z-A) 정렬합니다.  타입들을 그룹화 하지 않습니다. 타입들은 루트 노드로 부모 노드(네임스페이스, 파일 또는 사용자 정의 파일 그룹 노드)와 연결되는 대신에 자식 노드 없이 표시됩니다.  상속 계층 구조에 의해 타입들을 그룹화합니다. 타입들은 기본 타입 노드들 아래 표시됩니다. 기본 타입이 없다면 상하 계층 없이 평평하게 표시됩니다.
  42. 42.  네임 스페이스로 타입을 그룹화합니다. 각 노드는 네임 스페이스 아이콘으로 표시하고, 그리고 네임 스페이스의 타입들을 해당 아이콘 아래에 나열합니다.  파일 별로 타입을 그룹화합니다. 각 파일(. cpp,h, 또는. hpp 파일)에 대한 파일 아이콘 ()을 표시하고, 각 파일에 정의 된 요소를 나열합니다.  사용자 정의 파일 그룹을 사용하여 타입을 그룹화합니다. 기본 디스플레이 그룹뿐만 아니라 사용자가 만든 사용자 지정 그룹을 사용합니다.  타입의 목록을 새로 고침 합니다. 수정 된 소스 파일을 구문 분석하고 유형 목록을 업데이트합니다.  활성 브라우저 편집을 취소합니다.  모든 브라우저 정보를 삭제합니다.  이 클래스에 새 메소드를 추가합니다 – 메소드 추가(C + +) 대화 상자가 열립니다. 관리되는 유니트 에서만 가능합니다.  이 클래스에 새 필드를 추가합니다 – 필드 추가(C + +) 대화 상자가 열립니다. 관리되는 유니트 에서만 가능합니다  이 클래스에 새 속성을 추가합니다 – 속성 추가(C + +) 대화 상자가 열립니다. 관리되는 유니트 에서만 가능합니다.  사용자 정의 파일 그룹 구성을 엽니다 - 파일 그룹 탐색기 대화 상자를 엽니다 다음과 같은 것들이 가능합니다:  타입 목록에 자신의 파일 그룹을 만들고, 특정 그룹이 표시되거나 되지 않도록 하고, 유형 목록에서 그룹의 표시 순서를 설정할 수 있습니다.  유형 목록에서 최상위에 typedefsin를 표시합니다. 기본값은 보여지는 것입니다.  유형 목록에서 최상위에 열거 타입을 표시합니다. 기본값은 보여지는 것입니다.  유형 목록에서 최상위에 함수를 표시합니다. 기본값은 보여지지 않는 것입니다.  유형 목록에서 최상위에 (전역)변수를 표시합니다. 기본값은 보여지지 않는 것입니다. 계승 받은 멤버를 포함합니다. 기본적으로 멤버 보기는 선택한 타입의 멤버 아래에 조상 타입의 멤버들을 표시하여 계승 받은 클래스를 포함합니다. 예를 들어,TForm3의 그 조상 타입인 TForm입니다. 이 버튼을 누르지 않을 경우 로컬로 정의 된 멤버만 표시됩니다. 기본값은 보여지는 것입니다.  선택한 노드의 선언으로 이동합니다. 코드 에디터에서 소스를 엽니다, 그리고 선택된 항목의 선언부분을 하이라이트 해서 보여줍니다.  이 선언의 구현부분으로 이동합니다. 코드 에디터에서 소스를 엽니다, 그리고 선택된 항목의 구현부분을 하이라이트 해서 보여줍니다. 이 선언의 구현부분으로 이동합니다. 코드 에디터에서 소스를 엽니다, 그리고 선택된 항목의 구현부분을 하이라이트 해서 보여줍니다.C + + 컴파일러는 각 심볼이 처음에 정의할 때 그리고 이후에 사용될 때 등의 정보를 유지합니다. 이 정보는 Go to definition 명령을 수행하는 데 사용됩니다. C + + 클래스 탐색기 창은 세 부분으로 구분됩니다: 파일 형식 목록의 상단에 돋보기 아이콘으로 표시되는 검색 필드가 있습니다. 검색 필드에 문자열을 입력하면, 타입 목록은 해당 문자열을 포함하는 요소만 표시합니다. 클래스 이름 자체가 문자열을 포함하지 않는 경우에도 검색은 모든 포함 된 요소:  클래스의 멤버 등의 이름과 일치하는지 찾습니다.  타입 리스트 – 프로젝트에 선언된 타입, 클래스, 인터페이스 및 네임 스페이스는의 트리 구조를 보여줍니다.  멤버 뷰 – 타입 리스트에서 현재 선택된 타입 또는 타입의 필드, 속성 및 메소드 멤버를 표시합니다. 소스/참조/그래프 윈도우 – 세 개의 탭은 다음과 같이 서로 다른 정보를 표시합니다: o 소스 탭은 소스 코드를 표시하고 타입 리스트에서 가장 최근에 선택된 항목의 선언부분에 포커스가 갑니다.
  43. 43. o 참조 탭은 현재 타입 리스트에서 현재 선택된 기호를 참조하고 있는 곳을 나열 합니다. 참조 탭의 항목을 더블 클릭 하면 코드 에디터 창이 열리고 참조로 이동합니다. o 그래프 탭은 타입 리스트에서 현재 선택된 항목에 대한 그래픽 정보를 표시합니다. 예를 들어 타입 리스트에서 몇 가지 클래스를 선택했다면, 그래프 탭은 선택한 심볼의 계층 구조를 표시합니다. Tools > Options> C++ Options>Class Explorer를 사용하여 C + + 클래스 탐색기에 대한 옵션을 설정할 수 있습니다.
  44. 44. 프로젝트 매니저, 빌드 구성 및 옵션 세트 프로젝트 매니저 View >Project Manager에서 선택하는 프로젝트 매니저는 현재 프로젝트 그룹과 포함하는 모든 프로젝트들의 내용을 조직화하여 표시합니다. 파일 추가, 삭제 그리고 컴파일과 같이 중요한 프로젝트 관리 작업을 수행할 수 있습니다. 프로젝트 매니저의 기본 위치는 IDE의 오른쪽 상단이지만 IDE의 대부분 창들처럼 도킹이 됩니다. 다음은 프로젝트 매니저 트리 구조에 표시할 수 있는 아이템들의 일부 목록입니다:  프로젝트 그룹 노드  프로젝트 노드(일반적으로 .exe 파일)  빌드 설정 노드  빌드 설정(디버그, 릴리즈 또는 사용자 정의)  대상 플랫폼 노드(파이어몽키 HD 어플리케이션 또는 크로스 콘솔 어플리케이션과 같은 크로스 플랫폼에서만 가능합니다):OS X 플랫폼(맥), 윈도우 플랫폼(윈도우32), 윈도우 플랫폼(윈도우64)  출력 폴더 (ShowProjectOutput 컨텍스트 메뉴 명령에서)  폴더(Contains 와 Requires와 같은)  폼이 없는 소스 코드(.pas 또는.cpp).  폼이 있는 소스 코드(.pas 또는 .cpp).  리소스 파일 (.res)  폼 파일(.dfm)  헤더 파일 (.h) (C++)  패키지의 임포트 라이브러리(.bpi) (C++) 프로젝트 작업을 하기 위해, 프로젝트 메인 메뉴를 사용하거나 프로젝트 매니저의 프로젝트 그룹에서 오른쪽 마우스를 눌러 컨텍스트 메뉴를 표시합니다.
  45. 45. 프로젝트 컴파일 시, 아마도 가장 자주 사용되는 프로젝트 메뉴는 Project >Options… 메뉴 항목일 것입니다. 프로젝트 옵션 대화상자의 페이지들은 프로젝트 별 옵션을 확인하고 설정 할 수 있습니다.
  46. 46. 옵션 값이 구성에 있는 상위의 값과 다른 경우 옵션 값은 굵은 글씨체로 표시됩니다. 상위 구성 값으로 되돌리려면, 옵션 텍스트를 마우스 오른쪽 클릭하고 컨텍스트 메뉴에서 Revert를 선택합니다. 옵션값을 변경한다면, 새로운 구성의 변경 사항들과 이름을 준 옵션 셋을 저장할 수 있습니다. 다른 구성으로 전환하거나 현재 활성화 구성에 설정 옵션을 로드 할 수 있습니다. 타깃 옵션 플랫폼 옵션들, 플랫폼과 빌드 구성과 Apply 와 Save 버튼은 컴파일러 관련 옵션 페이지의 상단에 위치하고 있습니다. 디폴트 옵션은 프로젝트 옵션 대화 상자에서 거의 모든 페이지에 나타나는 일반적인 옵션입니다. 디폴트 옵션을 클릭하면 각각의 새 프로젝트에 대한 기본값으로 페이지에 현재 설정을 저장합니다. 참고: 프로젝트 옵션 대화상자는 사이즈 조절이 가능합니다.
  47. 47. 빌드 구성 빌드 구성은 Project >Options 대화상자의 모든 빌드 관련 페이지에 설정할 수 있는 옵션으로 구성되어 있습니다.. 빌드 구성은 프로젝트 파일에 저장됩니다(.dproj 또는.cbproj). 프로젝트 매니저는 사용할 수 있는 빌드 구성을 나열하는 빌드 구성 노드를 포함합니다: 기본, 디버그와 릴리즈가 세 개의 디폴트 빌드 구성입니다:  Base는 이후 만드는 모든 구성에 사용되는 옵션 값의 기본 집합의 역할을 합니다. 프로젝트 매니저에서 빌드 구성 노드 자체가 기본 구성을 나타냅니다.  Debug 구성은 특정 옵션 설정뿐만 아니라 최적화 및 디버깅을 가능하게 해줍니다.  Release 구성은 디버깅 정보를 생성하지 않고 TRACE 와 ASSERT 호출에 대한 코드는 생성하지 않습니다. 실행 파일의 크기를 작게 만들어 줍니다. 기본 구성을 포함하여 모든 구성 옵션 값을 변경할 수 있습니다. 디버그 및 릴리스 구성을 삭제할 수 있지만 기본 구성을 삭제할 수 없습니다. 프로젝트를 컴파일하고 저장하면 현재 빌드 구성의 이름과 일치하는 디렉터리에 파일들이 저장됩니다. 디버그 및 릴리스 디렉터리는 기본적으로 있으며, 프로젝트를 저장할 때 활성화된 사용자 정의 빌드 구성을 위한 디렉터리가 생성됩니다. 프로젝트 매니저 보기에서 빌드 구성 노드를 오른쪽 마우스 버튼 클릭하여 새 빌드 구성을 생성하고 이름을 줄 수 있습니다. 새로운 빌드 구성을 생성 한 후에 Project >Options… 메뉴나 오른쪽 마우스 클릭하여 컨텍스트 메뉴에서 “Edit…”를 선택하여 프로젝트 옵션을 편집 할 수 있습니다 모든 프로젝트는 관련된 활성화 빌드 구성뿐만 아니라, 사용자가 만든 다른 비활성 빌드 구성의 번호를 가지고 있습니다. 활성 빌드 구성의 이름이 프로젝트 관리자의 빌드 구성 노드의 상단 괄호에 표시되고 활성화된 구성 또한 노드의 사용 가능한 구성 목록에 굵은 글씨로 표시됩니다. 컴파일, 빌드, 클린 명령은 프로젝트의 활성 빌드 구성을 사용합니다. 구성을 활성화하려면 다음 중 하나를 수행합니다:  프로젝트 매니저에서 구성을 더블 클릭합니다.  구성을 오른쪽 마우스를 클릭하고 컨텍스트 메뉴에서 활성화를 선택합니다. Base를 제외한 모든 구성은 그 값에서 상속하는 다른 구성을 기반으로 합니다. Debug 와 Release 구성은 Base로부터 값을 상속받습니다.
  48. 48. 구성 관리자(Configuration Manager)를 사용하여, 결과적으로 주어진 구성에 따라 새 구성을 만들 수 있고 새 구성은 부모로부터 옵션값을 상속받습니다. 구성을 만든 후, 원하는 옵션 값을 변경할 수 있습니다, 그리고 프로젝트 또는 프로젝트에 대한 구성을 활성화 할 수 있습니다 Base를 제외한 어떠한 구성도 또한 지울 수 있습니다. 그 값이 변경되지 않는 옵션은 부모 구성의 값을 상속 받습니다. 이 상속은 정적이 아닙니다: 부모 구성을 변경하는 경우, 모든 자식의 값들은 상속됩니다. 옵션의 디폴트 값은 부모 구성의 디폴트 값입니다. 프로젝트 옵션 대화 상자에 있는 값을 삭제하여 기본 값으로 옵션을 되돌릴 수 있습니다.. 옵션 셋 명명 된 옵션 세트(.optset 파일)로 파일에 구성 옵션의 값을 저장 할 수 있습니다. 프로젝트에 모든 구성 설정 옵션을 적용 할 수 있습니다. 또한 값에 의해 설정 옵션 세트를 적용할 것인지(단 한 번에 옵션 세트의 값을 적용) 혹은 참조에 의해(옵션이 설정된 이후에 변경 사항이 구성에 반영되도록)적용할 것인지 선택합니다. 옵션 세트를 만들거나 적용하려면 프로젝트 매니저의 빌드 구성 노드에서 오른쪽 마우스 버튼으로 클릭 합니다. 새로운 옵션 세트를 생성 한 후 프로젝트 매니저 창의 옵션 세트에서 오른쪽 마우스를 클릭하여 “Edit…” 컨텍스트 메뉴를 선택합니다.
  49. 49. 서로 관련되어 있지만 빌드 구성과 옵션 세트는 다르다는 것에 주목하십시오. 둘 다 모두 옵션 값들의 세트로 구성됩니다. 주요 구별사항은, 구성은 프로젝트와 연관되어 있는 반면 옵션 세트는 프로젝트와 독립적인 파일에, 빌드 구성 값은 프로젝트 파일에 저장됩니다, 그래서 프로젝트 변경 사항을 빌드 구성에 저장하지만 옵션 세트 영향을 받지 않습니다. 프로젝트의 구성을 변경하고 구성을 추가하거나 삭제하면 옵션 세트에 영향을 주지 않습니다. 마찬가지로, 옵션 세트를 저장하는 것은 빌드 구성을 변경하지 않습니다. 각 프로젝트는 다른 프로젝트와 독립적인 자체 구성 목록을 가지고 있습니다. 그러나 모든 프로젝트 모든 옵션 세트를 적용 할 수 있습니다.Project Options 대화상자에서, 빌드 구성 드롭 다운 목록은 해당 프로젝트에 대한 모든 빌드 구성을 포함하지만 옵션 세트가 포함되어 있지 않습니다. 프로젝트 매니저는 반면에, 빌드 구성 노드 아래 구성과 참조되는 옵션 세트를 모두 나열합니다. 옵션 세트에 적용된 빌드 구성을 위해 어떤 프로젝트 옵션이 설정되어 보려면, 빌드 구성 노드에서 오른쪽 마우스 버튼을 클릭하고 “Edit…” 컨텍스트 메뉴 항목을 선택합니다. 그런 다음 어떤 프로젝트 옵션 값이 빌드 구성에서 오고 어떤 프로젝트 옵션이 옵션 세트에서 오는지 보기 위해 프로젝트 옵션 대화 상자에서 오른쪽 창에 있는 (+) 기호를 클릭합니다. 구성과 옵션 세트가 모든 가능한 프로젝트 옵션에 대한 값을 포함하지 않을 수 있다는 점에 주의 하십시오 - - 부모 구성과 다른 옵션만 포함합니다.Base 구성도 가능한 모든 옵션 값을 포함하지 않습니다. 옵션 값이 구성에 없는 경우, IDE는 상위 부모의 구성 그리고 부모의 부모 구성, 등등으로 보여집니다. 상속 체인의 구성 중 어떠한 것도 발견되지 않을 경우, 값은 구성되어 있는 적절한 툴에서 가져옵니다. 예를 들어, 구성 상속 체인이 특정 컴파일러 옵션에 대한 값을 포함 하지 않는다면, 기본 값은 컴파일러 자체에 의해 지정됩니다. 구성이나 옵션 설정을 저장하면, 모든 옵션에 대한 값을 저장하지 않고 그 값만
  50. 50. 저장합니다.
  51. 51. 프로그램 컴파일과 실행 IDE에서 어플리케이션을 개발할 때, IDE상에서 컴파일(또는 make), 빌드하고, 프로그램을 실행할 수 있습니다. 세 작업은 실행 파일을 생성 할 수 있습니다(.exe,.dll,.obj, 또는 .bpl). 그러나, 네 개의 작업에 약간 차이가 있습니다:  컴파일(Project >Compile) 또는,C++에서는,Make (Project >Make)는 마지막 빌드 이후 변경되었을 때 해당 파일뿐만 아니라 연관된 파일을 컴파일 합니다. 컴파일 또는 Making은 프로그램을 실행하지 않습니다.  Build (Project >Build)는 어떤 소스 코드가 변경되었는지의 여부와 상관없이 현재 프로젝트의 소스 코드를 모두 컴파일 합니다. 빌드는 어떤 파일이 변경되었는지 확실 하지 않거나 프로젝트 또는 컴파일러 옵션을 변경한 경우 유용합니다.  Run (Run > Run or F9)은 변경된 소스 코드를 컴파일하고, 컴파일이 성공하면, 어플리케이션을 실행합니다. 디버그의 사용을 포함하여 IDE에 사용하고 테스트 할 수 있도록 해줍니다.  Run withoutDebugging(Run >Run Without Debugging 또는 Shift-Control-F9)은 프로그램을 컴파일하고 IDE와 디버그를 사용하지 않고 어플리케이션을 실행합니다. 이전 빌드에서 생성 된 모든 파일을 삭제하려면 Clean 명령을 사용하는데 이는 프로젝트 매니저에서 프로젝트 노드의 팝업 메뉴에서 사용할 수 있습니다(Clean Project는 C + + 프로젝트 메뉴에서도 사용할 수 있습니다). 프로젝트를 컴파일 할 때 마다 메시지 창에서 현재 컴파일러 옵션을 표시하려면 Tools > Options> Environment Options를 선택하고 Show command line를 선택합니다. 프로젝트를 컴파일 하면 메시지 창은 프로젝트를 컴파일 하는 데 사용되는 명령과 응답 파일을 표시합니다. 응답 파일은 컴파일러 옵션과 컴파일 하는 파일들을 리스트 합니다. 프로젝트를 컴파일 한 후에,Project > Information를 선택하여 이에 대한 정보를 표시 할 수 있습니다. 결과 정보 대화 상자가 컴파일 된 소스 코드의 라인 수, 소스코드와 데이터의 바이트 크기, 스택 및 파일 크기 및 프로젝트의 컴파일 상태를 표시합니다. 프로젝트를 컴파일 할 때 컴파일러 메시지는 메시지 창에 표시됩니다. 메시지에 대한 설명은 메시지 선택하고 F1을 누릅니다. 프로젝트를 빌드 할 때, IDE는 마이크로소프트 빌드 엔진인 MSBuild를 명시적으로 호출합니다. 빌드 프로세스는 개발자에게 완전히 투명합니다.MSBuild는 Project 와 Run 메뉴에서 사용할 수 있는 컴파일, 빌드, 실행 및 디버그 없이 실행하기 명령의 일부로 호출됩니다. 그러나, 여러분이 MSBuild를 호출 할 수 있습니다. MSBuild.exe는 명령 줄에서 또는 시작 메뉴에서 사용할 수 있는 RAD Studio 명령 프롬프트를 사용합니다. 환경 옵션 대화 상자에서 백그라운드 컴파일을 사용한다면, 백그라운드 스레드로 컴파일과 빌드 명령을 실행할 수 있습니다. 백그라운드 컴파일이 실행되는 동안 작업과 제약사항과 백그라운드 컴파일 우선 순위를 설정하는 방법에 대한 추가적인 정보들은 엠바카데로 DocWiki에서 보실 수 있습니다. http://docwiki.embarcadero.com/RADStudio/en/Background_Compilation
  52. 52. 프로그램 디버깅 RAD Studio는 윈도우32, 윈도우64 및 OSX 디버그를 포함합니다.IDE가 자동으로 활성화 된 프로젝트 형식에 따라 적절한 디버그를 사용합니다. 별도의 설치로 RAD 스튜디오에 포함되는 PAServer 및 원격 디버그를 사용하여 프로젝트 그룹 내에서 크로스 플랫폼 디버깅이 가능합니다(1장에서 설치 정보를 참조하십시오). 통합 디버그는 RAD Studio 어플리케이션의 런타임 오류 및 논리 오류를 모두 찾아 드립니다. 디버그를 사용하면, 코드를 단계별로 실행 할 수 있고, 브레이크 포인트와 watches 창을 설정 할 수 있고 값들을 검사 할 수 있고 프로그램 값을 수정 할 수 있습니다. 어플리케이션을 디버깅 할 때, 디버그 창은 디버그 세션을 관리할 수 있도록 해주고 어플리케이션의 상태에 대한 정보를 제공합니다. 디버그 검사기는 배열, 클래스, 상수, 함수, 포인터, 스칼라 변수 및 인터페이스 등 다양한 데이터 유형을 검사 할 수 있습니다. 디버그 검사기를 사용하기 위해 Run > Inspect를 선택합니다. 디버그 데스크톱은 사용자가 디버그 모드에서 어플리케이션을 실행할 때 IDE가 사용하는 레이아웃입니다(디폴트 키 맵핑에서 F9). 기본 디버그 데스크톱이 있지만 저장된 데스크톱 중 어느 하나가 디버그 데스크톱이 되도록 대안 선택할 수 있습니다. 디버그 데스크톱을 설정하려면 다음 중 하나를 선택합니다:  View >Desktops> Set DebugDesktop  데스크톱 툴 바에서 코드의 단계적 실행 단계적 실행은 한 번에 프로그램 코드를 한 줄씩 실행 할 수 있습니다. 각 단계 실행 후에, 프로그램의 상태를 검사하고 프로그램의 출력을 보고 프로그램 데이터 값을 수정하고 다음 코드 라인으로 계속 실행할 수 있습니다. 디버그를 계속 진행하기 전까지 코드의 다음 행은 실행되지 않습니다. Run 메뉴는 Trace Into 와 Step Over 명령이 있습니다. 두 명령은 디버그가 코드의 다음 줄을 실행하기 위해 사용합니다. 그러나, 해당 라인이 함수 호출을 포함한다면,Trace Into는 함수 안으로 실행하여 함수 내 코드의 첫 번째 줄에서 정지합니다.Step Over는 함수를 실행하고 함수를 실행한 후 첫 번째 줄에서 멈춥니다. 메인 툴 바 또한 왼쪽에서 오른쪽으로 디버깅 작업을 위한 버튼을 포함합니다:  디버그 없이 실행하기(Shift-Ctrl-F9)  디버깅을 사용하면서 실행하기(F9)  어플리케이션 일시 정지  프로그램 리셋(Ctrl-F2)  루틴 추적하기(F7)  스텝 건너 띄기(F8)  리턴 까지 실행하기(Shift-F8)
  53. 53. 값 평가/수정 평가 / 수정 기능은 표현식을 검사할 수 있습니다. 또한 변수에 대한 값을 수정하고 변수에 해당 값을 삽입 할 수 있습니다. 평가 / 수정 기능은 사용하는 언어에 맞게 되어 있습니다:  C++ 프로젝트에서는, 평가 / 수정 대화상자에서는 C++ 표현식만 허용합니다.  델파이 프로젝트에서는, 수정 / 평가 대화 상자는 델파이 표현식만 허용합니다. 브레이크포인트 브레이크포인트는 프로그램의 특정 시점에서 또는 특정 조건에서 프로그램 실행을 일시 중지 합니다. 디버그를 사용하여 프로그램의 상태를 보거나 한 번 실행에 코드 라인을 건너 뛰거나 추적하거나 기계 명령어로 볼 수 있습니다. 디버그는 브레이크포인트의 네 가지 유형을 지원합니다:  소스 브레이크포인트는 소스 코드의 특정 위치에서 실행을 일시 중지합니다.  주소 브레이크포인트는 지정한 메모리 주소에서 실행을 일시 중지합니다.  데이터 브레이크포인트는 특정 주소의 메모리의 내용이 변경될 때 실행을 일시 중지합니다. 데이터 브레이크포인트는 윈도우32 디버그 에서만 사용할 수 있습니다. 데이터 브레이크포인트는 변수의 주소가 다음 디버그 세션에서 변경할 수 있기 때문에 디버깅 세션이 종료될 때 자동으로 비활성화 됩니다. 후속 디버깅 세션 동안 데이터 중단 점을 다시 사용하려면 디버깅 세션 시작 후 데이터 중단 점을 다시 사용하도록 설정해야 합니다.  모듈로드 브레이크포인트는 특정한 모듈을 로드 할 때 실행을 일시 중지합니다. 디버깅 세션 동안 브레이크포인트 설정이 된 코드 라인에 코드 편집기의 왼쪽 끝에 파란색 점으로 표시되어 있습니다. Call Stack 창에 표시된 프레임에 또한 브레이크포인트를 설정할 수 있습니다.Call Stack의 파란색 점 은 해당 프레임에 브레이크포인트를 설정할 수 있는지를 알려주는 것이 아니고 디버그 정보가 프레임에서만 사용할 수 있다는 것을 제외하고는 코드 에디터와 비슷합니다. 사용 가능한 브레이크포인트는 View >Debugwindows>Breakpoints를 선택하면 브레이크포인트 목록 창에 표시됩니다. 브레이크포인트 아이콘을 드래그하여 코드 편집기 창에 드롭 할 수 있습니다; 브레이크포인트는 원래의 브레이크포인트의 설정을 유지한 채 이동합니다. 다음의 아이콘들이 코드 편집기 왼쪽에 브레이크포인트를 표시하는데 사용됩니다. 소스 브레이크포인트 설정하기  대화상자에서 미리 라인 번호를 입력하기 위해, 코드 편집기에서 실행을 중지하고 싶은 위치의 소스 라인을 클릭합니다.  Add Source Breakpoint 대화 상자를 표시하기 위해 Run > Add Breakpoint >Source Breakpoint를 선택합니다.Tip: To Tools > Options>Editor Options>Display를 선택하여 코드 편집기 거터를 변경할 수
  54. 54. 있으며, 거터 폭 옵션을 조정할 수 있습니다.  Add Source Breakpoint 대화상자에, 파일 이름은 이미 입력되어 있고 패스 횟수는 0으로 설정되어 있습니다(브레이크포인트는 첫 번째 패스에서 발생한다는 것을 의미). Line number 필드에, 브레이크포인트를 설정하려는 코드 편집기의 라인을 입력합니다.  주소 브레이크포인트에 조건을 적용하려면,Condition 필드에 조건 식을 입력합니다. 조건 표현식은 브레이크포인트가 발생 될 때마다 조건 식 값을 확인하고 값이 True일 때 프로그램 실행이 중지됩니다.  브레이크포인트 그룹과 소스 브레이크포인트를 연결하려면, 그룹 이름을 입력하거나 Group 드롭 다운 목록에서 선택합니다.  고급 옵션을 설정하려면 브레이크포인트 속성 대화 상자의 "Advanced >>"버튼을 클릭합니다. 고급 소스 브레이크포인트는 실행을 일시 중단하거나, 무시하거나/ 예외를 처리 할 수 있고, 메시지를 로그하고 표현식(문제가 있는 함수 호출, 변수 지정을 포함하여)들의 값들을 평가할 수 있도록 해주고
  55. 55. 브레이크포인트 그룹을 활성화/비활성화 할 수 있습니다. 참고: 빠르게 소스 코드의 라인에 브레이크포인트를 설정하려면, 실행을 일시 중지하려는 코드 줄 옆에 코드 편집기의 왼쪽 거터를 클릭하십시오. 주소 브레이크포인트 설정하기  디버그 모드에서 어플리케이션을 실행합니다(예를 들면 F9,F8, F7,F4등을 사용하여).  Run > Add Breakpoint >AddressBreakpoint를 선택하여 Add AddressBreakpoint 대화상자를 표시합니다.  Address 필드에, 브레이크포인트를 지정하고 싶은 주소를 입력합니다($00011111와 같은).  주소 브레이크포인트에 조건을 적용하려면 Condition 필드에 조건 식을 입력합니다. 조건 식은 브레이크포인트가 발생 될 때마다 조건 식 값을 확인하고 값이 True일 때 프로그램 실행이 중지됩니다.  주소 브레이크포인트에 몇 번의 실행 후 브레이크포인트가 발생하는 패스 횟수를 지정하려면 Pass count 필드에 번호를 입력합니다.  기존의 브레이크포인트 그룹과 주소 브레이크포인트를 연결하려면 Group 필드에 그룹 이름을 입력하거나 드롭 다운 목록에서 기존 그룹의 이름을 선택합니다.  고급 옵션을 설정하려면 엠바카데로 DocWiki의 아래 주소에서 "주소 브레이크포인트 추가하거나 데이터 브레이크포인트 추가" 섹션에서 참조하십시오. http://docwiki.embarcadero.com/RADStudio/en/Add_Address_Breakpoint_or_Add_Data_Break point. 참고: CPUview 또는 Disassemblyview의 가터를 클릭하여 주소 브레이크포인트를 설정할 수 있습니다.
  56. 56. 데이터 브레이크포인트 설정하기  디버그 모드에서 어플리케이션을 실행합니다(예를 들면 F9,F8, F7,F4등을 사용하여).  Run > Add Breakpoint >AddressBreakpoint를 선택하여 Add Data Breakpoint 대화상자를 표시합니다..  Address 필드에, 데이터 브레이크포인트 역할 하고자 하는 데이터의 주소를 입력합니다.  Length 필드에, 브레이크포인트를 구성하는 데이터 피연산자의 길이를 지정할 수 있습니다. 다음과 같은 이슈에 대한 경고가 표시되는 것에 주의하십시오:  데이터 브레이크포인트의 길이는 짝수 바이트 범위를 넘어서는 안됩니다.(1 바이트 길이의 데이터 브레이크포인트는 정렬에는 아무런 문제가 없지만 2 바이트,4 바이트 데이터 브레이크포인트는 사용자 의도보다 더 적게 주소를 사용 할 수 있습니다.)  데이터 브레이크포인트는 스택 위치에는 설정할 수 없습니다.(브레이크포인트가 프로그램이 제대로 실행 할 수 없을 정도로 너무 자주 발생합니다.)  브레이크포인트 조건을 적용하려면 Condition 필드에 조건 식을 입력합니다. 조건 식은 브레이크포인트가 발생 될 때마다 조건 식 값을 확인하고 값이 True일 때 프로그램 실행이 중지됩니다.  주소 브레이크포인트에 몇 번의 실행 후 브레이크포인트가 발생하는 패스 횟수를 지정하려면 Pass count 필드에 번호를 입력합니다.  기존의 브레이크포인트 그룹과 주소 브레이크포인트를 연결하려면 Group 필드에 그룹 이름을 입력하거나 드롭 다운 목록에서 기존 그룹의 이름을 선택합니다.  고급 옵션을 설정하려면 엠바카데로 DocWiki의 아래 주소에서 "주소 브레이크포인트 추가하거나 데이터 브레이크포인트 추가"섹션에서 참조하십시오. http://docwiki.embarcadero.com/RADStudio/en/Add_Address_Breakpoint_or_Add_Data_Breakpoint.
  57. 57. 모듈 로드 브레이크포인트 설정 Run > Add Breakpoint >Module Load Breakpoint를 선택하여 Add Module Load Breakpoint 대화상자를 표시합니다. 다음 중 하나를 실행합니다:  Module name 필드에서, 모니터하고 싶은 DLL, 패키지, 또는 모듈 타입의 이름을 입력하거나 드롭- 다운 리스트에서 이름을 선택하고 OK를 클릭합니다.  Browse를 클릭하여 Select Module 대화상자를 열고 다른 타깃 플랫폼으로부터 모듈들을 조회합니다. File Name 필드 다음의 Modules 드롭-다운을 클릭하여, 보고 싶은 모듈의 타입을 선택합니다.  모듈들 (*.dll,*.ocx,*.bpl,*.exe, *.dylib) {윈도우나 맥 모듈 모두}  윈도우 모듈(*.dll,*.ocx,*.bpl,*.exe) {윈도우 모듈만}  맥OS X 모듈(*.dylib) {맥 모듈만}  모든 파일 *.* Open을 클릭하여 원하는 모듈을 엽니다. 이름은 자동적으로 Add 또는 Edit Module Load Breakpoint 대화상자 안에 입력됩니다. 참고: ModulesWindow를 사용하여 module load breakpoint를 설정할 수 있습니다. 프로그램이 실행하는 동안 지정한 모듈이 로드 될 때, 모듈 브레이크 포인트를 만나면 프로그램 실행이 멈춥니다.

×