본문 바로가기

자바환경설정

이클립스의 기본적인 사용법

출처 : http://cloudzdesign.tistory.com/15

1. 개요

문서는 IBM 이클립스의 기본적인 사용법을 설명한 것으로, 따라하기 식으로 서술되어 있다.

이클립스 홈페이지(www.eclipse.org) FAQ 이클립스 도움말을 참조하였으며,

코드명 가니메데3.4버전을 기준으로 설명한다.

참고 2009 6 25일 코드명 갈릴레오 3.5버전발표

2. 화면 구성

이클립스에는 작업의 성격에 따라 여러 perspective 존재한다. 이클립스를 실행시켜보면 화면 왼쪽에 다음과 같은 버튼들이 보인다.


perspective들은 사용자가 임의로 추가가 가능하며 추가가능한 목록으로는 다음과 같이 존재한다.



개발자의 목적에 따라 퍼스펙티브들이 쓰일것이며, 가장 많이 쓰이는 Java, J2EE, CVS, XML, , 디버그 정도가 되겠다.

이중 생소한것은 CVS 저장소 perspective인데, 일단 CVS에 대해 짚고넘어가 보자.

CVS(Concurrent Versions System)

CVS란 소스의 버젼을 관리할 수 있도록 도와주는 도구로 일반적으로 txt형식의 프로젝트를 진행할때 유용하게 사용할 수 있다.
(
홈페이지를 관리하기 위해서도 유용하다고 한다
.)
예를 들어 프로그램을 작성한다고 할때 작업을 마치고 실행해보니 의도한 결과가 나오지 않을 경우 소스를 뜯어고치게 되는데
,
이경우 이부분 저부분을 고치다보니 결국 소스는 원형을 찾아보기 힘들정도로 복잡한 코드로 변경되게 된다
.
하지만 결국 발견한 것은 사소한 실수라고 한다면 이 소스를 원래되로 되돌려 놓고자 할 경우 상당한 어려움을 겪게 된다
.
따라서 결국 원본을 복구하지 못하고 다시 처음부터 코딩을 시작하게 된다
.
만약 백업을 해놓았다고 하더라도 매번 백업을 하게 되면 디스크 용량을 많이 차지하게 되며 백업파일이 늘어나면 날 수록

그 많은 것을 관리하는 것도 장난이 아니게 된다. 이러한 것을 해결해 줄 수 있는 것이 바로 CVS라고 할 수 있다.
CVS
는 각 단계에서 변경된 부분만을 저장함으로 디스크 용량을 낭비하지 않을 수 있고,

각 단계마다 작업한 내용을 글로 적어서 함께 저장함으로써 개발 내용을 한 눈에 알아 볼 수 있다.



앞으로
대부분의 설명 화면은 자바 perspective에서 이루어질 것이다.

3.새로운 프로젝트 만들기

이클립스에서는 어떤 작업을 하든지프로젝트 먼저 만들어져야 한다.

프로젝트를 만들기 위해서는 파일 메뉴 -> 새로작성 -> 프로젝트 선택하든가,

아래그림처럼 도구모음에서 New -> Project 선택할 있다.

Project 선택하면,다음 그림과 같은 화면이 보이는데,

트리에서 [Java], 하단트리에서 [Java Project] 선택하고, [다음]버튼을 누른다.





이제 프로젝트의 이름을 지어주어야 한다.


위쪽 그림처럼 프로젝트 이름을 입력해주면 된다. 그리고라는 라디오 박스가 보이는데,

이것을 체크하면 이클립스 프로젝트 기본 경로인 <이클립스설치경로/workspace/> 프로젝트 이름에 해당하는 디렉토리가 생성된다.

물론 아래 박스를 체크하여 이미 존재하는 다른 클래스 패키지들을 연결시킬 수도 있다. 이에 대한 내용은 다음에 다시 언급될 것이다. 지금은 그냥 기본값으로 시작하도록 한다.

[다음]버튼을 누르면 자바 빌드에 관련된 설정을 해주는 대화상자가 뜬다.


