Microsoft Visual C++ 6.0 Configuration Guide
Supported by Xeno
# Concept
본 가이드는 이전 가이드에서 설치한 VC시스템의 기본 설정에 대하여 설명한다. 개발환경은 개발자마다
각기 다른 모습을 따르며, 가이드는 Xeno자신이 하는 설정에 대하여 설명하므로, 이점 이해하기 바란다.
각 옵션을 설정하는 이유와 기본적인 설명을 참고하는 가이드로 활용하기 바라며, 본 가이드가 표준은
아니라는 것을 거듭 잊지 말기 바란다.
# Configuration
비주얼씨 시스템과 서비스팩 6버전을 설치하게 되면, "시작" -> "프로그램" -> "Microsoft Visual C++ 6"
이라는 그룹이 생성된다. "Microsoft Visual C++ 6.0"을 선택해서 VC를 실행한다.
가장 먼저, TOD(Tip Of Day)화면이 표시된다. 어느정도 익숙해지면 상당히 유용한 내용을 표시해주나
일단 귀챦은 면이 많으므로, 좌측 하단의 "[v] Show tips at startup"부분의 체크를 해제해서 다음번
실행시부터는 표시하지 않기로 한다. "Help" -> "Tip of Day.."를 선택하면 언제든지 나타낼 수 있다.
다음의 화면은 최초로 실행 했을 경우 나타나는 모습이다. 이제 이 VC시스템을 설정할 것이다.
물론 기본그대로 사용해도 크게 문제될 것은 없지만, VC IDE는 정말 강력한 에디터와 개발환경이다.
DevX에서 사용하는 WinASM IDE역시 VC에디터와 유사하다. 단축키와 여러가지 기능을 그대로
에뮬레이션 할 정도로, VC IDE는 정말 강력하다!! 실행용량도 8M내외로 가장 빠르게 로딩된다.
자신에게 맞도록 환경 설정을 할려면, VC메뉴중 "Tools" -> "Options"를 선택한다.
VC IDE의 핵심적인 곳이라 생각해도 된다. 옵션창은 11개의 탭으로 구성되며, 가이드에서 이부분을
Xeno자신이 아는 한도에서 설명하도록 한다. 각 화면은 Xeno가 설정한 상태이며, 각 항목을 하나씩
설명하도록 하겠다.
가장 먼저 "Editor"탭이다. 이 부분은 VC의 개발환경의 주요 수단인, 에디터로 사용할 경우의 여러가지
옵션을 조정하는 곳이다.
* Vertical scroll bar : 우측편에 세로로 스크롤바를 표시할 것인지를 설정한다.
* Automatic window recycling : 화면이 변경되면 수시로 자동으로 화면을 갱신한다.
* Drag-and-drop text editing : 화면에서 마우스로 영역을 설정한 후 원하는 위치로 드롭시킬수있다
* Horizontal scroll bar : 화면 하단에 가로의 스크롤바를 표시할지를 설정한다.
* Selection margin : 소스창의 좌측편에 세로로 작은 영역을 의미한다. 이부분에 북마크표시와
브레이크포인트등의 마크가 표시된다. 반드시 설정하기 바란다.(거터라고도함)
* Save before running tools : 윈도우화면에서 보이는 부분에 수정을 했다면, 컴파일을 실행하면
실제로 디스크에 저장된 파일을 읽어와서 컴파일을 하게된다. 이에 본 옵션을 선택하면
현재 편집중이 파일을 자동으로 저장해서 최신 상태로 유지하게되는 것이다. 읽어온 파일에서
수정사항이 발생하면 파일제목의 뒤에 "*"표시가 나타나게 된다.
* Prompt before saving files : 상기의 옵션에서 저장할 지에 대한 질문을 하는 옵션이다.
* Automatic reload of externally modified files : VC의 IDE를 제외한 외부의 에디터로 프로젝트의
파일을 수정했다면, 자동으로 변경된부분을 읽어들이겠냐는 설정이다. 외부에서 개발할 일은 거의
없지만, 설정해두기 바란다.
* Auto list members : IntelliSense라는 VC의 주요기능으로 자동완성도구의 설정이다. C++의 클래스의
멤버이름을 자동으로 화면에 팝업으로 표시할 지 여부에 대한 설정이다.
* Auto type info : 클래스의 데이터 타입을 자동으로 팝업시킬지에 대한 설정이다.
* Code comments : 코드에 대한 간단한 설명을 표시할 것인지에 대한 설정이다.
* Auto parameter info : 함수의 사용시에 넘겨질 파라미터에 대한 정보를 팝업으로 표시할 지에 대한
설정이다. 상기의 4개는 모두 설정하기 바란다.
프로그래밍에서 탭키의 역활은 간단합니다. 코드의 들여쓰기를 수행해서 보기좋은 코드를 만들어
줍니다만, 탭키가 코드에 실제로 기록되서, 에디터에서 탭키를 다루는 방식에 따라 코드가 다르게
나타나는 문제도 있기 때문입니다. 특별히 설정할 것은 없습니다. 기본값을 사용하시면 됩니다.
디버그탭에서는 프로그래밍의 필수 과정인 디버그창에서의 여러가지 설정사항을 다룹니다.
* Hexadecimal display : 기본적으로 10진수로 표시합니다. 본 항목을 설정하면 16진수로 표시됩니다.
* Disassembly windows : 어셈블리 하셨던 분들이라면 익숙한 역어셈블창에 대한 설정입니다.
* Call stack Window : 함수를 호출할 경우 내부적으로는 스택이라는 장치를 사용합니다.
함수에서 사용되는 인자의 타입과 값을 표시해주는 설정입니다.
* 나머지 항목은 특히 설정하실 것이 없습니다. 사실 디버깅쪽은 VC보다는 어셈블리관련 툴을
사용하게 됩니다. 특히나 WinDBG의 경우는 아주 강력하다 못해 놀라울 정도입니다.
호환성에 관한 탭입니다. MS사의 개발환경에 익숙하시다면 특히 변경하실 일이 없읍니다만,
이전에 프로그램을 작성하신 개발자들은, 브리프나 기타 개발환경으로 개발하셨을 것입니다.
이에, 예전에 자신이 다루었던 개발환경에 맞게 IDE를 변경해줍니다. (단축키...)
특별히 설정하실 것은 없습니다.
* Disable backspace at start line : 문자열의 시작에서 Backspace 키를 눌렀을경우 문자열의
시작부분으로 가는것을 금지합니다.
* Enable copy without selection : 문자열 복사를 반드시 선택하지 않아도 현재 커서의 한단어로
복사되는 것을 허용합니다.
* Enable line-mode pastes : 줄단위의 붙여넣기를 허용합니다.
* Enable virtual space : 가상공간이라는 것은 애매합니다. 문자열의 마지막에서 -> 키를 눌렀을경우
다음줄의 시작으로 이동할지 바로 아래컬럼으로 이동할지는 본 설정으로 결정
* Include caret positioning in undo buffer : 되돌리기 할 때 현재의 캐럿위치정보를 포함하는 것을 설정
* Indent separate paragraphs : 문단단위로 들여쓰기를 결정합니다.
* Protect read-only files from editing : 읽기전용 속성으로된 파일의 경우 수정을 불가합니다.
* Use BRIEF's regular expression syntax : BRIEF프로그래밍개발환경에서 사용하는 정규표현식 사용
* Double-click in dialog editor editor edits code(MFC Only) : 대화상자 편집기에서 더블클릭시에
코드편집으로 바로 이동하는 기능을 가능하게 합니다.
Build라는 것은 개발환경의 사이클인 컴파일 -> 링크 단계를 의미합니다. 이런 빌드를 수행할 시에
수행하는 여러가지 설정을 지정합니다.
* Export makefile when saving project file : 프로젝트를 저장할 때 표준 Make파일을 생성합니다.
* Always write dependencies when writing makefiles : Make파일을 저장할 때 항상 의존파일위주로
저장합니다. MS사의 Make툴은 의존형식으로 Make파일을 사용합니다. 어셈블리에게 유용합니다
* Write Build Log [.plg] : 빌드를 수행할 경우 각단계의 과정을 담는 로그파일을 생성합니다.
디렉토리 탭에서는 개발시 참고하는 Library / Header파일등의 경로를 지정합니다. 자신만의 라이브
러리를 사용할 경우 이부분에서 추가하거나 수정해 주게 됩니다. 사용법이 직관적이라서 크게 어렵지
않게 사용할 수 있습니다. 기본적인 사용을 하실려면 수정하지 마시기 바랍니다.
File Not Found 등의 에러가 발생하면 이부분에서 정확한 경로가 지정되었는지를 확인하시면됩니다.
작업창에 관련된 탭입니다. VC의 외양을 결정하는 중요하고 자주 설정하는 부분입니다.
Docking View의 체크리스트박스부분에는 도구윈도우를 표시할지 여부를 결정합니다. 참고로
VC의 도구창은 해당작업에 맞게 자동으로 팝업됩니다. 특히 수정할 것은 없을 것입니다.
VC에서는 디스어셈블리는 기본적으로 표시하지 않습니다. C개발자는 어셈블리를 어려워하는 경향이
많아서 기본적으로 뺀듯합니다. 저한테는 더 편한데 말입니다.
* Display status bar : VC IDE의 하단에 상태표시줄을 표시합니다.
* Display clock on status bar : 상태표시줄에 시계를 표시합니다.
* Reload documents when opening workspace : VC를 종료하고 다시 실행할 경우 이전에 작업했던
문서를 자동으로 열어주는 기능입니다.
* Reload last workspace at strartup : VC를 종료하고 다시 실행할 경우 이전에 작업했던 프로젝트를
자동으로 열어주는 기능입니다. (원래는 "Open"으로 선택해서 오픈합니다)
* Automatically sort window menu : VC의 메뉴중 "Windows"메뉴에서 현재 열려있는 윈도우를
자동으로 알파벳순서로 정렬해주는 기능입니다.
* Use screen reader compatible menus : 가독력을 높인 메뉴로 사용됩니다. 메뉴에서 아이콘을 표시
하지 않게 됩니다. 오로지 문자메뉴만 보여주게 됩니다.
* Show recently used items on submenus : MRU라는 기능으로 최근사용한 파일을 동적메뉴로 생성
해주게 되는데, "File"메뉴에 나타날경우 별도의 "Recently"메뉴라는 이름의 메뉴하나로 표시됩니다.
* Window menu contains : "Windows"메뉴에 표시할 파일의 수를 입력합니다
* Recent file list contains : 최근 사용 파일에 표시할 파일의 수를 입력합니다
* Recent workspace list contains : 최근 사용한 프로젝트에 표시할 프로젝트의 수를 입력합니다.
매크로에 관련된 설정을 입력하는 탭입니다. 매크로라는 것은 일종의 입력녹음시스템입니다.
파일을 열고 모두 대문자로 변경하고자 한다면, 파일이 10개라면 10번이나 반복되는 작업입니다.
이것을 "FIle" -> "Open" -> "Edit" -> "Select All" -> "Uppercase" -> "File" -> "Close" 등의
일련의 작업을 매크로로 적용해서 매크로 재생만 누르면 자동으로 수행해주는 기능입니다.
VC에서는 비주얼베이직스크립트를 사용해서 매크로를 생성하며, 수정할 수 도 있습니다.
본 설정에서는 매크를 실행하기 전에 변경된 매크로를 적용할때 항상 다시 읽기를 수행할지
아니면 다시읽기를 실행하지 않을지 혹은 매번 물어볼지에 대한 설정을 합니다.
본 데이터뷰 탭은 VC엔터프라이즈 에디션의 경우에만 나타납니다. 작업창에 클래스뷰 / 리소스뷰 /
파일뷰 외로 데이터뷰를 표시하게 됩니다. 이 데이터 뷰에 대한 설정을 하게 됩니다.
특별히 설정할 것은 없습니다. ODBC / RDO / ADO 등의 데이터베이스에 관련된 설정입니다.
본 가이드에서는 MSDN을 설치하지 않았습니다. 그래서 모두 빈항목으로 표시됩니다. MSDN의 여러
버전을 별도로 설치할 수 있는데, 이부분에서 어떤 MSDN을 기본으로 사용할 지를 설정합니다.
"포맷" 탭에서는 코드에디터에 대한 여러가지 색상과 폰트등을 설정하는 페이지입니다.
좌측편의 "Category"에서 어떠한 윈도우에 적용할 지를 선택한 후에 우측편에서 폰트와 색상을 지정
합니다. 대부분 기본환경으로 사용하시기 바랍니다.
이로써, 기본적인 설정을 마쳤습니다. 이제는 "FIle" -> "New" 메뉴를 선택해서 API프로젝트를
생성할 것입니다. VC의 New는 파일인지 프로젝트인지에 따라서 적당한 페이지를 자동으로 열어줍니다.
예제에서는 "Projects"탭에서 "Win32 Application"을 선택한 후 "Project name"부분에서 DevX라고
입력한 후 "Location"부분에서 c:\Temp\DevX라는 폴더를 지정했습니다. 디렉토리만 지정해주면
프로젝트이름의 디렉토리를 생성해주고, Debug라는 폴더와 여러가지 VC에서 사용하는 파일을 생성해
주게 됩니다.
# PostScript
VC의 설정이라가기 보다는 Options에 대한 설명에 가깝습니다. 하지만, 대부분의 경우 이와같은 설정을
사용함을 여러번 겪어보았고, 본인이 사용하는 설정에 대하여 설명했습니다. 실제 화면의 크기와
전용폰트와 문법강조의 색상등 설정은 지극히 개인적인 것이 많습니다. 하지만 본 가이드대로 설정했다면
일반 가이드와 각종 서적에서 사용하는 환경을 따라하는 시스템으로 만드는데는 무리가 없을 것입니다.
이제부터 개발은 여러분에게 달려있습니다. VC는 본인이 생각해도 아주강력한 개발환경입니다.
별도의 외부툴 없이 리소스부터 컴파일 디버깅을 모두 VC하나로 끝을 냅니다. 또한 VC의 메뉴가 전부가
아닙니다. VC는 어떠한 기능에 이름을 부여하고 메뉴와 짝을 지어놨습니다. 즉 짝지어지지 않는 명령도
존재합니다. 이것을 UnBounded명령이라고 합니다. VC의 "Help" -> "Keyboard Map"을 선택하시면
메뉴와 매핑되지 않는 메뉴를 확인 하실수 있습니다. 디버깅시에 실시간으로 값을 변경하는 기능은
당연한것 아닌가? 라고 생각하지만 상당히 어려운 기술입니다. 스크립트 기반언어에서는 쉽지만
네이티브 컴파일러에서는 상당한 기술입니다. VC의 개발환경은 연구해볼 가치가 있는 환경임에는
틀림없습니다. 본인의 경우에는 SQL문서나 HTML문서나 각종 소스개발에 VC에디터를 사용합니다.
여러분도, C개발자가 아니라해도 한번쯤 익혀두시기 바랍니다. Visual Studio 2005에서도 VC6에서
사용하는 단축키와 여러가지 개념이 그대로 적용되어 있습니다.