메인 컨텐츠로 가기

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관 보기.

모든 정보가 안전하게 전송되었습니다.

  • 닫기 [x]

Eclipse로 마이그레이션하기: Eclipse 대 IntelliJ IDEA를 평가하는 개발자의 안내서

Eclipse를 고려해야 하는 이유 및 IntelliJ IDEA와의 차이점

David Gallardo, 소프트웨어 컨설턴트, .
David Gallardo는 Studio B 저자로서 소프트웨어 컨설턴트이자 소프트웨어 국제화, Java 웹 애플리케이션, 데이터베이스 개발을 전문으로 다루는 작가이다. 그는 15년이 넘게 전문 소프트웨어 엔지니어로 일했으며 많은 운영 체제, 프로그래밍 언어 및 네트워크 프로토콜 관련 경력이 있다. 최근에 그는 기업간 전자 상거래 회사인 Trade Access Inc.에서 선도하는 데이터베이스 및 국제화 개발을 한 경력도 있다. 그 이전에는 Lotus Development Corporation의 International Product Development 그룹에서 선임 엔지니어로 재직했으며, 여기에서는 Domino를 비롯한 Lotus 제품에 대한 국제 언어 및 유니코드 지원을 제공하는 크로스 플랫폼 라이브러리의 개발에 기여했다. David는 Eclipse In Action: A Guide for Java Developers(Independent Pub Group, 2003년)의 공동 저자이다. David의 이메일 주소는 david@gallardo.org이다.

요약:  Eclipse는 최신 릴리스에서 새 기능 -- 점점 인기가 높아지는 무료 Java™ 통합된 개발 환경 -- 으로 인해 다른 무료 IDE뿐만 아니라 IntelliJ IDEA와 같은 독점적인 상업용 오퍼링과도 경쟁하게 됩니다. 이 기사에서는 Eclipse 및 IDEA의 기능, 사용 편의성 및 안정성을 간략하게 비교한 다음 전환을 고려하고 있거나 이 모든 소동이 무엇에 대한 것인지 알아보기 위해 Eclipse를 체험만 해보려는 프로그래머들에게 안내서를 제공합니다.

기사 게재일:  2004 년 9 월 08 일
난이도: 초급 원문:  보기
페이지뷰:  845 회
의견:  


Netbeans 및 JBuilder 프로그래머의 경우

Eclipse로 이동하는 것을 고려하고 있다면, 다음과 같이 developerWorks에서 David Gallardo의 다른 마이그레이션 방법 기사를 읽어보자.

개방형 표준 기반 개발을 향한 많은 다른 마이그레이션 경로를 보려면 developerWorks Migration station도 참조하자.

Eclipse와 IDEA 비교하기

Eclipse는 매우 야심찬 프로젝트이다. 이는 Java IDE에만 특화된 것이 아니라, 어느 프로그래밍 언어나 지원하기 위해 제작된 확장 가능한 개발 플랫폼이다. 하지만, 참조 구현 방식 -- Java Development Toolkit(JDT) --이 Java IDE이며, 이것이 바로 대부분의 사람들(특히 Java 프로그래머)이 Eclipse에 대해 이야기할 때 말하는 것이다. 하지만 독자가 Java 개발과 JDT만 고려한다고 해도 Eclipse의 개방형의 확장 가능한 본질은 Eclipse와 Eclipse 커뮤니티의 성장을 배후에서 추진하는 동력이다.

Eclipse 3.0 및 IntelliJ IDEA 4는 중요한 차이점이 많지만, 가장 분명한 차이점은 가격이다. 즉, IDEA를 사용하려면 라이센스에 대한 비용을 지불해야 하지만 Eclipse는 무료이다. 이 점이 얼마나 중요한지는 독자의(회사의) 예산에 달려있지만, 많은 전문 개발자들은 IDEA가 상대적으로 매력적인 가격으로 본인들이 필요한 기능을 모두 갖추고 있다고 생각한다. 그렇기는 하지만, Eclipse는 IDEA가 갖춘 모든 기능을 보유하지는 않은 반면, Eclipse를 중심으로 개발한 강력한 커뮤니티는 써드파티 플러그인의 형태로 누락된 부분을 제공하는 면에서 매우 철두철미하다.

