메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

비주얼 C++ 애드인 프로그램(2) : 퍼포스 外

한빛미디어

|

2005-08-05

|

by HANBIT

15,530


본 한빛 네트워크 기사를 블로그 등에 기재할 경우에는 URL을 포함한 출처를 명기해 주시길 부탁드립니다.
특히 아래 본문 서두에 기재된 저자(역자) 및 원출처는 필히 명기해 주시기 바랍니다.

저자: 서진택
원출처: IT EXPERT, 윈도우 프로그래머를 위한 MFC 구조와 원리(한빛미디어, 2005) 부록 중에서



퍼포스

퍼포스는 공동작업에 필요한 소스 관리 도구(소스 컨트롤, source control)다. 한 프로젝트에 필요한 소스 코드를 여러 명이 공유하는 경우, 소스 컨트롤의 사용은 필수적이다. 많은 소스 컨트롤이 있지만, 퍼포스의 장점은 강력한 소스 머지(source merge) 기능이다. 같은 소스를 2명이서 편집한 경우 발생한 소스의 충돌을 퍼포스는 훌륭하게 자동 머지(auto merge)한다(물론 자동으로 머지되지 않는 경우, 머지 툴이 실행되어 수동으로 머지해야 한다).



[그림 A-7] 퍼포스 메뉴: 등록된 소스의 편집을 시작하기 위해서 소스 저장소에서 가져오는 것을 체크 아웃(check out)이라고 한다. 체크 아웃된 소스의 편집이 끝나고 체크 인(check in)해 주면, 다른 사람은 가장 최근의 소스를 얻을 수 있다. 퍼포스는 여러 명이 동시에 같은 파일을 체크 아웃하는 것을 허용하며, 이러한 파일의 체크 인 시에 자동 머지를 지원한다.

리스토어 클래스 뷰 애드인

잘 정돈된 클래스 뷰의 폴더 구조가 깨어져서 고생한 독자들에게 리스토어 클래스 뷰(Restore ClassView)는 필수적이다. 아래의 화면은 필자가 참여하고 있는 범퍼킹(BumperKing) 프로젝트의 깨어진 클래스 뷰 화면이다.



[그림 A-8] 깨어진 클래스 뷰 폴더 구조: 리스토어 클래스 뷰를 이용하면 깨어진 클래스 뷰를 복구할 수 있다.

클래스 뷰 폴더 구조를 복구하기 위해, 리스토어 클래스 뷰 툴바의 열기 버튼을 선택해서 가장 최근에 저장한 클래스 뷰 구조 파일을 불러온다.



[그림 A-9] RestoreClassView: 클래스 뷰 폴더 구조의 열기와 저장을 지원한다.

툴바에서 리스토어 클래스 뷰 [열기] 버튼을 선택한 다음, 확장자가 .clv인 가장 최근에 저장해놓은 파일을 선택하면 클래스 뷰 폴더 구조가 복구된다.



[그림 A-10] 복구된 범퍼킹 프로젝트의 클래스 뷰: 소스가 1000개를 넘어가는 큰 프로젝트에서 클래스 뷰 구조를 복구하는 기능은 많은 도움이 된다.

비주얼 어시스트

비주얼 어시스트는 소스 작성을 돕는 편리한 툴이다. 대표적인 기능으로 멤버 함수 자동완성 기능, 멤버 함수 찾아가기 기능, 편집 문맥 표시 기능, 프로젝트 파일 열기 기능, 다중 클립보드 기능 등이 있다. 또한 클래스의 이름과 멤버 함수를 다른 색으로 표시하는 강화된 컬러기능은 한 눈에 함수의 종류를 판단하는데 도움을 준다. 아래의 그림은 비주얼 어시스트의 멤버 함수 자동완성 기능을 보인다.



[그림 A-11] 비주얼 어시스트의 소스 자동 완성 기능: 객체 이름 다음에 .이나 ->를 적는 순간 팝업되며, 두 문자를 타이핑치고, 탭 키를 누르면 여러 번의 타이핑을 줄일 수 있고, 타이핑 오류를 미연에 방지한다.

비주얼 어시스트의 멤버 함수 찾아가기 기능은 현재 커서가 위치한 문맥에서 클래스의 멤버 함수를 찾아가는 기능을 제공하므로, 빠르게 연관된 멤버 함수로 이동할 수 있다.



[그림 A-12] 비주얼 어시스트의 멤버 함수 찾아가기 기능: 멤버 함수의 이름을 입력하기 시작하면 일치하는 멤버 함수가 강조되고 엔터 키를 누르면 해당 멤버 함수로 이동한다.