다른 것들은 별로 손댈 것이 없으나 [라이브러리]탭은 내용 추가가 필요할 수도 있다.

어떤 부분을 하냐에 따라 라이브러리 부분에서 추가 될것들이 있다. 서블릿이냐, JDBC 등등등에 따라

필요한 외부 라이브러리를 추가 해주어야 한다.

이렇게 외부 라이브러리를 추가해주어야 이클립스에서 컴파일할 에러가 발생하지 않으며, 코딩시해당 클래스에 대한

코드 어시스트(code assist) 가능해진다.

하지만, 이렇게 외부 JAR 파일을 추가하는 것은 추후에도 가능하므로 지금은 그냥 [완료] 버튼을 눌러서

프로젝트 생성을 완료하도록 한다. (프로젝트 선택 -> 파일 -> 속성 -> 자바빌드경로 선택하면 위와 똑같은 탭들을 있다.)

4.새로운 클래스 추가하기

좀전에 생성한 프로젝트에 새로운 클래스를 추가해보도록 하겠다.

자바 perspective 왼쪽 패키지 트리( 패널을패키지 탐색기라고 한다)에서 생성한 프로젝트 선택한다.

상태에서 마우스 오른쪽 버튼을 클릭하여 팝업 메뉴에서 새로작성->클래스 선택한다.


이렇게 새로운 클래스를 생성한다고 선택하면 다음 그림과 같이 새로운 자바 클래스를 만들어내는데 필요한 옵션을 설정해야 한다.

현재, 별도의 패키지 구조를 만들지는 않을 것이기 때문에 [패키지] 상태(디폴트 패키지) 둔다.

[이름]에는 클래스의 이름을 입력해야 한다. 다른 체크 박스는 손댈 것이 없어 보인다.

마지막에 보이는 세가지 체크 박스에 대해 설명하자면,

첫번째 것은 main 메소드를 자동으로 추가해 것인가?,

두번째 것은 생성자 코드에 상위 클래스의 생성자를 호출하는 super() 메소드를 추가할 것인가?,

세번째 것은 상위 클래스가 추상 클래스로 지정되어 있을 , 추상 메소드를 상속받아서 메소드로 보여줄 것인가를 결정한다.

[완료]버튼을 누르면 새로운 클래스가 생성될 것이다.

다음 그림과 같이 HelloWorld.java 생성되어야 하며, main 메소드도 자동으로 추가되어 있는 것을 있을 것이다.

5. 소스 입력하기

이제 자바 소스를 컴파일하고 실행시켜볼 예정이기 때문에, 다음과 같은 간단한 소스 파일을 입력해 보도록 하자.

소스는 역시나헬로우.



이클립스에는 재미있게도, 컴파일 과정이 별도의 메뉴로 제공되지 않는다. 단지 소스 입력을 마치고 저장(Ctrl+s) 하면자동으로 컴파일이 이루어진다. 그리고 코딩 중에 실시간으로 문법 검사를 해주기 때문에 오타에 의한 에러가 확실히 줄어든다.

만약 코딩을 했는데, 줄의 부분에 전구 마크나 빨간 X 마크가 보이면, 뭔가 잘못되었음을 의미한다.

예를 들어, sayHello() 메소드에 리턴형인 void 빼먹었다고 하자.

그러면 이클립스는 즉각적으로 다음과 같이 sayHello 메소드 앞에 전구 마크를 보여준다.

도대체 무슨 문제인가 궁금하면 전구 마크를 살짝 클릭해 보자. 다음 그림과 같은 화면이 보일 것이다.

외에 클래스명 오타나 public, static 등과 관련된 문법 사항, import 빠진 경우 거의 완벽한 수준의 실시간 검사를 제공하고 있다.

참고로, 가끔씩 노란 전구 마크가 들어와서 분명히 수정했는데도 불구하고 노란 전구 마크가 빨간 X 마크로 변해,

순간 당혹스럽게 만들기도 한다.

