Kori 9월 3일, 2022에 포스트됨 공유하기 9월 3일, 2022에 포스트됨 데이비드 밀링톤 (David Millington)의 "New Productivity Tooling in RAD Studio 10.3.1: Navigator" 을 번역했습니다. (원문 작성: 2019년 2월, 최종 번역: 2022년 9월) (역자 주: 매우 유용한 도구인데도, 아직 모르는 사용자들이 상당히 있어서 다시 게시합니다) 정말 유용한 생산성 도구 2개 즉 북마크스(Bookmarks)와 네비게이터(Navigator)가 RAD 스튜디오 10.3.1 버전부터 IDE에 추가되었다. 덕분에 코드 찾기와 코드 사이를 이동하기가 훨씬 좋아졌다. 며칠 전에 살펴본 북마크스(Bookmarks)에 이어 이제 네비게이터(Navigator)를 살펴보자. 추가된 생산성 도구 2개는 모두 델파이와 C++빌더 사용자들에게 이미 인기가 좋고 널리 사용되던 써드-파티 도구였는데, 이제 RAD 스튜디오가 있으면 누구나 사용할 수 있도록 IDE 안에 넣게 되어서 기쁘다. 이 기능들을 추가하려면 겟잇(GetIt)을 사용하면 된다. Tools > GetIt Package Manager를 메뉴에서 선택하면 겟잇 패키지 매니저 창이 표시된다. 왼쪽에 있는 필터링 옵션 중 Categories 아래에서 IDE Plugins를 선택하거나 검색 상자에서 이름으로 검색하면 이 도구들을 찾아서 바로 설치할 수 있다. 목차 Go To 창 (델파이) 미니맵 (델파이 및 C ++) 설정(Settings) 요약 (Overall) Go To 창 (델파이) 코드를 작성하거나 디버깅할 때, 코드 안에 있는 특정 항목을 찾고 싶을 때가 매우 많다. 예를 들면, 현재 보고 있는 코드와 상호작용을 하는 메소드(method)를 찾거나 유닛(unit)을 추가하기 위한 uses 절 등을 찾기 위해 스스로에게 다음과 같은 질문해 본 적이 있지 않은가? Foo 라는 메소드로 가고 싶은데 - 그게 어디에 있지? 유닛을 추가해야겠군. uses 절로 가야겠어. TMyForm.MyProperty 라는 프로퍼티의 겟터(getter) 메소드가 뭐였지? 이럴 때 대체로, 개발자들은 스크롤을 하거나 메소드가 있을 만한 위치를 대충 기억해서 찾아가거나, Ctrl+Shift+위쪽방향키를 사용하여 클래스로 가서 해당 메소드의 정의를 찾기 위해 스크롤한 후, 같은 단축키 (또는 Ctrl+Shift+아래쪽방향키)를 사용하여 해당 메소드의 구현 부분으로 이동하거나, 아니면 그냥 해당 유닛에서 검색(메소드의 이름을 검색어로 하여 F3, F3, F3, F3을 스무번이 넘도록 계속 하면서, 해당 메소드를 호출하는 곳은 지나치고 해당 메소드의 구현 부분으로 이동할 때까지 반복)을 한다. 이런 방식 모두 그다지 훌륭하지 않다. 네비게이터(Navigator)는 이런 문제를 해결한다. 네비게이터는 델파이 언어를 할 줄 안다. 따라서, 당신의 유닛(unit) 안에서 어떤 것들이 유용한 지를 알고 있다. Ctrl+G를 누르면 (G는 Go를 의미한다), 해당 유닛 안에 있는 유용한 부분이 모두 나열된다. 위 그림은 Ctrl+G를 누르면 나타나는 네비게이터의 Go To 창이다 (이 창은 깃허브에서 다운로드 할 수 있는 Mazes 애플리케이션의 메인(main) 폼(form) 안에서 누른 결과임). 네비게이터의 Go To 창에 나열되는 항목은 다음과 같다. 모든 클래스 (예 : TForm1), 레코드(record), 열거형(enum), 기타 타입(type) 모든 메소드(method), 프로퍼티(property), 필드(field) 모든 글로벌(global) 변수(variable)와 상수(constant) - 원한다면 메소드 안의 로컬 상수 까지도 포함 가능 모든 독립(standalone) 메소드 모든 유용한 유닛 안의 영역 (uses 절, type 절, Interface 영역, Implementation 영역 등등) 다시 말해, 가고 싶은 모든 곳을 알아서 보여준다. 창 안에 있는 항목을 선택하고 엔터 키를 누르면 그곳으로 이동한다. 검색 창을 통해 필터링할 수 있고, 위/아래 화살표 키를 이용하면 검색 창을 벗어나지 않고도 필터링된 결과 항목 중에서 원하는 것을 선택할 수 있다. 검색 창에서 타이핑을 시작하면 바로 필터링된다. 예를 들어, 'ShouldStopPlaying' 함수가 있다는 것을 이미 알고 있어서 그 함수로 이동하고 싶다면, 위 화면이 열린 상태에서 'stop'을 입력하면 5 개 결과 항목만 아래와 같이 남는다. 이어서 'func'를 타이핑하면 'ShouldStopPlaying' 함수만 창에 남는다. 엔터를 누르면 해당 메소드로 이동한다. 이와 비슷한 방식으로 클래스 안에 있는 필드(field), 프로시저(procedure), 메소드(method)를 검색할 수 있다 (메소드 이름을 타이핑하기 시작하고, 마찬가지로 해당 클래스 이름의 일부도 타이핑하는 방식이다). 필터링 결과가 바로바로 반영되므로 입력을 많이 하지 않아도 찾고 있는 항목이 나타난다. 네비게이터의 Go To 창에는 입력된 글자와 일치하는 모든 항목이 표시되고, 기본 설정에 의하면, 대체로 가장 위에 있는 결과가 선택되어 있다. 하지만, 정확하게 일치하는 결과가 있다면, 예를 들어 클래스 이름 전체를 입력한 경우, 정확히 일치한 그 결과가 선택되어 강조된다. 메소드(method)가 인터페이스(interface) 영역과 구현(implementation)영역 양쪽에 모두 있는 경우, 양쪽 지점 모두가 목록에 나타난다. 이 작동 방식 (인터페이스 영역과 구현 영역을 모두 나열하기, 클래스 이름과 일치하는 결과 반영하기 등)은 설정(settings)에서 변경할 수 있다. 설정에서는 네비게이터 Go To 창의 거의 모든 요소를 원하는 대로 구성할 수 있다. 네비게이터의 Go To 창은 델파이를 이해하고 해당 항목을 표시한다. 예를 들면, 프로퍼티는 필드와 메소드가 뒷받침한다는 점을 알고 있다. 아래에 있는 짧은 비디오에서처럼 프로퍼티 하나를 검색하면, 그 프로퍼티의 겟터(getter)와 셋터(setter)가 목록에 표시된다. 그리고 read를 입력하면 겟터(getter)를 찾아 준다. 물론 read 대신 'get' (또는 'getter' 전체 또는 일부)를 입력해도 해당 겟터(getter)를 찾아 줄 것이다. 네비게이터(Navigator)는 델파이 용어를 알고 있기 때문에, 프로퍼티에는 read와 write가 뒷받침된다는 점을 알고 'read' 를 입력해도 프로퍼티의 겟터를 찾아주는 것이다. 위 비디오에서는, 개발자가 "이 프로퍼티(property)의 겟터(getter)가 어떻게 구현되어 있는 지 데려다 달라" 라고 하면 창 목록에 결과가 나오고, 엔터 키를 누르면, 바로 그 곳으로 이동하고 있다. 정말 유용한 기능이다. 이동할 때까지 키보드만 사용한다는 점에 주목하자. 마우스를 사용할 필요가 전혀 없다. 키보드와 마우스를 왔다갔다하지 않으면 정말로 생산성을 향상할 수 있다.특히 당신이 키보드만 사용하기를 좋아하는 개발자라면 더욱 그렇다. 미니맵 (델파이 및 C ++) 네비게이터를 설치하면 코드 에디터 안에 시각적인 네비게이션이 들어간다. 이것은 IDE에서 유용하게 사용할 수 있는 또다른 도구이다. 다른 IDE를 사용해봤다면 미니맵(minimap)에 익숙할 것이다. 미니맵은 코드 에디터의 한쪽 가장자리에 해당 파일 전체를 작게 보여 주며 아울러 스크롤바(scrollbar) 역할도 한다. 즉, 유닛(unit) 파일 안에 있는 코드 전체가 보이는 스크롤바이다. 위 그림을 보면 코드 에디터의 오른쪽에 미니맵(minimap)이 있다. 미니맵은 한눈에 유닛을 모두 볼 수 있도록 작게 표시되고, 델파이와 C++빌더 구문 강조가 반영되어 있다. 미니맵에서 일부분은 코드 에디터와 배경색이 같은데, 이 부분이 바로 현재 에디터 화면에 보이는 부분이다. 화면 바깥에 있는 코드 영역은 미니맵에서 흐리게 표시된다. 미니맵에 마우스를 올리면 해당 부분의 코드가 팝업 창으로 나타난다. 따라서 미니맵을 이용하면 스크롤을 빠르게 할 수 있을 뿐만 아니라 심지어 스크롤을 하지 않고도 내용을 볼 수 있다. 코드 에디터를 스크롤하려면, 미니맵 위에서 원하는 지점을 클릭하거나 또는 클릭한 채로 끌어 당기기(click and drag)를 하면 된다. 이 모든 것의 설정을 바꿀 수 있다. 예를 들어, 보이지 않는 영역을 흐리게 표시하는 대신 보이는 영역을 강조하도록 지정할 수 있다. 또는 미니맵 창의 배율을 지정할 수도 있다. 위 그림에는 코드 에디터의 오른쪽에 있어야 할 스크롤바가 보이지 않는다. 그 이유는 바로 미니맵 자체가 훌륭한 스크롤바이기 때문이다. 물론 원한다면 원래 방식으로 되돌려 놓을 수도 있다. 이와 동일한 설정을 통해 좌우 스크롤바 (horizontal scrollbar)를 숨기고, 필요할 때, 즉 긴 코드가 있을 때에만 보이도록 할 수 있다. 스크롤바가 필요없으면 보이지 않도록 설정하면 코드 에디터의 룩앤필(look and feel)이 훨씬 깔끔해진다. 멋진 기능이 하나 더 있다. 네비게이터의 Go To 창이 열려 있고, 그 창 안에 필터링된 결과가 나열된 상태라면, 각 결과 항목은 미니맵 안에서 주황색으로 표시되며, 결과 중 선택된 항목은 더 굵은 주황색으로 표시된다. 따라서 당신이 찾아 가려고 하는 항목이 어디에 있는 지 그 위치를 미니맵을 통해 알 수 있다. 설정(Settings) 네비게이터(Navigator) 설정 화면으로 가려면 미니맵(minimap) 아래에 있는 기어 모양 아이콘을 클릭하거나, Go To 창에 있는 Settings 버튼을 이용하거나, Tools > Options 메뉴를 사용한다. 현재 이 설정은 Third Party 영역 안에 들어 있다. 원래 써드-파티 제품이었고 통합된지 얼마 되지 않았기 때문이다. 맞춤 설정을 할 수 있는 것들이 매우 많다. 네비게이터의 Go To 창에 보이는 항목들을 맞춤 설정하기, 단축키 설정, 이동하기 전에 캐럿 책갈피 (caret bookmark)를 지정할 것인지 여부 (북마크스(Bookmarks) 참고 - 캐럿 책갈피를 특정 위치에 남겨 놓으면, 어디든지 이동했다가 ESC를 눌러서 다시 그곳으로 돌아 올 수 있다), 네비게이터의 미니맵 배율, 미니맵의 미리보기 팝업 창, 사용할 색상, 화면 안과 밖의 영역을 어떻게 강조 표시 할 것인지, 심지어 미니맵 화면 표현 방식 (원한다면 매우 작더라도 실제 텍스트가 표현되게 할 수 있다. 지금 일반 설정은 구문 강조 색상으로만 표현한다) 요약 (Overall) 기억해 둘만한 유용한 것들: 편하게 이동하기: Ctrl+G 타이핑하여 하여 필터링하기: 단어 전부를 입력할 필요가 없다. "func foo"만 입력해도 "function TForm1.FooBar : Integer"를 찾아서 보여줄 것이다. 텍스트 안에 있는 무엇이든 필터링 가능: 클래스 이름, 반환 타입 등도 필터링된다. 미니 맵: 그 자체가 훌륭한 스크롤바이다. 네비게이터(Navigator)는 IDE에 추가된 멋진 기능으로써, 코드를 빠르게 이동할 때 정말 도움이 된다. 코드의 어느 곳으로도 바로 건너갈(jump) 수 있다. 특히, 특정 메소드를 찾아 갈 때 마우스를 전혀 사용하지 않고 키보드 만으로 이동할 수 있어서 정말 유용하다. 코드 사이를 이동하는 것과 관련하여, 네비게이터의 미니맵은 훌륭한 시각적인 보조 장치이다. 많은 동작을 맞춤 설정할 수 있으므로 자신의 작업 흐름에 맞출 수 있다. 설치하려면, Tools > GetIt Package Manager 메뉴를 선택하여 겟잇 패키지 매니저 창을 열고, 왼쪽에서 IDE > Plugins를 선택하면 Navigator(네비게이터)가 목록에 나타난다. 또는 검색 창을 사용하여 찾을 수도 있다. Navigator(네비게이터)를 찾았으면 Install을 클릭하여 설치한다. IDE에 추가된 이 기능이 유용하다는 것을 사용자가 알게 되기를 바란다. 10.3.1에 추가된 또다른 생산성 애드-온인 북마크스(Bookmarks)도 잊지 말고 살펴보기 바란다. 인용하기 이 댓글 링크 다른 사이트에 공유하기 더 많은 공유 선택 사항
Recommended Posts
이 토의에 참여하세요
지금 바로 의견을 남길 수 있습니다. 그리고 나서 가입해도 됩니다. 이미 회원이라면, 지금 로그인하고 본인 계정으로 의견을 남기세요.