비주얼 어시스트의 프로젝트 파일 열기 기능도 유용하다. 소스 파일이 클래스의 헤더를 포함한 경우, 위저드 바의 클래스 찾기 기능으로 쉽게 이동할 수 있지만, 전역 변수를 모아둔 파일이나, 이름 공간이 정의된 파일 등은 위저드 바의 클래스 찾기 기능을 이용해서 쉽게 해당 클래스로 이동할 수 없다. 이때 비주얼 어시스트의 프로젝트 파일 열기 기능을 선택하고, 파일 이름을 입력하기 시작하면 해당 파일을 강조하고 몇 번의 타이핑으로 해당 파일을 열 수 있다.
혹 독자들은 클래스 뷰나 파일 뷰에서 열려는 파일을 선택하면 되는데, 뭐가 문제지? 라고 생각할 수도 있을 것이다. 하지만 프로젝트를 이루는 소스 파일의 개수가 1000여개가 된다고 생각해보라. 긴 파일들의 리스트에서 소스파일을 찾는 것은 고된 일이지만, 비주얼 어시스트가 있으면 대여섯 번의 타이핑만으로 소스를 열수가 있다.



[그림 A-13] 비주얼 어시스트의 프로젝트 파일 열기 기능: 프로젝트 파일 열기를 단축 키로 매핑해 놓으면 대여섯 번의 타이핑만으로도 소스를 열 수 있다.

비주얼 어시스트의 문맥 표시 기능은 현재 커서가 위치한 곳의 문맥 정보를 동적으로 표시해준다. 예를 들면, 긴 if문에서 복잡한 블록을 편집중일 때, if문의 시작 부분은 화면 위로 스크롤 되어 보이지 않고, 특정 블록의 위치가 헷갈릴 때, 비주얼 어시스트의 문맥 기능을 보면 커서가 위치가 곳이 어딘지 쉽게 알 수 있다.



[그림 A-14] 비주얼 어시스트의 문맥 기능

비주얼 어시스트의 다중 클립보드 기능은 클립보드로 복사한 최근 텍스트 중에서 하나를 선택하여 붙여넣기를 하는 것을 지원한다. 예를 들면 복사해야 하는 코드가 세 군데에 흩어져 있고, 붙여넣기를 할 때 이 세 개 중 하나를 사용해야 한다고 하자. 비주얼 어시스트가 있다면, 원하는 세 곳의 텍스트를 선택하여 Ctrl+C를 눌러 일반적으로 복사한 다음, 붙여넣기를 할 때, Ctrl+V가 아니라 Ctrl+Shift+V를 누르면 아래와 같이 클립보드의 내용이 메뉴로 표시된다. 사용자는 원하는 클립보드의 내용을 선택하면 된다.



[그림 A-15] 비주얼 어시스트의 다중 클립보드 기능: 클립보드로 복사되는 최근의 텍스트 중에서 붙여넣기 원하는 텍스트를 선택할 수 있다.

윈탭

윈탭은 편집중인 소스 파일을 탭 컨트롤로 표시해주는 도구다. 파일 이름을 보고, 열려는 파일을 선택할 수 있으므로 편리하며 다양한 파일 관련 기능들을 제공한다.



[그림 A-16] 윈탭의 파일 탭 기능

탭 컨트롤 위에서 마우스 오른쪽 버튼을 누르면 다양한 종류의 컨텍스트 메뉴를 제공한다. 아래의 그림을 보자.



[그림 A-17] 윈탭의 컨텍스트 메뉴

눈에 띄는 기능은 탐색기의 컨텍스트 메뉴를 그대로 제공한다는 것이다. 그것은 비주얼 C++ 안에서 탐색기로 할 수 있는 많은 작업을 할 수 있다는 것을 의미한다.

인크레디빌드

인크레디빌드가 없는 비주얼 C++는 생각하기도 싫다! 인크레디빌드는 네트워크를 통하여 분산 컴파일/링크를 지원하는 유용한 툴이다. 필자가 진행 중인 범퍼킹 프로젝트의 경우 Rebuild All을 선택하면 펜티엄4 2.6에서 약 20분이 걸린다. 그런데 인크레디빌드를 사용하면 인크레디빌드 서버에 등록된 모든 컴퓨터와 협조하여 소스를 컴파일하고 링크하여 1분도 걸리지 않아 실행파일을 생성한다.



[그림 A-18] 인크레디빌드(IncrediBuild)
TAG :
댓글 입력
자료실

최근 본 책0