때는 살짝 Ctrl+s 눌러서 저장을 한번 해주면 컴파일을 하면서 아무 문제 없음을 이클립스에서 알게 것이다.

6. 실행하기

앞에서 이미 컴파일이란 별도의 명시적인 단계는 없음을 알았다. 코딩을 완료했고, 화면에 아무런 에러가 보이지 않는다면 이제 위의 클래스를 실행시켜볼 있다.

메뉴에서 [실행]->[실행] 선택하거나, 도구모음의 [재생모양]버튼을 선택해보자.




다음과 같은 화면이 것이다.

위의 그림에서 [Java 응용프로그램] 선택하고, 아래 있는 [확인]버튼을 클릭하거나,

또는 [Java 응용프로그램] 더블 클릭하면, 저장확인 창이 뜬후.


화면 하단에 [콘솔]보일 것이고, 결과는 위와 같이헬로우 것이다.

7. 디버깅하기

일반적으로 디버깅은 어느 순간 어떤 메소드에 전달된 파라미터의 값이 무엇인지 알고 싶을 ,

제어문이 도대체 어떤 순서로 수행되는지 알고 싶을때, 혹은 어떠한 논리적인 오류는 없는지 확인하기 위해 사용한다.

디버깅을 하기 위해서는 컴파일 에러가 발생한 지점 근처나 에러의 근원지라고 의심이 되는 부분에 미리 표시를 해두어야 한다.

디버깅 실행을 하면 이클립스는 이런 표시가 있는 부분에서 잠시 정지하여 프로그래머가 각종 변수의 현재 상태를 파악할 있도록

해준다.

위에서 작성했던 예제로 디버깅을 해보도록 하겠다.

디버깅 과정을 통해 우리는 sayHello에서 인사말 출력을 위해 사용하는 m_to라는 변수에헬로우 올바른 값이 저장되어 있는지

확인하고자 한다.

먼저 10라인에서 줄번호가 보이는 공간에서 오른쪽 마우스 버튼을 클릭하면 다음과 같은 팝업 메뉴가 보일 것이다.

여기서 [중단점 토글] 선택하도록 한다. 선택하고 나면 하늘색 마크가 보일 것이다.



도구모음에서 디버그 perspective 선택하면 자바 perspective에서 자동으로 디버그 perspective 변경되고,

좀전에 표시한 지점까지 실행이 되며 breakpoint 지점에서 대기하고 있음을 있을 것이다.

다음 그림에서 보는 바와 같이 우측 상단의 [변수] 통해 현재 m_to 변수가 String 타입이며 값은헬로우이란 사실을 있다.

8. 프로젝트에 기존의 클래스를 추가하기

항상 클래스를 새로 만드는 것은 아니며 기존의 클래스 파일을 그대로 가져다가 쓰거나,

혹은 어떤 클래스 파일을 테스트해 보기 위해 프로젝트에 포함시킬 수도 있다.

그런데, 위와 같이 임포트를 결과를 살펴보면참조디렉토리 있던 클래스 파일들이이클립스 워크스페이스아래에 그대로 복사된 것을 있을 것이다. 이런 식으로 복사해오는 것이 기본 설정이기 때문에 이렇게 작동을 하는 것인데, 만약에 규모가 패키지를 임포트하는 경우라면 공간의 낭비가 아닐 없을 것이다.

이런 문제를 해결하기 위해 실제로 클래스 파일을이클립스 워크스페이스 복사하지 않고, 원본은 원래 위치에 그대로 두고 단지 경로 정보만 참조해서 프로젝트를 만들 수도 있다. 처음에 프로젝트를 생성했던 방법대로 하면 되지만, 한가지 다른 점은 프로젝트 경로명에서 [Use Default] 언체크하고 임포트하려는 실제 경로를 선택해야 한다.

9.기타 유용한 기능들

1. Organize Import / Add Imports

