Delphi/C++Builder 2010 버전의 기능들 중에서 제가 가장 사랑(?)하는 기능은 바로 코드 포매터(Code Formatter) 기능입니다. 제가 하는 업무의 특성상, 다른 개발자의 코드를 리뷰하는 경우가 아주아주 많은데요. 저도 개발자인지라, 사실 제가 쓰는 코딩 스타일과 다른 코드를 보면 스타일이 눈에 자꾸 걸려서 코드의 내용은 잘 안보인답니다. 그래서, 몇시간이나 들여서 수작업으로 코드를 재정렬한 후에야 코드의 내용을 보기 시작하는 경우가 종종 있었는데요.
2010 버전에서는 코드 포매터가 기본 기능으로 포함되어서 이런 삽질을 할 일이 싹 사라졌습니다. 에디터에서 팝업 메뉴를 띄운 후 “Format Source” 항목을 선택하거나 핫키 Ctrl+D 키를 누르면 즉시 현재 유닛의 코딩 스타일이 싹 재정렬됩니다. 더욱 더 좋은 것은, 이런 코딩 포맷이 벤더인 엠바카데로의 입맛대로 고정된 것이 아니라, 각 개인 개발자들이 환경 설정으로 저장해둘 수 있다는 것입니다.
그런데, 여기서 한가지 단점도 있습니다. Ctrl+D 키가 흔히 쓰는 다른 핫키들과 비슷한 위치에 있어서Ctrl+C나 Ctrl+S 등의 흔히 쓰는 다른 핫키를 누르려다 잘못 누르는 경우가 종종 생기기도 합니다. 그러면 코드 포매터가 동작해버려 순식간에 현재 편집하던 코드가 확 달라져버리죠.
물론, 코드 포매터가 동작한 후라도 Ctrl+Z를 누르면 이전으로 돌아가니까 크게 문제가 되는 것은 아닙니다. 하지만 종종 키 타이핑에서 오타를 내거나 하는 개발자분들에게는 이게 꽤 성가실 수도 있습니다.
조금 불행하게도, Delphi/C++Builder IDE의 옵션으로 이 코드 포매터 기능을 중지시킬 방법은 현재로서는 제공되지 않습니다. 하지만 다음과 같은 방법을 쓰면 코드 포매터가 동작하지 않도록 할 수 있스니다.
Delphi/C++Builder 2010의 설치 디렉토리(디폴트는 C:\Program Files\Embarcadero\RAD Studio\7.0\) 아래에 Bin 디렉토리가 있습니다. 여기에 Embarcadero.Modeling.Formatter.dll 이라는 파일이 있는데, 이것이 바로 코드 포매터 기능을 하는 파일입니다. 따라서 이 파일을 삭제하거나 이름을 바꾸시면 코드 포매터 기능이 동작하지 않습니다.
물론, 코드 포매터 기능을 자주 사용하지 않더라도 간혹이라도 쓸 일이 있을 수 있으니, 삭제보다는 이름을 바꾸는 것이 낫겠구요. 이 파일이 없더라도 IDE가 실행되면서 당황스러운 에러가 발생하거나 하지는 않으며, 또 원래대로 다시 이름을 바꿔놓으면 IDE가 실행될 때 이 파일을 불러들여 코드 포매터가 동작하므로 언제든 필요하실 때는 사용할 수 있습니다.
Delphi XE 버전부터는 코드 포매터 기능을 실행하면 확인 다이얼로그가 떠서 정말로 코드 포매팅을 할 것인지 물어보기 때문에, 위와 같은 번거로움이 없게 되었습니다.