'이클립스'에 해당되는 글 6건

  1. 2010/01/03 이클립스에서 안드로이드 소스 코드 보기
  2. 2009/12/26 [eclipse] Smart Compare 플러그인
  3. 2009/12/06 [eclipse] EclEmma 자바 커버리지 측정 도구
  4. 2009/12/06 [eclipse] Open External 플러그인
  5. 2009/12/06 [eclipse] Multi-File History Plug-in
  6. 2009/12/06 [스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데

이클립스에서 안드로이드 소스 코드 보기

안드로이드 SDK는 기본적으로 소스 코드와 함께 배포되지 않고 있기에 이클립스 안에서 사용하는 API의 코드를 볼 수 없습니다. 개발 과정에 직접 소스를 보면서 작업하려면 적어도 애플리케이션 개발자가 직접 사용하는 자바 API 수준에서는 함께 배포하면 좋을텐데 말이지요. 이클립스를 깊게 사용하는 분이라면 알고 있을 라이브러리에 소스를 링크해주는 기능도 android.jar 파일에 대해서는 꺼져있습니다.

 이 문제를 다루고 있는 이슈가 등록되어 있으니 불편함을 느꼈다면, 여기서 알아볼 번거로운 작업을 피할 수 있도록 되길 바라며 왼쪽 상단의 별표를 체크하기 바랍니다.

SafariScreenSnapz003.png

 

방법 1

검색하면 몇 가지 방법이 나오는데 그 중에서 가장 쉽게 설명하고 있는 글을 참조해서 소개합니다. 컴퓨터에 Git이 설치돼 있어야 합니다.

 

  1. > git clone git://android.git.kernel.org/platform/frameworks/base.git android-sources
  2. > cd android-sources
  3. > git branch -r
  4.   origin/HEAD -> origin/master
      origin/cdma-import
      origin/cupcake
      origin/cupcake-release
      origin/donut
      origin/donut-plus-aosp
      origin/donut-release
      origin/eclair
      origin/master
      origin/release-1.0

 

자신이 소스를 연결하려는 브랜치나 태그를 체크아웃 받습니다. 저는 안드로이드 2.0을 이용하고 있으니 origin/eclair를 체크아웃 받았습니다.

  1. > git checkout origin/eclair

 

마지막으로 SDK가 설치된 경로에 체크아웃 받은 안드로이드 소스를 심볼릭 링크로 연결해줍니다.

  1. > cd <안드로이드 SDK 경로>/platforms/android-2.0.1
    > ln -s <소스 코드 경로>/android-sources sources

 

이제 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인해봅니다.

EclipseScreenSnapz006.png

 

방법 2

이클립스에서 소스 좀 보려고 Git까지 공부해서 설치하기 싫다면, 누군가 이미 올려둔 소스로 연결하는 방법이 있습니다. 이 문제에 대한 이슈 페이지 하단에 가면 rjgruet라는 사용자가 올려둔 2.0 소스 코드의 압축본이 있습니다. 다만 이런 링크는 언제라도 깨질 수 있습니다.

  이제 안드로이드 SDK 설치 경로로 가서 하위에 sources 폴더를 만들고, 내려 받은 파일을 해당 폴더에 압축 해제합니다. 그리고 이클립스를 실행하고 소스 코드가 잘 연결되었는지 확인하면 됩니다.

 

 

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[eclipse] Smart Compare 플러그인

이클립스에서 이름으로 파일을 찾아서 비교해주는 Smart Compare 플러그인을 공개합니다. 개인적인 용도로 만들어서 사용하다 정리해서 공개합니다.

 

필요한 이유?

 동일한 프로젝트의 두 브랜치에서 동시에 작업하고 생각해보세요. 둘 중 하나의 최신 내용이라도 버전 관리 시스템에 들어있다면 저장소의 리소스와 비교하는 게 가장 빠릅니다. 그런데 둘 다 동시에 작업하고 있고 작업 중인 내용을 서로 비교해야 한다면 어떻게 하나요?

 개인적으로는 두 브랜치의 소스 트리를 쭉 펼쳐놓고 해당 리소스를 서로 찾은 다음 Compare With > Each Other를 이용해서 비교했습니다. 바로 그림1과 같이 두 리소스를 비교할 수 있지만, 패키지 구조가 복잡해지고 소스 트리가 길어지면 두 리소스를 비교하는 간단한 작업도 엄청 귀찮아 집니다.

s1.png

그림1. 기존의 리소스 비교 방식

 

Smart Compare 플러그인은 ...

 이름으로 비교 대상을 검색해서 비교하기에 복잡한 소스 트리를 뒤지지 않아도 됩니다. 그림2와 같이 비교 대상을 이름으로 검색하고 비교하려는 리소스를 2개(상호비교)나 3개(기반 리소스와 다른 두 리소스의 비교) 선택하면 바로 그림3과 같이 Compare 편집기를 실행해주는 간단한 플러그인입니다.

 Ctrl + Shift + = 단축키를 누르거나 툴바의 아이콘(Open Type 아이콘 옆에 추가됩니다)을 누르면 대상을 검색하는 창이 뜨고, 여기서 이름으로 검색하고 선택한 대상에 대해 비교해주는 편집기를 실행해주는 간단한 사용방식입니다.

처음 만들었을 때는 이름이 같은 두 브랜치간의 리소스를 비교하기 위해서 만들었지만 서로 다른 이름을 가진 리소스를 비교할 필요도 있기에 "이름으로 검색 > 더블 클릭 선택 (이미 검색된 목록에 추가) > 다른 리소스를 이름으로 검색 > 더블클릭 > 검색창 지우기 > 등록된 대상 선택"의 방식으로 이름이 다른 리소스를 비교하는 기능도 추가해 두었습니다. 이 부분은 좀 더 편리하게 비교할 수 있도록 개선할 생각입니다.

 

s2.png

그림2. 이름으로 비교 대상을 찾는 Smart Compare 기능

 

s3.png

그림3. Smart Compare로 실행시킨 Compare 편집기

 

설치하기

 이클립스를 실행한 후 Help > Install New Software ...를 선택합니다. 여기서 그림4와 같이 새로운 업데이트 사이트로 http://update.pragmatic.kr을 추가합니다. 추가한 업데이트 사이트를 선택하면 그림5와 같이 세 개의 플러그인을 볼 수 있습니다. 세 개의 플러그인을 볼 수 있습니다. 세 번째 Smart Compare Feature를 선탠해서 설치합니다. 위의 두 플러그인은 Multi-File History 플러그인과 Open External 플러그인으로 이번 플러그인을 올리면서 기존의 잘못된 업데이트 사이트 구조도 정비했습니다.

 

s4.png

그림4. 업데이트 사이트 추가하기

 

s5.png

그림5. Smart Compare 플러그인 설치하기

 

소스코드

제가 만들어서 공개하는 모든 이클립스 유틸리티 프로젝트의 소스 코드는 구글 코드 호스팅을 통해서 공개하고 있습니다. 이클립스 플러그인 개발 공부에 필요하다면 소스를 받아서 이용하세요.

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[eclipse] EclEmma 자바 커버리지 측정 도구

OKJSP의 트렌드 코너에서 EclEmma 코드 커버리지 측정도구에 대한 소개글을 보고 설치해봤습니다. 커버리지는 소프트웨어가 얼마나 구석구석까지 테스트 됐는지 평가하는 척도가 됩니다. 안전도가 매우 중요한 소프트웨어 납품시에는 '커버리지 몇% 이상 달성할 것.'이라는 계약조건이 들어가기도 합니다. 더 길게 설명하면 회사 일이 되버리니 넘어가고, 어차피 자세히 사용해보지 않았으니 간단 평가는 다음과 같습니다.

Eclipse013.jpg

<화면 1> 이클립스 플러그인의 커버리지 측정

 

먼저 장점은

  • 사용하기 편하다.
  • JUnit 테스트 뿐 아니라 일반 자바 애플리케이션 수행 결과에 대해서도 커버리지를 기록한다. 자동화된 테스트 케이스 작성의 어려움을 알고 있기에 엄청난 장점으로 느껴집니다.

 

단점은

  • 커버리지 종류가 단조롭다.

    블록 커버리지만을 제공합니다. JUnit 테스트 수행 결과에 대해서 커버리지를 표시하는 Cobertura의 경우 라인 커버리지와 블록 커버러지 그리고 McCabe의 cyclomatic complexity(모듈을 기본 블록 단위로 나눠서 블록과 엣지의 수로 복잡도를 계산하는 공식)도 계산해 줍니다. 더 많은 커버리지 기준을 다루는 도구들도 있지만 대부분 상용이니 언급하지 않습니다.

 

장점으로 언급한 자바 애플리케이션 수행 지원은 홈페이지를 보니 더 자세한 설명이 있습니다. 단순히 JUnit 커버리지 측정인지 알고 특별한 장점이 없다고 생각했는데 이제 보니 상 받을만 합니다.

  • 로컬 자바 애플리케이션
  • Eclipse/RCP 애플리케이션
  • JUnit 테스트
  • JUnit 플러그인 테스트
  • TestNG 테스트
  • Equinox OSGi 프레임워크

 

한 가지 의문점은 커버리지를 합치는 기능을 제공하는데 코드가 변경된 영역의 커버리지는 어떤 방식으로 다루는지 궁금합니다.

 

플러그인 설치는 이클립스 Software Updates 메뉴에서 http://update.eclemma.org/를 등록하면 됩니다. 자세한 설명은 EclEmma 홈페이지를 참조하세요. 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[eclipse] Open External 플러그인

"Open External" 플러그인을 소개한다. 이클립스 작업공간의 특정 경로를 매번 윈도 탐색기를 직접 열고, 명령 프롬프트에 경로를 입력해서 찾아야 하나? "Open External" 플러그인은 자주 반복하는 이런 불편한 동작을 해결하고자, 이클립스에서 선택한 폴더나 파일과 같은 리소스를 윈도 탐색기나 명령 프롬프트 상에서 보여준다.

 

기존에도 윈도(Windows) 환경에서 이런 유사한 기능을 제공하는 플러그인이 있다. 하지만, "Open External" 플러그인만이 가지는 장점은 다음과 같다.

  1. 다수의 리소스 동시 선택 가능: 한 번에 여러개의 파일 브라우저나 쉘을 실행한다. 하나씩 선택해서 열지 않아도 된다.
  2. 맥(Mac) OS X 지원: 기존의 다른 플러그인들이 지원하지 않던 맥 OS X의 Finder와 Terminal 애플리케이션을 지원한다. Terminal 애플리케이션은 사용자의 설정에 따라 매번 새로운 창을 여는 대신에 탭을 활용할 수 있다.

 

필요환경

  1. 이클립스 버전: eclipse 3.3 이상
  2. 자바 버전: Java 5 이상
  3. 플랫폼: 윈도(Windows)/맥(Mac) OS X
    (윈도 XP와 맥 OS X 레퍼드(leopard)에서 시험)
  4. 라이선스: EPL 1.0

 

설치하기

Open External 플러그인은 이클립스 업데이트 시스템을 이용해서 설치한다.

 

1. 먼저 "Help -> Software Updates..."를 선택한 다음 "Add Site..."를 선택해서 http://update.eclipsegeek.com http://update.pragmatic.kr을 등록한다.

external1.jpg

external2.jpg

 

2. 추가된 업데이트 사이트에서 "Open External Feature"를 선택하고 Install...을 선택해 설치를 완료한다.

external3.jpg

 

사용법

1. Package Explorer에서 파일 브라우저나 쉘 프롬프트에서 확인하고자 하는 프로젝트, 폴더, 파일을 선택한 후 오른쪽 마우스 컨텍스트 메뉴를 띄운다. 사용자의 운영체제에 따라서 맥에서는 Finder와 Terminal 메뉴가, 윈도에서는 Windows Explorer와 Command Prompt 메뉴가 나타난다.

context_mac.jpg

context_win.jpg

 

2. 해당 메뉴를 선택하면 시스템에 따라 파일 브라우저와 쉘 프롬프트가 실행된다. 복잡한 자바 패키지를 파일 브라우저나 쉘 프롬프트에서 사용자가 직접 이동하는 작업은 번거로운 작업이었다. 사용자가 한번에 선택한 다수의 리소스에 대해서 모두 실행하므로 여러번 선택해야 하는 번거로움이 없다.

finder.jpg

terminal.jpg

 

3. 맥 OS 10.5.0의 터미널 애플리케이션이 제공하는 탭 기능을 활용할 수 있도록 새로운 창으로 띄울지, 탭으로 실행할지 설정할 수 있다. (Windows -> Preferences에서 Open External)

preference.jpg

 

지원 예정

리눅스는 GNOME과 KDE 환경을 지원할 예정이며, 맥 OS X 타이거는 탭 기능 활용이 제한된다는 점 이외에는 동작하리라 생각되지만, 타이거 OS를 설치한 머신이 없기에 확인하지 못했다. 맥에서 많이 사용되는 iTerm의 지원과 함께 사용자 지정 애플리케이션을 실행하는 기능을 추후 제공할 예정이다.

 

문제점/개선사항

1. Open External이라는 최상위 수준의 메뉴를 추가할 것이 아니라 Show In 등 기존 메뉴에 통합하는 것이 효과적일 것이다 (Open With는 파일에 대해서만 활성화 되므로 Show In이 적합). 하지만, Show In은 별도의 확장점을 통해 이클립스 뷰만을 메뉴로 구성하기에 기존의 메뉴 확장 방식으로 삽입이 불가능하다.

 

소스코드

소스코드는 http://sourceforge.net/projects/eclipse/ http://code.google.com/p/plug-ins/에 공개되어 있으니 SVN 저장소에서 직접 내려받도록 한다. EPL 라이선스에 따라서 자유롭게 이용 가능하다. 

 

관련 페이지

  1. 이클립스 플러그인 소개
  2. 영문 설명 페이지
  3. 이클립스 플러그인 센트럴: Open External

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[eclipse] Multi-File History Plug-in

Multi-File History Plug-in

Eclipse manages change history of resources. And you can see the chagnes of a resource. But, there is no way to trace history among resources. 'Multi-File History' plug-in provides the way to see change orders among resources. With this plug-in, you can easily trace the changes you made.

 

Prerequisite

  1. eclipse 3.3 or above
  2. Java 5 or above
  3. Supported platform: All platforms
  4. License: EPL 1.0

 

Changes

Version 1.0.1

  1. Integrated with 'History View'
  2. Replace traditional 'Show Local History' action
  3. Change its name from 'com.eclipsegeek.history.ui' to 'kr.pragmatic.history.ui'

 

Installation

Multi-File History plug-in provides an update site.

 

First, select "Help -> Software Updates..."

Second, select "Add Site..." and input the location; http://update.pragmatic.kr

Thrid, check "Multi-File Local History" in the newly added update site. (Current version of Multi-File History plug-in only supports local history.)

Finally, select "Install..." and complete the installation.

 

Usage

Basically, its usage is almost same as 'Show Local History' capability. Select 'Team -> Show Local History' in  the context menu of Package Explorer. You can select a project or many resources including files and folders.

history1.jpg

 

History View shows changes of selected resources. You can see the order of changes among resources.

history2.jpg

 

Coming Soon

CVS support is under development ... Now it works and stay tuned ...

(2010-01-06: It is too slow to use. Therefore, there will be no CVS support.)

history3.jpg

 

Source Code

Source code for this plug-in is available at http://code.google.com/p/plug-ins/. It is free to use this code under Eclipse Public License 1.0.

 

Vote

If you will like this plugin, please vote for it! Rate this plugin @ Eclipse Plugin Central

 

Related

  1. Eclipse Marketplace: Multi-File History

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0

[스크린캐스트] 자바 개발자를 위한 이클립스 3.4 가니메데

IBM 스크린캐스트 이벤트에 지원하고자 이전 포스팅에서 작성한 자바 개발자를 위한 이클립스 3.4 가니메데를 스크린캐스트로 제작했습니다. 처음으로 만들어본 스크린캐스트라 부자연스러운 목소리(녹음된 목소리도 적응되지 않고, 책 읽는 듯한 부자연스러움도 만족스럽지 않습니다. 다음에 만들면 더 자연스럽게 잘 만들 수 있겠지요?) 등 어설픈 부분이 많지만 글로는 설명되지 않는 부분까지 설명이되리라고 기대합니다.

 

맥(Mac)에서 스크린캐스트를 제작할 때 도움이 될까해서 추가정보를 남깁니다. 동영상 캡처는 SnapzPro, 스크린캐스트 제작(자막과 음성, 화면 구성)에는 iMovie, 동영상을 flv 포맷으로 변환할 때는 VisualHub를 이용했습니다.

 

덧. 스프링노트의 정책인 것 같은데 태그가 IBM에서 요구한 dW_screencast로 입력되지 않네요. mncast에는 제대로 입력되었으니 일단은 조건은 충복한 것 같습니다.

 

이 글은 스프링노트에서 작성되었습니다.

Trackback 0 Comment 0
prev 1 next