우선, C++ Builder 도 텝 4로 조정 가능합니다.-_-;;
4로 맞춰 놓으면 VC++ 코드 가져오면 그대로 가져와집니다. 맞출필요도 없죠-_-;
(전 빌더 설치하면 가장 먼저 텝부터 4 로 맞춥니다)
게다가 블럭 인덴트도 손에 익으면 아주 편합니다. CTRL + K + I, CTRL + K + U
(뭐 VC 모드로 바꾸면 6.0 부터는 Shift+Tab 도 먹힙니다.
대신 Ctrl + K + I 가 안먹히죠-_-;;;;;;
전, 이제는 빌더쪽 단축키가 익숙해져서 빌더 기본으로 사용합니다.
VC++ 에서도 저 단축키도 동시에 지원해줬으면 할 정도죠 ^^)
정작 불편한 것은 "미치도록 느린" 코드 인사이트 기능이죠.
마우스 잘 못 갔다대면 버벅 거리는 컴퓨터 때문에 아예 꺼놓을 때도 많습니다.
VC++ 의 경우 기본 기능도 괜찮지만 , 비주얼 어시스턴스 깔면 진짜 장난 아니죠-_-;
다행인 것은, C# Builder 에서는 이 속도가 어마어마하게 향상됐다는 점입니다.
(향후 볼랜드의 IDE 가 C# Builder 처럼 바뀐다고 가정하면...)
그 외에도 불편한 것은 백워드,포워드 방향으로 지정해서 검색하는 Search 기능입니다.
이것은 어떻게 보면 코드에서의 검색에 대한 개발사들의 철학의 차이이기는 합니다만,
적어도 검색 기능에 대해서는 볼랜드의 철학이 제게는 맞지 않습니다.
코드 하단부를 보고 있다가, 앞 부분에 있는 코드를 보기 위해 백워드 설정을 해주고
검색을 하는 것 보다는 그냥 F3 눌러주면 되는게 더 편합니다.
제가 최근 2년간 C++ Builder 만을 사용해서 이제는 VC++ 이 더 어색할 정도이지만,
이건 제게는 너무도 불편한 부분이었습니다.
(안타깝게도 이 부분은 C# Builder 에서도 C++ Builder 와 동일합니다. 안바뀌었더군요)
코드 인사이트 느린건 얼마든지 참겠으나, 이 부분 만큼은 너무 불편했습니다.
그리고 find 에 이은 replace 쪽도 철학차이입니다만 제겐 불편해요.
edit1->Text = "abc";
edit2->Text = "def";
여기서 edit1 을 ctrl+c 로 저장하고,
edit2 를 find 해서(블럭 선택 되어있는 상태) ctrl + v 를 누르면
edit1->Text = "abc";
edit2edit1->Text = "def";
가 되죠.
일반적인 에디터는 블럭 지정되어 있는 부분에서 ctrl + v 로 paste 하면,
인서트 모드나 오버라이트 모드에 상관없이 오버라이트를 하는 반면에...
C++ Builder 에서는 무조건 인서트를 하죠. 음-_-;
(아, 블럭을 별도로 지정한 경우에는 오버라이트 합니다만,
검색해서 선택된 블럭을 paste 할 때에만 인서트 합니다.
에디터 옵션에서 Overwrite blocks 체크해도 마찬가지죠.)
또, edit1->Text = "abc";
이 코드에서 Ctrl + Shift + 화살표로 변수를 선택할 때,
일반적인 에디터에서는 edit1 만 선택되는 반면,
C++ Builder 에서는 edit1-> 까지 선택이 됩니다.
array[i] 경우에도, Ctrl + Shift + 화살표로 선택하면
array[ 가 선택됩니다.-_-;;;;;;;;;;;
{ data1, data2, data3 } 의 경우에도 data1, 까지 선택되죠.
이쯤되면 볼랜드 나름대로의 배려라고 볼 수도 있는데...
아무리 생각해봐도 누르던 화살표 키를 한번 더 눌러서 나머지를 선택하는게 더 편합니다.
매번 다시 반대 방향 화살표 눌러서 취소해줘야 되는게 정말 불편하더군요.
이 부분은 사람마다 다 취향이 다를 것 같기는 하지만요.
edit1->Text = "a";
edit2->Text = "a";
edit3->Text = "a";
블럭 인덴트로 Ctrl + K + I 를 3번 눌러서
edit1->Text = "a";
edit2->Text = "a";
edit3->Text = "a";
이렇게 조정했을 때,
edit1->Text 줄에 가서 Delete 키를 눌러 당기면 한칸씩 당겨집니다.
그러나 3줄을 모두 별도로 Tab 3번씩 눌러서 띄워줬을 경우에는
Delete 키로 Ctrl + K + U (Shift+Tab) 를 한 효과를 낼 수 있습니다.
(이 경우도, Use tab charactor 체크했을 경우에만입니다.
만약 이게 체크되어 있지 않으면 텝은 모조리 공백으로 들어가죠.)
UNDO 기능도 불편합니다.
이것 저것 조작해서 맞춰봤지만, 언도하다가 코드 날린적 여러번 있습니다.-_-;
그리고... 폼 윈도우는 UNDO가 안됩니다.-_-;
클릭 실수로 위치 맞춰 놓은거 옮겨 버리면 눈물나죠;;
(이 부분은 C# Builder 에서 바뀐 것으로 보아, UNDO 안되는게 볼랜드의 철학은 아니었을 듯-_-)
물론 C++ Builder 6.0 쪽이 압도적으로 편한 부분도 있습니다.
F12 눌렀을 때, Form 화면으로 전환되는 것,
F11 눌렀을 때, 오브젝트 인스펙터 뜨는거
(이 두가지 단축키는 예술이라고 밖에...)
Ctrl + F6 눌렀을 때, Source 와 Header 가 전환되는거...
이것도 정말 믿을 수 없게 편합니다.
VC++ 에서 폼 에디터 찾으려면 Resource 로 들어가서 해당 윈도우 찾아야 되는데 정말 짜증나죠-_-;
(혹시 VC++ 에도 단축키 기능이 있는지는 모르겠습니다. 제발 좀 있었으면 좋겠습니다-_-;)
그리고 해더 파일도 소스의 초기 부분에 #incldue 부분에서 우측 버튼 누르고 오픈하던가,
ClassView, FileView 등에서 오픈해야 되는데 이것도 정말 불편합니다.
이 부분은 C++ Builder 인터페이스 설계의 섬세함에 상이라도 주고 싶은 부분입니다.
Ctrl + F6 써보면 진짜 편해요. C++ 개발자만을 위한 설계죠.
또 다른 편리함은 Desktop 환경을 저장할 수 있다는겁니다.
더불어 Action Item 기능이 훌륭합니다. (Action Item 꺼내놓고 Desktop 환경 저장하면 되죠)
길어진 소스에서 함수 찾을 때, 클레스에서 직접 찾을 수도 있고,
소스의 맨 처음에 가서 Find 기능으로 :함수이름으로 찾을 수도 있겠으나...
Action Item 덕분에,
함수 내부에 //todo: Function Name
이렇게 해두면 Action Item 을 더블 클릭하는 것만으로 해당 함수로 직행하죠.
(어떤 소스 코드에 있던지 상관없습니다)
이것도 감동먹은 부분 중 하나죠. (물론, .net 에서도 지원하는 기능이긴 합니다만)
빌더 사용자 대부분은 빌더(또는 볼랜드) 광팬일겁니다.
이 사이트에 오는 사람들 배부분 그럴거에요. VC++ 자랑하러 여기까지 오는 사람은 없겠죠-_-;
전 VC++ 을 기준으로 비교한 것이 아니라,
그냥 평범한 에디터를 기준으로 비교했습니다. (물론, 그 에디터들도 VC++ 의 영향을 받았을 수도 있지만요)
빌더 자체의 강력함이 에디터의 단점을 커버하고도 남지만, 제게는 참 불편한 부분이었습니다.
취향에 따라서 제가 얘기한 모든 부분이 다 편하시다는 분들도 계실테지만요^^
|