가격과 순전한 기능의 수보다 더 중요한 것은 IDE가 얼마나 효율적으로 작업하도록 허용하는가이다. 전체 설계, 안정성 및 성능을 비롯한 수많은 사항들이 -- 기능 외에도 -- IDE가 얼마나 유용한지에 기여한다. 이 기사에서는 Eclipse 3.0 JDT로 제공되는 기본 기능을 조사하고 IDEA에서 사용 가능한 기능과 대조한다.

기능

IDEA와 Eclipse는 비록 약간 다르게 작업을 수행하기는 하지만 Java 코드를 편집하고 실행하며 디버깅하기 위해 필요한 기본 기능 면에서 서로 매우 유사하다. 기본 프로그래밍 기능 외에도 Eclipse와 IDEA는 Ant, CVS, JUnit 및 리팩토링과 같은 더 고급 Java 개발 도구에 대한 지원도 공유한다. (Eclipse의 리팩토링 기능을 설명하는 기사는 이 기사의 후반부에서 참고자료 섹션을 참조하자.) 보통 Eclipse로 마이그레이션하는 것의 가장 어려운 내용은 새 환경에서 이전 것을 수행하는 방법을 학습하는 것이다 -- 무수한 기능으로 인해 종종 특정 기능을 찾는 것이 어려울 수 있다. 다행히, Eclipse는 온라인 문서를 통해 사용하기 편리한 완성도 높은 도움말 시스템을 갖추고 있다.

최근까지 Eclipse를 능가하는 IDEA의 기본 장점 중 하나는 통합된 GUI 빌더였다. 이는 이제 Eclipse가 Visual Editor를 도입하면서 바뀌고 있다. Eclipse의 GUI 빌더는 개별 컴포넌트이지만 코드와 그래픽 보기 사이에 라운드 트립을 제공하고(하나의 변경이 거의 즉시 다른 것에 반영됨) 추가 메타데이터나 다른 파일이 필요하지 않다는 면에서 IDEA의 빌더를 능가하는 중요한 장점이 있다.

AWT/Swing을 지원하는 Eclipse Visual Editor(VE) 릴리스 0.5는 이제 Eclipse 2.1.x.에서 사용 가능하다. Eclipse 3.0, 릴리스 1.0 버전이 곧 사용 가능하게 될 것이다. VE 1.0은 Eclipse 웹 사이트에서 개별적으로 다운로드할 수 있고 AWT/Swing뿐만 아니라 SWT도 지원할 것이다. 자세한 정보 및 VE의 미리보기는 참고자료 섹션에 나열된 Visual Editor 기사를 참조하자.

IDEA가 가진 또 다른 장점은 통합된 웹 개발 지원이다. 하지만 독자가 이것이 필요하더라도 그렇다고 해서 Eclipse의 사용을 중지할 필요는 없다. 몇 가지 써드파티 플러그인은 Lomboz 및 Sysdeo Tomcat 플러그인과 같이 Eclipse로 이 기능을 추가한다. 이러한 사항 및 다른 써드파티 플러그인을 확보하고 설치하며 사용하는 방법을 보여주는 기사는 참고자료를 참조한다.

전체 설계 및 사용 편의성

Eclipse의 새 사용자들 사이에 일반적인 비판은 사용하기에 어렵다는 점이다. 이는 주로 Eclipse가 사용자 인터페이스를 구성하는 면에서 고유한 접근방식을 취하기 때문이다. 특히 이는 Perspective의 개념을 도입하여 코딩, 디버깅, 소스 제어 시스템 사용 및 기타 등등의 특정 태스크를 수행하기 위해 제작된 환경을 제공한다. 이 기사에서 제공하는 약간의 연습과 실습을 거친 후에 대부분의 사용자들은 이 개념이 명확하고 강력하다고 생각한다.

Eclipse 사용자 인터페이스의 또 다른 특징은 마법사를 광범위하게 사용하게 되는 것이다. 즉, 연속된 대화 상자는 새 프로젝트 또는 클래스 작성 및 CVS 저장소로 연결과 같은 특정 태스크를 수행하기 위해 필요한 단계로 안내한다. IDEA도 당연히 마법사가 있지만 Eclipse에서는 마법사가 더 철저하고 독자가 익숙해질 수 있는 옵션을 더 많이 제공한다는 점에서 구별된다.

