- 원본비디오 시청 (영문): https://www.youtube.com/watch?v=tfdNTElKGx8
- TCoffee & Code Week 전체보기 (한글): https://devgear.co.kr/archives/4124
오픈툴스API를 사용하여 RAD스튜디오 확장하기
주 발표자(David Hoyle, http://www.davidghoyle.co.uk)는 (놀라겠지만) 토목기사이며 전업 개발자가 아니다.본업에 활용하기 위해 그리고 재미로 프로그래밍을 한지 20년이 넘었다. 툴스API로 내 개발환경을 확장하는 것이 재미있었고, 작업한 내용을 2011년부터 블로그에 기록해오고 있으며, 깃허브에 오픈소스로 공개하고 있다.
오픈툴스API (Open Tools API)란?
델파이/C++빌더 IDE (통합개발환경, Integrated Development Environment)에 있는 API이다. 오픈툴스API를 이용하면 IDE에 플러그인을 넣을 수 있다.
오픈툴스API를 이용하여 할 수 있는 것은?
- 프로젝트를 생성하는 마법사를 만들어 추가할 수 있다.
- IDE에 창을 만들어 추가할 수 있다.
- 에디터 탭에 새 페이지를 추가할 수 있다.
- Options 대화상자에 페이지를 추가할 수 있다.
- 소스 코드를 변경할 수 있다.
- 프로젝트 정보에 액세스할 수 있다.
- 디버거 정보에 액세스할 수 있다.
오픈툴스API – 사용 사례
거의 한계가 없이 IDE를 확장할 수 있다. 일부를 예로 들면,
- 새로운 버전 콘트롤 시스템을 지원하도록 추가하기
- IDE 안에서 마크다운(Markdown) 편집을 지원하도록 추가하기
- (Test Insight 등) 지속적 통합 (CI, Continuous Integration) 또는 테스틀 위한 자신만의 도킹 UI 창 표시하기
- (병렬 디버거 등) 디버거에서 보다 많은 정보를 표시하기
- (포맷 적용, 코드간 이동 등) 다양하게 코드 다루기
- (점검 항목, 메트릭스 등) 코드 품질에 대한 피드백 받기
- 새로운 앱 마법사 만들기
- 커뮤니티 에디션도 (오픈소스를 가져와서 넣기 등) 오픈툴스 API를 이용하여 원하는 대로 확장할 수 있다.
- 발표자의 오픈소스 프로젝트: https://github.com/DGH2112/
오픈툴스API – 시작하기 / 팁과 트릭
- 플러그인인 역시 그저 하나의 패키지이다. (BPL 패키지나 DLL로 만들면 된다)
- (ToolsAPI.pas 안의 많은 인터페이스들을 지원하는) BorlandIDEServices에 액세스한다.
- 인터페이스를 둘러보면서 무엇을 추가할지 살펴보자
- IOTAXxxServices 부터 시작하자
- ‘Notifiers는 이벤트에 대응할 수 있도록 해준다. (IDE의 색상 구조 변경 인터페이스 등) 인터페이스를 살피도록 등록해 놓고 원하는 메소드가 실행되도록 할 수 있다.
- 힌트!
- 툴스API에서 가장 어려운 점은 ‘처음 시작하기’이다.
- ToolsAPI.pas가 가장 핵심이므로 이것부터 시작하자.
- 실제로 델파이 IDE를 확장할 때 사용할 수 있는 .pas 파일들은 더 많다.
오픈툴스API – 주요 자료와 링크
- David G Hoyle의 오픈툴스API 프로젝트와 책: http://www.davidghoyle.co.uk/WordPress/?page_id=667
- Bruno Fieren의 툴스API 시작하기 PDF 파일 (EDN에서 다운로드): https://www.embarcadero.com/images/dm/technical-papers/extending-the-delphi-ide.pdf
- Docwiki에는 많지는 않지만 자료가 조금 있다. 시작할 때 한번 살펴보는 것도 좋다: http://docwiki.embarcadero.com/RADStudio/en/Extending_the_IDE_Using_the_Tools_API
데모
오픈툴스API를 이용하여 IDE를 확장: 코드 이동, Tools > Options 대화 상자 확장…)
- 원본비디오 시청 (영문): https://www.youtube.com/watch?v=tfdNTElKGx8
- TCoffee & Code Week 전체보기 (한글): https://devgear.co.kr/archives/4124
12.0 12.1 AI AWS C++ c++빌더 chatgpt DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX uxsummit vcl 개발 개발사례 고객사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 리눅스 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 출시 커뮤니티에디션 코드 클라우드 파이썬 파이어몽키 현대화