nezy의 blog  
Front Page
| Wiki | Guestbook | Admin | Write Article   
 
이클립스 플러그인 고치기
회사에서 사용하는 DB 미들웨어 서버에 config 로 쓰이는 파일에는 이런저런 기능들이 많이 들어가 있어서 좀 복잡하다. 그래서 에디터가 이클립스 플러그인(eclipse plugin)으로 만들어져 있는데, 이게 약간 불편한 점이 있다. 그래서 개발자한테 소스를 받아서 주말동안 공부삼아 고쳐보았다.

목표는 2가지.
  1. config 파일에 대한 outliner 를 제공하는데 이게 sorting 이 안된다. 파일이 점점 길어지고 (Element 가 점점 많아지고) sorting 이 안된 상황에서는 웹개발자들이 자신이 추가한 Element 를 outliner 에서 찾기 위해 Element 의 이름을 임시로 "___________" 또는 "AAAAAAAAAA" 식으로 만드는 안습(?)의 상황이 연출되곤 했다. 그래서 outliner 에 toggle 가능한 Sort 버튼 추가.
  2. 옆자리 개발자분이 outliner 에서 Node 를 하나 누를 때마다 옆에 있는 Editor 와 위치가 sync 가 되어서 보던 위치를 자꾸 잃어버려서 불편하다고 한다. 그래서 outliner 에 toggle 가능한 Link With 버튼 추가.

그래서 이클립스의 플러그인 구조를 대략적으로 훑어보게 되었는데 너무 복잡해서 잘 이해가 가지 않았다. 책이라도 하나 사서 봐야겠다.

내가 하려는 것은 Viewer 만 건드리면 되는 것이라 전체 구조를 잘 이해하지 못해도 패치가 가능했다.

이클립스의 outliner 는 보통 TreeViewer 인데 대략 아래 그림과 같은 구조를 가지고 있다.
사용자 삽입 이미지

저 Viewer 에 Action 을 두가지(sorting 과 link with) 넣어주고 그걸 outliner 의 ToolBar 에 아이콘과 함께 삽입해주면 되는 것이다.

tutorial web page 들은 모두 Viewer 로 설명을 해놓았는데, 이클립스도 계속 발전하는지라 실제 내가 받은 플러그인은 Page 라는 것으로 구성이 되어 있었다. -_-; (어느 것이 최신인지는 잘 모르겠다;) 갑자기 책을 사는 것이 망설여졌다. 괜히 샀는데 옛날꺼면 돈만 날리는 거니깐.

여튼 그냥 Action 들을 만들고, sorter 라든가 listener 같은 것들을 잘 붙여주니 잘 동작했다.

before / after 스샷을 찍어봤는데 별 차이는 없구나. -_-;;
사용자 삽입 이미지사용자 삽입 이미지

가장 큰 난관은 웃기게도 아이콘 붙이기였다. -_-; 설명 예제들은 모두 xml 에다가 icon 파일을 기술하고 그게 자동으로 붙게 되어 있는데, 내가 받은 소스는 outliner 가 Viewer 로 구성되어 있지 않아서 그게 불가능했다. 그래서 소스상에서 직접 붙이게 되었는데, 검색도 많이 해보고 이것저것 해봤는데 잘 안되더라.(심지어 icon 그림 파일의 절대 경로까지 넣어봤다;) 그냥 아이콘 없이 갈까.. 하다가 화룡점정이란 심정으로 계속 삽질을 해봤다. 해답은 아래 url 에서 찾을 수 있었다. Activator 에서 아이콘들을 초기화하고 ImageRegistry 에 등록한 후 불러다 쓰는 방식. 누군진 모르지만 감샤 (__)
http://www.roubenmeschian.com/blog/?cat=6

그리고 이클립스 플러그인 까페에서 찾게된 유용한 튜토리얼 페이지들.
http://cafe.naver.com/ArticleRead.nhn?clubid=11492512&menuid=20&boardtype=L&page=&articleid=328

http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTkxNA==
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTkxNQ==
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTExMzA=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTExMzE=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTExMzI=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTEyMzU=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTEyMzY=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTEyMzc=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTE3NDc=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTE3NDg=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTE3NDk=
http://www.elancer.co.kr/eTimes/page/eTimes_view.html?str=c2VsdW5vPTE3NTA=


TODO
  • Editor 에서 더블클릭으로 엔트리를 선택하면 해당 node 를 outliner 에서 표시해주기.
  • SQL 문 syntax highlight

이걸 읽고 누군가가 지식을 얻어가리라곤 생각하지 않는다. 기술적인 내용은 하나도 없고 그냥 삽질기를 대충 두서없이 주절주절 써놓은 거니깐. 그냥 로그성 포스트.
Track this back : http://nezy.net/blog/trackback/99
Commented by updong at 2007/05/07 10:14  r x
역시 네지님은 멋져요
Replied by nezy at 2007/05/09 11:17 x
아앗; 멋질만한 건 아니에요 -ㅁ-;
Commented by 창수 at 2007/05/07 11:35  r x
멋진 순국이형 . /
Replied by nezy at 2007/05/09 11:17 x
창수도 멋져 -ㅁ-

name    password    homepage
 hidden


nezy의 개인 blog 사이트입니다.
BLOG main image
 Recent Entries
노무현 전대통령 영상 (2)
귀여워서 피식2 (1)
귀여워서 피식
안들려요 (5)
병훈이 추천 애니 (1)
 Category
전체 (109)
잡담 (55)
모음 (6)
기술 (6)
나무 껴안기 (1)
슬래시닷 (17)
 Calendar
«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
 Recent Comments
비아그라 부작용 사례 http..
후불제 - 2020
비아그라 부작용 사례 http..
후불제 - 2020
정품 비아그라 후불제 파는..
정품 - 2019
정품 비아그라 후불제 파는..
정품 - 2019
Open the wrapper, light t..
looking - 2019
 Link Site
Avenante
KLDP
OpenLook :: 이야기
Python 마을
SBTM
Wiki
개인 홈페이지 한샘이
 Visitor Statistics
Total : 1508496
Today : 397
Yesterday : 80
rss