안정성 및 성능

이론적으로 말해서 Eclipse는 SWT를 사용하기 때문에 성능 면에서 날카로움이 있어야 하며, 이는 기본 위젯을 사용하는 -- 운영 체제의 UI 요소 -- 반면 IDEA는 Swing/AWT를 사용한다. 하지만 실질적으로 말하면 IntelliJ는 IDEA 사용자 인터페이스를 구현하는 측면에서 훌륭한 작업을 수행했고 상당히 강력한 머신에서 성능 차이는 미미하다. 사용자들은 일반적으로 둘 다 충분히 빠르다고 생각할 것이다. 이와 마찬가지로 Eclipse와 IDEA 둘 다 매우 안정적인 애플리케이션이고 사용자들이 어느 한 쪽도 어렵다고 느낄 가능성은 낮다.

직접 해보고 부딪쳐보기

궁극적으로 독자가 개발 목적으로 Eclipse의 적합성을 평가하고 있다면, 한 번 확인해보기 위해 시운전을 해 볼 필요가 있을 것이다. 이는 진실로 사용 편의성을 판단하고 독자의 작업 스타일에 맞는지 알아보는 유일한 방법이다. 다음 섹션에서는 Eclipse를 간략하게 둘러본다. Eclipse를 다운로드하여 설치했다면 따라하려 할 수 있다. 아직 Eclipse를 설치하지 않았다면 참고자료에 나열된 "Eclipse Platform 시작하기" 기사를 참조할 수 있다.


Eclipse 시작하기

시작하기 전에 Eclipse 사용자 인터페이스를 설명하기 위한 몇 가지 용어를 소개하는 것이 유용하다. 상위 레벨에 Eclipse 애플리케이션 창이 있다. 이는 Eclipse 용어로 하면 워크벤치라고 하며, 기본 메뉴, 도구 단추 행 및 다른 많은 분할창이 들어있다. IDEA와 같은 이러한 분할창은 각각 자원(패키지, 소스 코드, 빌드 스크립트 및 이와 유사한 것)을 표시하고 수행할 항목을 나열하며 프로그램을 실행할 때 콘솔 출력을 표시하는 것과 같은 특정 용도를 전용으로 한다. 이러한 분할창을 보기라고 한다.

보기 외에도 각 Perspective는 대개 편집기 분할창이 있다. 편집기가 소스, 텍스트 및 이미지 파일과 같은 자원을 작성 및 수정하는 기본 수단을 제공하기 때문에, 이는 Eclipse 워크벤치에서 기본 분할창이고 다른 보기에서 컨텐츠는 여기에서 선택한 파일을 반영하기 위해 변경할 것이다. 예를 들어, Java 파일을 편집하고 있으면, Outline 보기는 선택한 Java 파일에서 클래스의 구조를 보여줄 것이다.

중앙 집중화된 코드 저장소에서 이를 사용하여 코딩, 디버깅 또는 코드 변경 병합과 같은 다른 태스크를 수행하면서 해당 태스크에 특별히 선택된 보기의 배치를 사용할 수 있다. 이러한 태스크별 창 배치를 Perspective라고 한다.

최초로 Eclipse를 시작할 때, 시작 화면이 표시될 것이다. 이 화면은 Eclipse의 개요, 튜토리얼 및 다른 흥미로운 사항으로 이동하는 링크가 있다. 지금으로서는 기본 메뉴 아래 시작 탭에서 "X"를 클릭하여 닫는다. (Help 메뉴에서 이를 선택하여 나중에 시작 화면으로 돌아갈 수 있다.) Eclipse는 그림 1과 같이 기본 Resource Perspective를 표시할 것이다.


그림 1. Resource Perspective
Resource Perspective

Perspective의 훌륭한 점은 클러스터에서 화면을 자유롭게 두는 것이다. 예를 들어, 프로그램을 디버깅하고 있지 않다면, 디버깅을 위해 도구 단추 및 메뉴 선택을 확인할 필요가 없다. 이렇게 하면 당면한 태스크에 관련된 도구 단추 및 메뉴 선택을 찾는 것이 더 간편해진다.


IDEA 모듈을 Eclipse로 열기

