Delphi [10.4 시드니][업데이트 1] 델파이 코드 인사이트 새로운 기능
2020.09.10 14:54
엠바카데로의 데이비드 밀링턴이 작성한 10.4.1에서의 델파이 코드 인사이트 새로운 기능을 정리 및 번역한 글입니다.
10.4.1에서의 델파이 코드 인사이트 새로운 기능
델파이 10.4.1 버전은 품질 향상에 중점을 두었습니다. 특히 코드 완성 기능 측면에서 더욱 업그레이드되었죠!
사용방법은 전통적인 방식의 코드 완성과 비슷하면서도 많은 부분들이 더 좋아졌습니다.
10.4 버전에서 코드 인사이트가 전체적으로 다시 설계(영문)되었습니다. 오래된('클래식한') 코드 인사이트는 설정에서 선택하면 지금도 사용할 수 있지만, 코드 완성 기술이나 관련 기능들은 기본적으로 비차단, 비동기화 기술을 사용합니다. 이는 코드를 작성하거나 디버깅을 하는 중에도 IDE가 멈추지 않도록 않기 위함이며, 이 외에도 다른 기술적 이점들(예: 완료 결과 검색 등)이 있기 때문입니다. 더 자세한 내용은 여기를 통해(영문) 확인할 수 있습니다.
10.4.1에서는 이 코드 인사이트가 더욱 좋아졌습니다. 품질에 초점을 둔 버전이기 때문에 새로운 기능이 많지는 않지만, 리포트된 버그들을 상당 부분 해결하였습니다.
새로운 코드 완성 설정
밑줄(언더라인) 매칭
10.4 버전에서 선보인 새로운 코드 완성 기능은 기존 방식 보다 더 많은 결과물을 보여줍니다. 단순히 입력한 단어로 시작하는 항목들 뿐만 아니라, 입력한 단어가 포함된 항목들은 모두 보여주는 것이죠.
10.4.1에서는 이와 같은 추가 항목을 제어하는 설정이 추가되었습니다. 그리고 입력한 단어와 일치하는 부분을 밑줄(언더라인)으로 표시해서 보여줍니다.
전통 방식의 코드 완성 기능 활용하기
기본적으로 새로운 코드 완성 기능은 오래된 전통 방식과 완전히 동일하지는 않습니다. 하지만 더 많은 결과를 보여주고, 기존과는 다른 알고리즘을 사용해 가장 적합한 항목을 자동 선택해 결과물로 보여줍니다.
10.4.1에는 네 가지 설정이 추가되었는데, 이 설정들을 활용하면 전통 방식과 완벽하게 동일한 결과물을 확인할 수 있습니다. 네 옵션 모두 Options > User Interface > Editor > Source page 의 Insight Options 에서 확인할 수 있습니다
(아래 그림 참고).
전통 방식과 동일한 방식으로 사용하고 싶다면, 아래와 같이 설정하면 됩니다.
- List all symbols that start with the filter first: ON
- Select shortest matching symbol: OFF
- Filter text is underlined: OFF
- Show Symbols that contain filter: OFF
- 하지만 이 기능은 ON으로 설정해 사용하는 것을 권장합니다. 보다 많은 그리고 훨씬 유용한 정보들을 보여줍니다.
10.4.1에서 해소된 핵심 포인트들
10.4.1의 새로운 기능들을 확인해보세요. 그 중에서도 꼭 눈여겨 보아야 할 새로운 기능들을 정리하자면 다음과 같습니다:
메모리 사용량, 성능 모두 더 좋아졌습니다. 언어 서버는 메모리를 더 적게 사용하고, 속도는 더욱 빨라졌습니다.
매우 큰 규모의 프로젝트 진행에 필요한 기능들이 더 좋아졌습니다 (베타 테스터 분들께 정말 감사 드립니다)
패키지 기능이 더욱 좋아졌습니다.
에러 인사이트 (빨간색 밑줄 표시)가 오류가 해소된 뒤에도 표시되는 현상과 잘못 표시되는 부분이 해결되었습니다.
툴팁(Tooltip)과 도움말에서 전체 정보가 표시되지 않는 문제점이 해결되었습니다.
더 많은 내용은 다음 링크를 통해(영문) 확인할 수 있습니다.
대규모 프로젝트
위에서 소개한 업그레이드 기능들은 매우 큰 대규모 프로젝트에서도 얼마든지 사용할 수 있습니다. 10.4.1을 사용 후 의견을 남겨주신 한 고객사의 코멘트입니다.
이 기업은 300만줄 정도의 코드로 되어 있는 앱을 구동하는데, 델파이 5 버전 이후 처음으로 코드 인사이트가 아주 제대로 멋지게 작동하고 있다고 합니다.
"10.4.1에서 플래그십 앱을 작업하는데, 정말.. 마법같네요! 우리 프로젝트에서 코드 완성 기능을 제대로
활용하고 있습니다. 지난 버전의 코드 완성으로 작업할 때보다 5배는 더 빨라진 것 같아요.
처음 시작할 때는 15초 정도 걸리는 것 같은데 (아마 LSP에 엄청난 양의 유닛들을 적용하다보니 그런 것
같네요), 그 이후로는 정말 너무 빠르고 좋습니다."