보통 import java.io.*; 이런식으로 임포트를 하게 되는데, 코딩을 끝낸 후에 Organize import 기능을 사용하면 소스 상에서 실제로 사용한 클래스들만을 임포하도록 import 문장을 수정해 준다. 예를 들어,

2. Code Formatter

코딩 스타일을 상세하게 지정할 있어서 자신의 코딩 스타일을 그대로 사용할 있고, 소스 Formatter 기능이 있어 뒤죽박죽되어 있는 소스를 자신이 익숙한 스타일로 한꺼번에 변경할 있다.

3. Refactor

클래스 이름을 수정하거나 패키지가 변경되면, 클래스를 참조하고 있던 다른 모든 클래스까지도 자동으로 수정을 해서 소스 관리가 자동으로 이루어진다.

4. 코딩 실시간 문법 검사 해결책 제시

코딩 중에 실시간 문법 검사를 하며, 문제가 발생하면 가능한 해결책을 여러 가지 제시한다. 여러 가지 해결책을 직접 입력할 필요도 없으며 단지 해결책이 나열된 팝업 메뉴 중에서 가지를 선택하면 스스로 수정해준다.

5. 코드 어시스트

다른 툴에도 존재하는 기능이며, MS 비쥬얼 스튜디오보다는 약간 사용하기 불편하지만 그래도 필요한 기능이며, 코딩 속도를 높여주고, API 문법을 빠삭하게 외우지 않아도 코딩이 가능하도록 해준다. 기본적으로 .() 누르고 500 밀리초 후에 어시스트 팝업이 뜨도록 되어있는데, 이는 너무 느린것 같고 개인적으로는 100 밀리초로 설정하여 사용하고 있다.

10.단축키

1.필드, 클래스 등 정의부로 가기 => F3 혹은 Ctrl + 클릭
원래 화면으로 돌아오기=> Alt + 왼쪽 화살표 키
다시 F3으로 보았던 화면으로 가기=> Alt + 우측 화살표 키

2.메소드나 필드 간 이동 => Ctrl + O
에디터 간 전환
=> Ctrl + F6or Ctrl + E
뷰 간 전환
=> Ctrl + F7
퍼스펙티브 간 전환
=> Ctrl + F8

3.현재 에디터 화면 닫기=> Ctrl + W
전체 열린 파일 닫기
=> Ctrl + Shift + F4

4. Hot Fix => Ctrl + 1

5. import 정리 => Ctrl + Shift + O
자동
import=> Ctrl + Shift + M

6. indentation 정리=> Ctrl + i

7. Java Application 실행=> Alt + Shift + X , J
(
또는, run 실행
=> Ctrl + F11)
Debug
모드 실행
=> Alt + Shift + D, J

8. 파일이나 메소드의 주석 입력 단축키 => Alt + Shift + J
-
한줄 주석 처리
=> Ctrl + /
-
블록 주석 => Ctrl + Shift + / (잘 안됨.. 왜 일까요
??)
-
블록 주석 해제
=> Ctrl + Shift + \

9. 다음 찾기=> Ctrl + K
이전 찾기
=> Ctrl + Shift + K

10. editor화면 최대=> Ctrl + M
원래 크기로
=> Ctrl + M

11. 입력 파라미터 정보 보기=> Ctrl + Shift + Space

12. 특정 클래스나 메소드를 사용하고 있는 모든 곳을 찾기 => Ctrl + Shift + G

13. Window Builder 사용시 Source Design사이 전환=> F12

14. 소스를 기본 포맷으로 맞추기 => Ctrl + Shift + F

15.라인 찾아가기 ctrl + L

16. .import
알아서 정리하기(필요한 것 넣고 안 쓰는 건 지운다
)ctrl + shift + O

17.
괄호 시작 끝 찾아주기

if{
}<-

ctrl + shift + P

18.
아직 import를 안 해서 빨간줄 뜨는 메소드 import 해주기ctrl + shift + M

19.
자동완성
ctrl + space

20.
커서에 해당하는 곳의 정보
ctrl + shift + space

21.
블록 주석 ctrl + shift + / or ctrl + shift + C