IDEA에서 Eclipse로 마이그레이션하고 있다면, 분명히 열려는 IDEA 모듈이 있다. 이렇게 하려면 이에 대한 Eclipse 프로젝트를 작성하고 모듈의 디렉토리를 지정해야 할 것이다 -- Eclipse에서 단어 프로젝트가 IDEA의 모듈 개념에 해당하는 것을 참고하자.

Zoo라는 IDEA를 사용하여 작성한 프로젝트가 있다고 가정하자. 이는 C:\Documents and Settings\user\IdeaProjects\Zoo라는 디렉토리에 위치한다. 또한 소스 파일이 src라는 서브디렉토리에 있고 클래스 파일이 classes라는 디렉토리에 있다고 가정하자. 그 다음에 이러한 지시사항을 따라 Eclipse를 시작한다.

  1. 기본 메뉴에서 File > New > Project를 선택하여 New Project 마법사를 연다.
  2. Java Project가 선택되었는지 확인하고(아래 그림 2 참조) Next를 누른다.
    그림 2. New Project 마법사
    New Project 마법사
  3. Project name에 Zoo와 같은 이름을 입력한다.
  4. Location 아래 Create project at external location을 클릭한다.
  5. IDEA 프로젝트의 디렉토리를 찾아본다(또는 입력한다). 그림 3을 참조한다.
    그림 3. 폴더 찾아보기
    폴더 찾아보기
  6. OK를 클릭한다. 한 번 외부 위치를 선택하면 프로젝트 레이아웃을 선택할 옵션이 비활성화되는 것을 확인할 것이다. 이는 Eclipse가 프로젝트를 평가하고 레이아웃을 자동으로 판별하기 때문이다 -- 이 경우에 소스 디렉토리(또는 Eclipse에서 선호하는 명칭 대로 폴더)로 src를 식별하는 것 그리고 클래스 파일 폴더로 classes를 식별하는 것.
  7. Browse Folder 상자가 닫히면, 이제 Create a Java Project box 상자가 프로젝트를 계속 작성하기 위해 Next 또는 Finish를 클릭하도록 허용하는 것을 확인할 것이다. Next를 클릭하면 다른 프로젝트나 라이브러리를 클래스 경로에 추가하는 것과 같은 추가 옵션을 설정할 수도 있을 것이다. Zoo가 독립형 프로젝트라고 가정하면 이렇게 할 필요는 없다. 대신에 간단히 다음을 수행한다.
    • Finish를 클릭한다.
    • Eclipse에서 이 프로젝트 유형이 Java Perspective와 연관되어 있음을 알리고 이 Perspective로 전환하려는지 질문할 것이다. Remember my decision 선택란을 클릭하고(이렇게 하면 다음에 Java 프로젝트를 작성할 때 묻지 않을 것임) OK를 클릭한다.

이제 Java Perspective가 표시되고 Zoo 프로젝트가 Package Explorer 보기에 나열되는 것을 확인할 것이다. 이를 탐색하려면 더하기 부호를 클릭하여 이 프로젝트를 펼친 다음 src 폴더를 클릭하여 소스 파일을 찾을 수 있다.

소스에서 오류를 도입하는 것이 유익하므로 IDEA와 Eclipse가 어떻게 오류를 플래그 지정하는지 비교할 수 있다. 예를 들어, Snake.java를 열고 speak() 메소드를 주석 처리한다. (IDEA에서와 마찬가지로 메소드의 코드를 강조표시하고 Ctrl-/를 눌러 이를 수행할 수 있음.) 이로 인해 오류가 발생하며, Eclipse는 전구(Eclipse에서 오류를 수정하기 위한 제안이 있음을 표시함) 바로 옆에 빨간색 상자 안의 "X"(오류를 표시함)를 표시하여 왼쪽 여백에서 플래그 지정한다.

전구에 커서를 놓으면, 메시지에서 Snake 클래스가 Animal 수퍼클래스에서 선언한 추상 메소드 speak()를 구현하지 않음을 경보로 알린다. 그림 4는 IDEA 및 Eclipse 편집기 둘 다에서 이 소스를 보여준다. 보이는 것처럼 매우 유사하다.


그림 4. IDEA 대 Eclipse 편집기
IDEA 대 Eclipse 편집기

Eclipse로 소스 코드 편집하기

Eclipse는 코드를 편집하기 위해 자동화된 코드 완성의 몇 가지 유형을 비롯하여 IDEA와 동일한 기능을 많이 제공한다. 예를 들어, Java 키워드, 클래스 이름 또는 메소드 이름을 입력하기 시작하고 Ctrl-Space를 누르면, Eclipse는 선택할 수 있는 후보 목록을 제시하고 선택사항을 코드로 삽입한다.

Eclipse도 QuickFix라는 기능이 있으며, 이는 IDEA의 Intention Actions에 해당한다. 위에서 확인한 대로 Eclipse에서는 코드를 수정하기 위한 제안이 있으면 왼쪽 여백에 전구를 표시한다. 이 전구를 클릭하거나 오류가 들어 있는 요소를 선택할 수 있고(위의 Snake와 같이 빨간색 곡선으로 밑줄 처리됨) Ctrl-1을 눌러 QuickFix를 호출할 수 있다. 위의 누락 메소드의 경우에 Eclipse는 세 가지 옵션을 제시한다. 즉, 이는 Add unimplemented methods, Make type 'Snake' abstract 또는 Rename in file이다. 물론, 여기에서는 구현되지 않은 메소드를 추가하려 한다. (지금으로서는 주석 처리한 코드를 무시한다.)

QuickFix가 제시한 마지막 옵션인 Rename in file은 잘못된 것처럼 보일 수 있지만, 이는 실제로 누락 메소드 문제를 수정하는 것과 관련되지 않은 제안이기 때문이다. 대신에 이는 한 번에 한 파일에서 하나의 ID의 인스턴스를 모두 변경할 수 있는 흥미로운 Eclipse 기능이다. 이를 시험해보려면 Animal.java 파일을 열고 변수 lion을 클릭하여 Ctrl-1을 누른 다음 Rename in file을 선택한다. 변수 이름의 두 인스턴스가 직사각형에 포함되어 있음을 인식할 것이다. 예를 들어, 새 이름인 leona를 입력하기 시작하면서 둘 다 변경한다.

Eclipse에서 코드를 입력하면서, 녹색 막대가 커서 앞쪽 어딘가에 나타나는 경우를 확인할 수 있다. 예를 들어, Snake 클래스에서 새로운 speak() 메소드로 돌아가서 System.out.println(을 입력한다. Eclipse에서 닫기 소괄호를 자동으로 추가하면(IDEA와 같이) 녹색 막대가 닫기 소괄호 이후에 나타난다. (그림 5 참조). 이는 삽입 지점이라고 한다.


그림 5. 탭을 누르면 삽입 지점으로 커서를 이동함 -- 녹색 막대
탭을 누르면 삽입 지점으로 커서를 이동함 -- 녹색 막대

그 다음에 소괄호 내에 열기 따옴표를 입력한다. 한 번 더 Eclipse는 닫기 따옴표를 추가하여 도움을 주며, 이는 녹색 막대로 이어진다. (첫 번째 녹색 막대가 동시에 사라진다.) 뱀이 낼 수 있는 "Sssss"와 같은 소리를 입력한 다음 Tab을 누른다. 커서가 따옴표에서부터 삽입 지점으로 이동하는 것을 확인할 것이다. 또한 소괄호 밖의 원래 삽입 지점이 다시 나타나는 것도 확인한다. Tab을 다시 눌러 행의 끝으로 이동하고 닫기 세미콜론을 입력한다.

확인 가능한 대로 이 예제는 Tab을 누르지 않고 오른쪽 화살표를 눌러 동일한 목적을 달성할 수 있으므로 입력하는 것이 많이 줄어들지는 않지만, 한 번 이에 익숙해지면 매우 편리하다고 생각할 것이다. 일부 경우에 -- 특히 코드 템플리트를 사용할 때 -- 삽입 지점은 특히 유용할 수 있다. 예를 들어, for 루프에 대한 템플리트를 호출하면, Tab과 Shift-Tab은 루프의 다른 부분들 사이에 앞뒤로 이동할 것이다 -- 반복자, 테스트 표현식, 증분 표현식 및 루프 본문.

편집기 화면 나누기

즉시 명확하지 않은 한 가지 Eclipse 기능은 편집 화면을 나누는 기능이다. 이는 편집기의 맨 위에 파일 탭 중 하나를 클릭하고 편집기 분할 창의 모서리 중 하나로 드래그하여 수행된다. 예를 들어, 파일 Animal 및 Snake가 열려 있다고 가정하자.

  • Snake.java 탭을 클릭하고 분할창의 맨 아래 모서리로 끈다.
  • 유효한 도킹 위치를 선택했음을 표시하는 검은색 화살표가 나타난다. 아래 그림 6을 참조한다.
  • 마우스 단추에서 손을 떼면 분할창의 아래 절반에 Snake로 편집기를 수평으로 나눈다.
  • 단일 파일 보기로 리턴하려면 Snake 탭을 클릭하여 Animal 탭 바로 옆의 위치로 다시 끈다.

그림 6. Snake 탭을 맨 아래 모서리로 끌어서 편집기 분할창 나누기
Snake 탭을 맨 아래 모서리로 끌어서 편집기 분할창 나누기

프로그램 실행 및 디버깅

Eclipse는 증분 컴파일러를 사용하므로 Java 파일을 표면적으로 컴파일하는 것이 필수는 아니다. 컴파일된 클래스 파일은 Java 파일을 저장할 때 자동으로 저장된다. 프로그램을 실행하기 위해 가장 간단한 방법은 Package Explorer에서 main() 메소드가 들어 있는 파일을 선택한 다음 기본 Eclipse 메뉴에서 Run > Run As > Java Application을 선택하는 것이다. (이는 Run > Run... 메뉴 옵션과는 다르다는 것을 인식하자. 나중에 확인할 것이다.) Animal.java를 선택하여 실행하면, 다음 그림 7과 같이 Editor 아래 Console 보기에서 출력을 만든다.


그림 7. Console 보기에서 Java 출력
Console 보기에서 Java 출력

디버거에서 간단한 프로그램을 실행하는 것은 유사하다. 예를 들어, 먼저 lion.speak()에 대한 호출 바로 옆에 왼쪽 여백에서 두 번 클릭하여 main() 메소드에서 중단점을 설정한다. 이 코드가 조금 덜 사소한 것이었다면 중단점을 마우스 오른쪽 단추로 클릭하고 컨텍스트 메뉴에서 Breakpoint properties를 선택하여 조건적 중단점 -- 특정 표현(예: i==2)이 true일 때 중지하는 것 또는 특정 히트 수 이후에 중지하는 것 -- 을 설정할 수도 있다.

디버깅을 시작하려면 기본 메뉴에서 Run > Debug As > Java Application을 선택한다. Eclipse는 Java Perspective보다 디버깅에 더 적합한 Debug Perspective가 있기 때문에, 이러한 Perspective로 변경하려는지 질문할 것이다. Remember my decision 상자를 선택한 다음 Yes를 클릭한다. 그림 8을 참조한다.


그림 8. Debug Perspective를 사용하여 디버깅
Debug Perspective를 사용하여 디버깅

Debug Perspective에서 대부분의 보기는 비록 이름이 다르고 약간 다르게 배치된다고 하더라도 독자는 IDEA에서 창에 다소 익숙해야 한다. 예를 들어, Debug 보기(Debug Perspective와 혼동되지 않기 위해)는 호출 스택을 표시한다. 이는 IDEA와 익숙한 프레임과 스레드를 결합한다. Variables 보기는 프로그램의 변수의 현재 상태를 표시하고, Console 보기는 프로그램을 표시한다.

Debug 보기의 도구 모음에서 실행을 제어하기 위해 도구 단추(Step over, Step into 및 기타 등등)가 있음을 주목해야 할 것이다. 이러한 제어가 호출 스택과 함께 여기에 위치하므로, 하나 이상의 프로그램 (또는 프로그램의 인스턴스) 또는 여러 스레드가 있는 프로그램을 디버그하고 있으면, 호출 스택에서 이를 클릭하여 제어하기 위해 프로그램 또는 스레드를 선택할 수 있다. 독자가 선호하는 경우, 첫 번째 인스턴스를 종료하지 않고 이 예제 프로그램을 다시 실행하여 이를 통해 흥미롭게 작업할 수 있다.

독자는 때로는 간단한 메뉴 선택 Run > Run As > Java Application을 사용하여 프로그램을 실행하려고 하지 않는다(또는 할 수 없다). 실행하는 프로그램 또는 VM 중 하나로 인수를 전달해야 하는 경우, 대신에 Run > Run... 메뉴 옵션을 사용해야 할 것이다. 이렇게 하면 그림 9과 같이 이러한 옵션과 다른 옵션을 설정하기 위해 사용할 수 있는 대화 상자가 표시된다.


그림 9. 옵션으로 Java 프로그램 실행하기
옵션으로 Java 프로그램 실행하기

Eclipse 사용자 정의하기

IDEA와 Eclipse가 공유하는 훌륭한 점 중 하나는 일반 명령을 수행하기 위한 키보드 단축키의 가용성이다. 잘라내어 붙여넣기 명령과 같은 이러한 일부 단축키는 애플리케이션 둘 다에서 유사하지만 대부분의 명령은 유사하지 않다. Eclipse의 단축키는 처음부터 시작하여 배우려고 결정할 수 있는 반면, IDEA의 단축키에 익숙해지면 일치하는 Eclipse의 키보드 단축키(또는 키 바인딩)를 사용자 정의하는 옵션도 있다. 모든 단축키에 이를 수행하는 것은 지루하지만(그리고 독자가 확인하는 것처럼 궁극적으로 실용적이지 않음) 훌륭한 타협점은 가장 자주 사용하는 단축키를 식별하여 추가하고 나머지를 천천히 학습하는 것일 수 있다.

예를 들어, 독자가 친절한 IDE를 사용하면서 버릇 없어진 많은 프로그래머들과 같다면 스타일에 크게 관계없이 코드를 빠르게 입력하여 형식 명령을 사용하여 작업을 단순화하기 위해 매우 자주 중지하는 것을 좋아할 것이다. IDEA에서 Ctrl-Alt-L을 눌러 이를 수행하지만 Eclipse에서 단축키는 Ctrl-Shift-F이다. 이 방식으로 코드를 형식화하는 것이 거의 자율적인 기능이 되면, 스스로 재교육을 시도하는 것보다 Eclipse에서 키 바인딩을 변경하는 것이 더 간편하고 덜 힘들다고 생각할 수 있다. 다음과 같이 Ctrl-Alt-L를 Eclipse에서 형식화하기 위한 단축키로 만들 수 있다.

  1. 기본 메뉴에서 Window > Preferences를 선택한다.
  2. Workbench 선택사항을 펼치고(필요한 경우) Keys를 클릭한다.
  3. Command 섹션에서 Category 아래 Name 아래 Source;를 선택하고 Format을 선택한다.
  4. Key Sequence 섹션에서 Name 상자 안을 클릭한 다음 원하는 키 결합인 Ctrl-Alt-L을 누른다.
  5. "When"이라고 레이블된 상자에서 Editing Java Source를 선택한다.
  6. Add를 클릭한 다음(그림 10 참조) OK를 누른다.

그림 10. 소스 코드를 형식화하기 위한 키보드 단축키 추가하기
소스 코드를 형식화하기 위한 키보드 단축키 추가하기

위에서 언급한 대로, Eclipse와 IDEA가 동일한 명령 세트를 보유하지 않기 때문에 IDEA와 같이 작업하기 위해 Eclipse를 완전히 변경하는 것은 불가능하다. 다시 말해서, 동일한 기능이 많더라도 종종 다르게 구현된다. 특히, 하나에서 명령은 다른 하나에서 두 가지 이상의 명령에 해당한다. 예를 들어, Eclipse는 텍스트를 찾고 대체하기 위해 단일 명령을 사용하는 반면, IDEA는 이러한 각 함수에 대해 개별 명령이 있다.


요약

Eclipse 3.0과 IntelliJ IDEA 4는 둘 다 구문 검사, 코드 지원 및 코딩을 위한 코드 생성을 제공하는 기능이 풍부한 Java IDE이다. 게다가, 이는 둘 다 리팩토링, Ant, 유닛 테스팅 및 CVS에 대한 지원을 제공한다. 그리고 조만간 AWT/Swing 또는 SWT를 사용하는 GUI를 빌드하기 위한 Eclipse Visual Editor 1.0이 사용 가능하게 될 것이다. 하지만 이 둘 사이에 일부 중요한 차이점이 존재한다.

한 가지 중요한 차이점은 Eclipse 사용자 인터페이스가 Perspective의 개념, 보기의 콜렉션, 편집기 및 특정 태스크를 수행하기 위해 가장 적합한 다른 UI 요소를 사용하여 제작된 방식에 놓여있다. 이로 인해 적절한 도구(및 적절한 도구만)가 바로 가까이 있기 때문에 작업이 더 간편해진다.

또 다른 중요한 차이점은 Eclipse가 오픈 소스 프로젝트라는 점이다. 이 오픈 소스 성향은 Eclipse를 위해 무료 및 상업용 플러그인을 개발하는 대규모 개발자 커뮤니티를 매혹시켰다. 기능이 필요하면 -- 측면 지향 개발 지원 또는 내장 MP3 플레이어에서 나온 어느 기능이나 -- 이를 제공하기 위해 Eclipse를 확장하는 무료 플러그인을 찾게 될 것이다.


참고자료

필자소개

David Gallardo는 Studio B 저자로서 소프트웨어 컨설턴트이자 소프트웨어 국제화, Java 웹 애플리케이션, 데이터베이스 개발을 전문으로 다루는 작가이다. 그는 15년이 넘게 전문 소프트웨어 엔지니어로 일했으며 많은 운영 체제, 프로그래밍 언어 및 네트워크 프로토콜 관련 경력이 있다. 최근에 그는 기업간 전자 상거래 회사인 Trade Access Inc.에서 선도하는 데이터베이스 및 국제화 개발을 한 경력도 있다. 그 이전에는 Lotus Development Corporation의 International Product Development 그룹에서 선임 엔지니어로 재직했으며, 여기에서는 Domino를 비롯한 Lotus 제품에 대한 국제 언어 및 유니코드 지원을 제공하는 크로스 플랫폼 라이브러리의 개발에 기여했다. David는 Eclipse In Action: A Guide for Java Developers(Independent Pub Group, 2003년)의 공동 저자이다. David의 이메일 주소는 david@gallardo.org이다.

잘못된 도움말 신고

부정사용 신고

감사합니다. 이 항목은 운영자가 관심을 표시했습니다.


잘못된 도움말 신고

부정사용 신고

제출실패 신고. 나중에 다시 실행해주세요.


디벨로퍼웍스 로그인


IBM ID가 필요하세요?
IBM ID를 잊으셨습니까?


비밀번호를 잊으셨습니까?
비밀번호 변경

developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


developerWorks에 처음 로그인하면 developerWorks프로파일이 생성됩니다.귀하의 프로파일에서 동의하신 내용이 공개되지만 이 사항은 언제든지 변경 가능합니다. 귀하의 성명(숨김으로 체크되어 있어도 표시됩니다)과 디스플레이 이름은 게시한 컨텐츠나 사이트 엑세스시 표시됩니다.

화면상에 보여지는 닉네임을 정하세요.

처음 developerWorks에 로그인할 때 프로파일이 작성되므로, 이를 위해 디스플레이 이름을 선택해야 합니다. 선택하신 디스플레이 이름은 developerWorks에 게시한 컨텐츠에 표시됩니다.

3글자 이상 31글자 이하의 길이로 사용 가능합니다. dW커뮤니티 내에서는 보안상 이메일주소를 제외한 다른 이름을 지정하셔야 합니다.

3개의 &이나 대쉬를 포함해주시고 31글자내로 제한해주세요.


developerWorks 이용 약관에 동의하시는 경우 제출을 클릭하십시오. 이용 약관.

 


아티클 순위

의견

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=20
Zone=오픈 소스, 자바
ArticleID=776582
ArticleTitle=Eclipse로 마이그레이션하기: Eclipse 대 IntelliJ IDEA를 평가하는 개발자의 안내서
publish-date=09082004

태그

Help
검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오.

태그를 더 많이 보거나 적게 보기 위해 슬라이더 막대를 사용하십시오.

인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다.

내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.

검색 필드를 사용하여 My developerWorks 내에서 해당 태그가 사용된 모든 종류의 컨텐츠를 검색하십시오. 인기 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 최고 인기 태그를 보여줍니다. 내 태그는 특정 컨텐츠 존(예를 들어, 자바, 리눅스, WebSphere)의 귀하의 태그를 보여줍니다.