3.1의 새로운 기능

이 문서에는 3.0 이후 Eclipse 3.1 릴리스용 Java 개발 도구에 대해 수행된 보다 흥미롭거나 중요한 변경사항 중 일부에 대한 설명이 있습니다. 이 문서는 몇 개의 섹션으로 구분되어 있습니다.

J2SE 5.0


J2SE 5.0

Eclipse 3.1에는 J2SE 5.0(별명 "Tiger")의 새 기능이 모두 포함되어 있습니다. 이러한 지원이 의미하는 가장 중요한 것은 기존에 사용하던 J2SE 1.4 와 J2SE 5.0 간의 작동이 유사하게 이루어질 것이므로 사용자는 차이점을 거의 느낄 수 없다는 점입니다. J2SE 1.4에서 작동되는 편집, 코드 지원, 컴파일, 디버깅, 빠른 수정, 리팩토링, 소스 조치, 검색 등과 같은 지원이 J2SE 5.0의 새 유형 및 구문에 대해서도 똑같이 작동됩니다.

J2SE 5.0을 따르는 코드를 개발하려면 5.0 JRE(Java Runtime Environment)가 필요합니다. 5.0 JRE를 사용하여 처음 Eclipse를 시작할 경우 Eclipse는 기본적으로 이 JRE를 사용합니다. 그렇지 않으면 설치된 JRE 대화 상자를 사용하여 Eclipse에 대해 등록해야 합니다. 환경 설정 Java > 설치된 JRE을 사용하거나 새 Java 프로젝트 마법사의 기본값 구성... 링크를 사용하여 이 대화 상자를 표시할 수 있습니다.

새 Java 프로젝트 마법사


JRE 및 컴파일러가 5.0을 준수하도록
갱신하기 위한 빠른 수정

새로운 빠른 수정은 1.4 프로젝트에서 5.0 구성을 입력하려고 할 때 준수 설정을 변경하는 데 도움이 됩니다. 1.5 JRE는 반드시 필요합니다. 이 JRE는 '설치된 JRE' 환경 설정 페이지에서 추가할 수 있습니다.

변경 준수 빠른 수정


새 유형 마법사가 일반 사항을 지원함

새 유형 마법사는 다양한 필드에서 J2SE 5.0 일반 유형을 지원합니다.
  • 이름 필드에는 유형 매개변수 선언을 포함할 수 있습니다.
  • 수퍼클래스 및 구현된 인터페이스는 일반 유형 인수를 포함할 수 있습니다.

새 유형 마법사의 그림


열거 및 어노테이션 작성

열거 및 어노테이션은 새 열거 또는 어노테이션 마법사로 작성할 수 있습니다.

열거 마법사


유형 인수 추측

코드 지원은 Java 편집기에서 유형을 완료할 때 올바른 유형 인수를 삽입합니다. 명확하게 할 수 없는 유형 인수가 선택되고 키는 하나의 인수에서 다음 인수로 이동됩니다.

이 예제에서 String은 첫 번째 유형 인수로 삽입되고 Number는 두 번째 유형 인수입니다.

스크린샷: 'HashMap'은 리턴 유형으로 'Map<String, ? extends Number>'를 선언하는 메소드에서 리턴됩니다. String은 첫 번째 유형 인수로 삽입되고 'Number'는 두 번째 유형 인수로 제안됨

이 기능을 사용하려면 Java > 편집기 > 코드 지원 환경 설정 페이지에서 인수 이름 채우기를 사용해야 합니다.


다른 유형 진단을 숨기는 유형 매개변수 선언

Java 컴파일러는 선택적으로 다른 유형을 숨기는 유형 매개변수 데코레이션에 플래그를 표시할 수 있습니다.

다른 유형을 숨기는 유형 매개변수 경고가 있는 Java 편집기 그림


리팩토링 이름 바꾸기

리팩토링 이름 바꾸기가 유형 매개변수의 이름 바꾸기를 처리하도록 확장되었습니다.

일반 클래스에서 유형 매개변수의 이름 바꾸기를 보여주는 스크린샷


일반 유형 인수 추측
리팩토링

J2SE 5.0에서는 사용자 코드에 일반 유형을 사용하여 읽기 쉽고 정적 유형 안정성을 향상시킬 수 있습니다. 리팩터 > 일반 유형 인수 추측은 Java 콜렉션 프레임워크와 같은 일반 클래스 라이브러리의 클라이언트가 코드를 이주하는 데 도움을 주는 새 리팩토링입니다.

인수 원래 컨테이너 클라이언트 - 이전

리팩토링은 일반 유형의 유형 매개변수를 추측하여 불필요한 캐스트를 제거합니다.단일 컴파일 단위 뿐만 아니라 전체 패키지 및 Java 프로젝트에서 작동합니다.

인수 원래 컨테이너 클라이언트 - 이후


일반 유형에 대한 빠른 수정

분석되지 않은 Java 유형의 경우, 이제는 제안사항으로 새 유형 매개변수를 작성할 수도 있습니다.

유형 매개변수 빠른 수정 추가

유형 매개변수에 대한 Javadoc 태그의 지원이 추가되었습니다. J2SE 5.0에서, 사용자는 기존 @param 태그를 사용하여(이름은 대괄호로 묶음) 유형 매개변수를 제시합니다.

유형 매개변수에 대한 Javadoc 빠른 수정


매개변수화된 유형에 대한 참조 검색의 새 검색 결과 필터

매개변수화된 유형에 대한 참조를 검색할 경우(예: List<Integer>), 검색 결과에는 목록의 모든 발생에 대한 참조가 포함됩니다. 검색 결과 보기는 이제 두 개의 추가 필터를 제공하여 일치 항목을 숨깁니다.

  • 호환 불가능 일치항목 필터: 이 필터는 검색 패턴과 호환 가능한 지정이 아닌 모든 결과를 숨깁니다. 예를 들어, List<Integer>를 필터링할 경우 호환 불가능 일치항목은 List<String>의 결과는 숨기지만 List<? extends Number>의 결과는 숨기지 않습니다.
  • 부정확 일치항목 필터: 이 필터는 패턴과 정확하게 일치하지 않는 모든 결과를 숨깁니다. 위에 있는 예제의 경우 필터는 List<? extends Number>의 결과도 숨깁니다.

유형 매개변수 빠른 수정 추가


어노테이션에 대한 완료

단일 구성원 어노테이션 또는 어노테이션 속성 값 내에서의 코드 완료가 지원됩니다.

어노테이션 속성에 대해 완료하는 Java 편집기 그림


상위 인터페이스 진단으로 어노테이션 유형 사용

J2SE 5.0에서, Java 언어를 사용하면 클래스가 어노테이션 유형을 구현할 수 있습니다. 이것은 권장되지 않습니다. Java 컴파일러는 선택적으로 이와 같은 사용이 발생할 때 플래그를 표시합니다.

상위 인터페이스로 어노테이션 유형 사용 경고가 있는 Java 편집기 그림


@SuppressWarnings 어노테이션에 대한 지원

J2SE 5.0 @SuppressWarnings 어노테이션이 지원됩니다. 인식되는 경고 토큰 이름은 "all", "boxing", "dep-ann", "deprecation", "incomplete-switch", "hiding", "finally", "static-access", "nls", "serial", "synthetic-access", "unqualified-field-access", "unchecked", "unused" 및 "warningToken"입니다. 아래의 예제에서, 첫 번째 필드는 @SuppressWarnings("deprecation") 어노테이션으로 태그가 표시되고 폐기 경고는 보고되지 않습니다. 두 번째 필드에는 태그가 표시되지 않으며 폐기 경고가 보고됩니다.

@SuppressWarnings 사용을 보여주는 Java 편집기 그림

컴파일러 옵션이 @SuppressWarnings 어노테이션 활성화 여부를 제어합니다. 환경 설정 Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > '@SuppressWarnings' 어노테이션 사용을 참조하십시오.

기본적으로, 미처리 경고 토큰에 대해 경고 신호가 발생합니다. 이 경고는 @SuppressWarnings("warningToken") 어노테이션을 사용하여 억제할 수도 있습니다.

warningToken 사용을 보여주는 Java 편집기 그림


@SuppressWarnings에 대한
빠른 수정사항
지원

@SuppressWarning 어노테이션을 사용하여 억제할 수 있는 경고는 이를 위한 빠른 수정사항을 제공합니다. 아래에서 사용하지 않는 로컬 경고에 빠른 수정 적용

경고 억제 빠른 수정사항

결과

사용하지 않는 경고 문제점 억제


@Override 어노테이션 누락 진단

Java 컴파일러는 선택적으로 수퍼클래스 메소드를 대체하는 메소드에 플래그를 표시할 수 있지만 적절한 @Override 어노테이션이 누락됩니다. 누락되는 @Override 어노테이션은 빠른 수정을 사용하여 추가할 수 있습니다.

@Override 누락 메소드 경고가 있는 Java 편집기 그림

환경 설정 Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > '@Override' 어노테이션 누락을 참조하십시오.

@Deprecated 어노테이션 누락 진단

Java 컴파일러는 @Deprecated 어노테이션을 인식하고 이 어노테이션을 doc 설명 /** @deprecated */로 처리합니다. 적절한 @Deprecated 어노테이션이 누락된 (doc 설명 태그 대신 어노테이션을 사용하도록) 폐기된 구성에 선택적으로 플래그를 표시할 수 있습니다.

@Deprecated 어노테이션이 누락 경고가 있는 Java 편집기 그림

Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > '@Deprecated' 어노테이션 누락에서 환경 설정을 참조하십시오.

완료되지 않은 enum switch 명령문 진단

Java 컴파일러는 선택적으로 완료되지 않은 enum switch 명령문에 플래그를 표시할 수 있습니다.

완료되지 않은 enum switch 명령문 경고가 있는 Java 편집기 그림

Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > 일부 enum 상수는 'switch'에서 관리되지 않음에서 환경 설정을 참조하십시오.

'enum' ID에 대한 컴파일러 진단

Java 컴파일러는 ID로 'enum'이 사용되는 곳을 찾아서 플래그를 표시할 수 있습니다. 'enum'은 소스 레벨 1.4까지 적합한 ID이지만 5.0 소스에서는 예약된 키워드입니다. 이 경고를 사용하면 소스 이주 문제점을 예상하는 데 도움이 됩니다. 환경 설정 Java > 컴파일러 > JDK 준수 > 'enum' ID 거부를 참조하십시오.

'enum' ID에 대한 컴파일러 선택적 진단


enum 상수를 작성하기 위한
빠른 수정사항

빠른 수정사항은 enum 상수 작성을 지원합니다. 아래에 있는 예제에서, 상수 BLUE는 열거 색상에서 누락되어 있습니다.

'enum' ID에 대한 컴파일러 선택적 진단


오토박싱(autoboxing) 매개변수
제안

제안되는 매개변수에는 오토(오토언)박싱 제안이 포함됩니다.

오토박싱 제안을 보여주는 스크린샷

참고: Java > 편집기 > 코드 지원 > 완료 시 인수 이름 채우기 환경 설정을 사용해야 합니다.


박싱/
언박싱 진단

J2SE 5.0 오토박싱(autoboxing) 성능은 강력하지만 예상하지 못한 동작이 발생할 수 있습니다(특히 인수를 전달할 때). 컴파일러는 오토박싱 및 오토언박싱 수행 시기를 표시하는 선택적 진단을 도입했습니다. 다음 예제에서, foo(Integer)를 호출하지만 오토언박싱이 수행되므로 foo(int)가 호출됩니다.

언박싱 경고가 있는 Java 편집기 그림

Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > 박싱 및 언박싱 변환에서 환경 설정을 참조하십시오.

Java 편집기에서 J2SE 5.0에 대한 지원

Java 편집기는 새 J2SE 5.0 언어 기능에 해당되는 구문 색상 지정을 제공합니다. Java > 편집기 > 구문 색상 지정 환경 설정 페이지로 이동하여 색상을 변경하거나 유형 변수, 어노테이션 요소오토(오토언)박싱된 표현식의 시맨틱 색상 지정을 사용하십시오.

열거, 어노테이션, 어노테이션 요소, 유형 변수 및 오토박싱된 표현식의 구문 색상 지정을 보여주는 스크린샷


루프 템플리트에 대한 새 기능

foreach 템플리트는 새로운 'for' 루프를 코드에 삽입하여, 반복할 수 있는 로컬 Iterable 인스턴스를 제안합니다.

삽입된 for 루프 템플리트를 보여주는 스크린샷


확장 for 루프로 변환

배열 또는 콜렉션을 통한 이전 스타일의 for 루프를 J2SE 5.0 확장 for 루프로 변환하도록 새로운 신속 지원(Ctrl+1)이 제공됩니다.

확장 for 루프로 변환 예제 그림

빠른 수정사항은 루프를 다음과 같이 단순화합니다.

확장 for 루프 신속 지원 결과를 보여주는 그림


캐스트가 필요한
Varargs 인수

Java 컴파일러는 선택적으로 의심이 가는 varargs 메소드 호출에 플래그를 표시할 수 있습니다. 널(null) 최종 인수는 예상한 대로 1-요소 배열로 줄 바꾸기가 되지 않습니다. 명시적 캐스트를 추가하면 코드 의도가 확실하게 됩니다.

컴파일러는 varargs 인수에 대해 필수 캐스트를 진단함

Java > 컴파일러 > 오류/경고 > J2SE 5.0 옵션 > vararg 인수에 대한 부정확한 유형 일치에서 환경 설정을 발견할 수 있습니다.


완료에서 정적 가져오기 사용

Java 편집기에서의 코드 완료는 컨텍스트 완료를 추측할 때 정적 가져오기를 처리할 수 있습니다.

정적 가져오기 Math.*로부터 메소드를 완료하고 찾는 Java 편집기 그림


정적 가져오기
그룹

정적 가져오기를 구성하려면 정적 가져오기에 대한 그룹을 작성한 후 원하는 곳에 배치하십시오. '기타' 그룹을 정의하여 다른 그룹과 일치되지 않는 모든 가져오기를 모을 수 있습니다.

정적 가져오기 그룹

'기타' 그룹 기능도 비정적 가져오기에 사용할 수 있습니다.


package-info.java에 대한
지원

패키지 어노테이션 작성 및 문서화를 허용하는 특수한 소스 파일 package-info.java에 대한 지원이 추가되었습니다. 모든 JDT 도구(코드 지원, 코드 선택, 검색, 아웃라인, 유형 계층 구조 등)를 이 특수 컴파일 단위에서 사용할 수 있습니다.

package-info.java 내부의 Doc 설명이 처리되고 표준 설명 태그의 구문 및 참조를 확인합니다.

package-info.java의 Java 편집기 및 패키지 탐색기 그림


J2SE 5.0 구성용 코드 포맷터

코드 포맷터는 새로운 모든 J2SE 5.0 언어 구성을 지원합니다. 포맷터가 구성을 처리하는 방법에 대한 제어는 Java > 코드 스타일 > 코드 포맷터 환경 설정 페이지에서 찾을 수 있습니다.

공백 포맷터 환경 설정 페이지 그림


5.0 소스 코드 디버깅

1.5 JRE를 사용하여 5.0 소스 코드를 실행하고 디버그할 수 있습니다. Java 디버그 평가는 일반 유형 및 확장 for 루프와 같은 J2SE 5.0 구성을 지원합니다.

로컬 내부 유형에 대한 클래스 파일 이름 지정 변경

5.0 준수 모드에서, Java 컴파일러는 로컬 내부 유형에 대해 JLS 13.1(3판)에 지정된 이름 지정 규칙을 따르는 클래스 파일을 생성합니다. 결과적으로, 아래 예제의 경우 X$1$A.class 파일을 생성하는 대신 X$1A.class가 생성됩니다.

로컬 내부 유형 클래스 파일이 있는 네비게이터 그림


Java 디버거


감시점 및
메소드 항목
중단점

Java 편집기 눈금자를 두 번 클릭하면 필드에 감시점이 작성되고 메소드 선언에 메소드 입력 중단점이 작성됩니다.

잠금 및 교착 상태

스레드가 소유하는 잠금과 스레드가 대기 중인 잠금은 둘 다 디버그 보기 드롭 다운 메뉴에서 모니터 표시 메뉴 항목을 토글하여 디버그 보기에 일렬로 표시할 수 있습니다. 교착 상태에 관련되는 스레드 및 잠금은 빨간색으로 강조표시됩니다.

디버그 보기에 표시되는 교착 상태


스택 추적 탐색

스택 추적을 Java 스택 추적 콘솔로 복사하여 붙여넣고 하이퍼링크를 사용하여 추적을 탐색할 수 있습니다. Java 스택 추적 콘솔은 콘솔 보기의 콘솔 열기 드롭 다운 메뉴에서 열 수 있습니다. 붙여넣은 스택 추적은 표준 형식 키 바인딩을 통해 형식화할 수 있습니다.

Java 스택 추적 콘솔


'toString()' 인라인

변수의 toString() 계산 값은 변수 보기 트리와 세부사항 영역에 일렬로 표시됩니다. 보기 드롭 다운 메뉴에 있는 Java 세부 포맷터... 명령은 이 기능이 작동하는 방법을 구성하는 데 사용됩니다.

인라인 toString() 예제


사용자 정의 논리 구조

Java 디버거를 사용하여 이제는 여러 오브젝트 유형에 대해 변수 보기에 표시되는 내용을 제어할 수 있습니다. 예를 들어, 콜렉션은 특정 콜렉션 오브젝트를 구현하는 방법에 관한 불필요한 세부사항 대신 간단한 값 배열로 표시할 수 있습니다.

이는 Java > 디버그 > 논리 구조 환경 설정 페이지를 통해 수행됩니다. 이 페이지에서 사용자는 단일 표현식(예: this.toArray())이나 이름 지정된 일련의 표현식으로 특정 클래스나 인터페이스와 연관됩니다. 오브젝트가 변수 보기에 표시될 때, 표현식을 평가하여 표시할 값을 생성합니다.

Java 논리 구조를 편집하기 위한 대화 상자


향상된 변수 값 수정

Java 디버거는 이제 값 변경 대화 상자나 변수 보기의 세부 영역에 표현식을 입력하고 저장을 눌러 변수 값을 변경할 수 있습니다.

변수의 현재 값을 바꾸기 위해 표현식을 편집하기 위한 대화 상자


변수 찾기

변수 보기의 변수 찾기 조치를 사용하여 찾고 있는 변수의 이름을 입력할 수 있습니다. 입력하는 대로, 변수 보기는 입력한 텍스트와 일치하는 다음 표시 가능 변수를 선택합니다. 또한 변수 찾기 대화 상자는 지금까지 입력한 텍스트와 일치하는 변수를 표시합니다.


Javadoc 첨부

이제는 다른 Javadoc 위치를 JRE 라이브러리의 각 JAR과 연관시킬 수 있습니다.

JRE 라이브러리마다 javadoc 위치를 표시하는 대화 상자


Java 컴파일러


새 Javadoc
컴파일러 설정

Javadoc 확인을 사용할 경우 다음을 수행하도록 구성할 수 있습니다.
  • @see@link 태그가 폐기된 요소를 참조할 경우 경고 표시
  • @see@link 태그가 표시될 수 없는 요소를 참조할 경우 경고 표시

설정은 Java > 컴파일러 > Javadoc 환경 설정 페이지에 있습니다.


사후 수정 표현식에 대한 효과가 없는 지정 진단

효과가 없는 지정에 대한 선택적 진단은 사후 수정 표현식이 동일 변수에 지정된 경우(예: i = i++;)를 발견합니다.

사후 수정 표현식 지정 그림


순차 버전 UID

serialVersionUID 필드의 선언이 누락된 직렬화 가능 클래스에 관한 새로운 선택적 컴파일러 진단이 있습니다.

Java > 컴파일러 > 오류/경고 > 가능한 프로그래밍 문제점에서 환경 설정을 발견할 수 있습니다.


내부 클래스에 대한 참조의 조기 발견

Java 빌드 경로(특성 > Java 빌드 경로 > 라이브러리)에서 라이브러리(및 프로젝트) 항목에 어노테이션을 붙여서 코드를 통해 직접 참조하지 않으려는 내부 패키지를 식별할 수 있습니다. 예를 들어, com.ibm.* 또는 com.sun.*과 같이 보통 J2SE 라이브러리에서 발견되는 벤더 특정 패키지에 의존하는 것은 일반적으로 바람직하지 않습니다. 액세스 제한사항은 빌드 경로 항목에서 포함 및 제외 규칙 조합으로 표현됩니다. 패턴 구문은 Ant 파일세트 표기법을 따르며 클래스 파일 경로에 일치됩니다. 예를 들어, 패턴 com/ibm/**을 제외 규칙으로 사용하면 액세스가 com.ibm 패키지 및 해당 서브패키지의 모든 클래스로 제한되며, 패턴 org/eclipse/**/internal/**을 제외 규칙으로 사용하면 내부 Eclipse 패키지에 대해 모든 클래스를 발견합니다. 포함 규칙을 제공할 경우, 이 규칙들에 의해 일치되는 모든 것이 발견되고 나머지 모든 것이 경계를 벗어난 것으로 간주됩니다.

Java > 컴파일러 > 오류/경고 > 폐기 및 제한된 API 환경 설정으로, 잘못된 참조에 오류 및 경고로 플래그가 표시되는지 여부를 제어할 수 있습니다(이 오류 및 경고는 기본적으로 금지된 참조에 의한 오류나 권장되지 않는 참조에 대한 경고입니다).

Java 빌드 경로 특성 대화 상자 그림


라이브러리 및 프로젝트에서의 액세스 규칙

액세스 규칙은 특정 유형에 대한 액세스를 명시적으로 허용/거부/권장하지 않기 위해 참조된 라이브러리 및 프로젝트에 대해 정의할 수 있습니다.

액세스 규칙이 있는 빌드 경로 마법사 그림


Java 편집기


개선된 폴딩 아이콘 및 캡션

Java 요소를 폴딩할 경우, Java 편집기의 나머지 행은 요소 이름을 포함하는 행입니다. 첫 번째 설명 행은 폴딩된 Javadoc 설명에 대해 표시됩니다. Java 편집기에 표시된 새로운 간단한 폴딩 아이콘은 이제 대체 및 구현 표시기와 다릅니다.

새 폴딩 아트워크 그림


헤더 설명 폴딩

헤더 설명 및 저작권 문장은 Java 소스 파일에서 폴딩할 수 있습니다.

폴딩된 헤더 설명을 보여주는 스크린샷


상속된 메소드 발생 표시

Java 편집기는 선택된 상위 유형에서 상속된 메소드를 구현하거나 대체하는 모든 메소드 선언을 강조표시할 수 있습니다. Java > 편집기 > 발생 표시 > 인터페이스를 구현하는 메소드 환경 설정을 참조하십시오.

구현 발생 표시 그림


새 발생 빠른 메뉴

발생 검색이 있는 컨텍스트 메뉴는 Ctrl+Shift+U를 눌러서 Java 편집기에서 열 수 있습니다.

참고: 이전 작동을 선호하는 사용자는 "파일에서 모든 발생 검색" 명령에 대해 위의 키 순서를 다시 지정할 수 있습니다.


Java 편집기에서 폐기된 클래스 구성원 강조표시

폐기된 클래스 구성원은 고급 강조로 표시됩니다.

폐기된 구성원 강조표시

이는 Java > 편집기 > 구문 색상 지정 환경 설정 페이지에서 구성할 수 있습니다.

Javadoc에서의 참조

Eclipse는 이제 doc 설명 안에 있는 Java 요소에 대한 참조를 인식합니다(즉, @see, @link, @linkplain, @throws, @exception, @param 또는 @value 태그). 이로서 참조된 Java 요소에 대한 링크와 풍선 도움말을 사용할 수 있습니다.

Javadoc에 풍선 도움말이 있는 Java 편집기 그림


개선된 빈 단어 완료

빈 단어에 대한 Java 코드 완료는 더 이상 완료 위치에서 볼 수 있는 모든 유형을 자동으로 제안하지 않습니다. 유형의 첫 번째 문자를 입력해야 완료 제안을 얻을 수 있습니다.

빈 단어에 대한 완료를 보여주는 Java 편집기 그림


Javadoc에 대한 도구 팁 설명

편집 > 도구 팁 설명 표시(F2)를 통해 표시되는 Javadoc가 SWT 브라우저 위지트(widget)에 표시됩니다.


행 이동 시 들여쓰기 조정

행 이동(Alt+Up/Down) 및 행 복사(Ctrl+Alt+Up/Down) 명령은 사용자가 Java 편집기 내에서 선택된 행을 이동하는 대로 행 들여쓰기를 자동으로 조정합니다.

개선된 Java 특성 파일 편집기

Java 특성 파일의 편집기가 탁월하게 개선되었습니다. 이 편집기는 구문 강조표시, 개선된 두 번 클릭 동작 및 별도의 글꼴 환경 설정을 제공합니다. 구문 강조표시 색상은 Java > 특성 파일 편집기 환경 설정 페이지에서 조정됩니다. 맞춤법 검사도 사용할 수 있으며 빠른 수정(Ctrl+1)을 사용하여 맞춤법 문제점을 수정할 수 있습니다.

Java 특성 파일 편집기 그림


구체화된 문자열에 대한 작업

Java 편집기에서 구체화된 문자열의 키에 대해 지체할 경우 연관된 구체화된 값이 풍선 도움말에 표시됩니다.

문자열 구체화 풍선 도움말 그림

해당되는 Java 특성 파일에서 항목을 직접 탐색하려면 Ctrl+클릭을 수행하십시오.

Java 편집기에서의 Ctrl+클릭 그림


특성 파일 편집기의 특성 키에서 해당되는 참조사항으로 탐색

탐색 > 열기(F3) 또는 Ctrl+클릭을 사용하여 특성 파일 편집기의 특성 키에서 탐색하여 키가 참조되는 코드에 다시 놓을 수 있습니다.

특성 키 하이퍼링크를 보여주는 그림


문자열 구체화 마법사는 새 메시지 번들을 지원함

문자열 구체화 마법사는 이 릴리스에서 새 기능인 Eclipse의 문자열 구체화 메커니즘을 지원합니다.

문자열 구체화 마법사 그림


Java 편집기에서와 유사한 코드 제안을 작성하기 위한 새 API

Java 유사 언어로 편집기를 구현합니까? Java 편집기에서 제안된 것과 유사한 사용자 고유의 코드 지원 제안을 작성하십시오. CompletionProposalCollector 인스턴스를 작성하여 Java 편집기와 같은 제안을 가져오거나 서브클래스화하여 사용자 고유 제안에서 혼합하십시오. CompletionProposalLabelProvider를 사용하여 이미지와 레이블을 바로 가져오고 CompletionProposalComparator를 사용하여 제안을 정렬하십시오.

패키지: org.eclipse.jdt.ui 플러그인의 org.eclipse.jdt.ui.text.java.


일반 Java 도구


새 열기 유형 대화 상자

Java 열기 유형 대화 상자가 여러 방식으로 개선되었습니다.
  • 이제는 선택할 수 있는 단일 목록만 있습니다.
  • 최근에 열린 유형 히스토리가 먼저 대화 상자에 표시됩니다. 패턴과 일치하는 작업공간 유형이 분리선 아래에 표시됩니다.
  • CamelCase 패턴 일치를 사용하면 적은 키스트로크로 유형을 취할 수 있습니다. 예를 들어 TZ는 TimeZone과 일치되고 IOOBE는 IndexOutOfBoundsException과 일치됩니다.
  • 대화 상자의 컨텐츠는 작업 세트에 따라 더 제한할 수 있습니다. 작업 세트는 대화 상자의 드롭 다운 메뉴에서 선택할 수 있습니다.

유형 대화 상자 열기

후드 아래에 주요 아키텍처 변경사항이 있습니다. 대화 상자에 표시된 유형은 이제 Java 검색 엔진 조회로 발견됩니다. 이렇게 하면 이전에 사용했던 메모리 고갈 접근 방식에 비해 일반적인 Eclipse 개발 작업공간에서 4-6MB가 절약됩니다.


많은 프로젝트가 있는 작업공간 구성

작업 세트를 맨 위 레벨 요소로 표시하는 새 모드를 사용하려면 패키지 탐색기의 보기 메뉴에서 표시 > 작업 세트를 사용하십시오. 이 모드에서는 많은 프로젝트를 포함하는 작업공간을 더 쉽게 관리할 수 있습니다.

작업 세트 모드의 패키지 탐색기

작업 세트가 표시되도록 구성하려면 패키지 탐색기의 보기 메뉴에서 작업 세트 선택을 사용하십시오. 대화 상자에서는 새 Java 작업 세트를 작성하고 표시되는 작업 세트와 순서를 정의할 수 있습니다. 작업 세트는 패키지 탐색기에서 끌어서 놓기 및 복사/붙여넣기를 사용하여 직접 다시 배열할 수도 있습니다.


새 Java 프로젝트 마법사에 대해 개선된 소스 폴더 페이지

Java 프로젝트 작성 마법사에서 개선된 소스 폴더 구성 페이지는 기존 소스에서 프로젝트를 작성하는 데 도움이 됩니다. 소스 폴더 항목을 정의하고, 트리에 직접 폴더를 포함/제외시키며 조치 결과를 바로 테스트할 수 있습니다.

새 소스 폴더 페이지


Java 프로젝트 설정 공유

각각의 Java 프로젝트는 컴파일러 옵션 및 코드 스타일에 대한 사용자 정의 설정을 전달할 수 있습니다. 이 설정은 프로젝트 자체에 저장되며 저장소에서 프로젝트를 로드(또는 갱신)할 때 자동으로 적용됩니다.

UI를 통해 Java 프로젝트 설정을 수정하면 자동으로 .settings 디렉토리의 파일에 설정이 기록됩니다. (설정 파일의 컨텐츠는 자동으로 생성되므로 직접 편집하기 위한 것이 아닙니다.)

공유 가능한 컴파일러 설정


프로젝트 특정 설정 탐색

프로젝트마다 구성할 수도 있는 설정의 환경 설정 페이지는 프로젝트 특정 환경 설정 페이지에 대한 링크를 제공합니다.

프로젝트별 설정 링크를 보여주는 스크린샷


.classpath 파일에 저장된 Javadoc 위치

JAR 파일과 클래스 폴더에 첨부된 Javadoc 위치는 .classpath 파일에 저장되므로 팀과 공유할 수 있습니다. 3.1이 시작될 때 배경 작업은 이전에 의도적으로 저장한 모든 위치를 .classpath 파일로 이주합니다.

Javadoc 위치는 '외부 Javadoc 열기'(CTRL + F2) 및 Javadoc 마법사에서 사용됩니다.


빠른 지원 및 빠른 수정에 대한 단축키

파일에서 이름 바꾸기로컬에 지정과 같은 자주 사용하는 빠른 지원 중 일부는 Ctrl+2 RCtrl+2 L로 직접 호출할 수 있습니다. 직접 호출을 지원하는 추가 빠른 수정에 대해서는 키 환경 설정 페이지를 확인하십시오.

빠른 지원 단축키가 있는 키 환경 설정 페이지


새로운 빠른 수정

몇몇 Java 컴파일러 옵션에 대해 새로운 빠른 수정사항이 추가되었습니다.
  • 순차 버전 ID 누락: 순차 버전 빠른 수정사항을 보여주는 스크린샷

새 빠른 지원

Java 편집기에 몇 가지의 빠른 지원(Ctrl+1)이 추가되었습니다.
  • 부울 표현식 되돌리기
    조건 반전 빠른 지원 그림
  • 조건식 반전:
    조건 반전 빠른 지원
    결과:
    반전 결과
  • 조건식(? 연산자)을 if-else문으로 변환 또는 그 반대로 변환
  • instanceof 확인 후 새 로컬 변수 도입:
    호출 전에 로컬에 캐스트 지정
    결과:
    빠른 지원 호출 후 결과
  • 단일 하위 문자열 리터럴 중단:
    문자열 선정 빠른 지원
    결과:
    '문자열 선정' 빠른 지원 결과

편집 메뉴에서 사용 가능한 리팩토링 실행 취소/다시 실행

리팩토링 실행 취소/다시 실행은 이제 편집 메뉴에서 사용 가능하며 별도의 리팩터 실행 취소/다시 실행 조치는 글로벌 메뉴 표시줄에서 제거되었습니다. 또한 리팩토링 실행 취소/다시 실행 조작은 이제 Java 편집기 실행 취소/다시 실행과 통합되어 편집기에서 더 투명한 실행 취소 스토리를 생성합니다. 예를 들어, 편집기 내에서 트리거된 리팩토링은 이제 편집기에서 Ctrl+Z를 눌러 실행 취소할 수 있습니다.

편집기 컨텍스트 메뉴의 실행 취소 조치


구성원 가시성 조정

리팩토링 명령인 메소드 이동, 구성원 유형을 새 파일로 이동, Static 구성원 이동, 풀업 및 푸시다운은 필요할 때마다 참조되는 필드, 메소드 및 유형의 가시성을 자동으로 변경합니다.

구성원 유형을 새 파일로 이동 리팩토링을 보여주는 스크린샷


메소드 이동 리팩토링

더 나은 인스턴스 메소드 이동 지원을 위해 리팩터 > 이동 명령이 확장되었습니다. 새 기능은 다음과 같습니다.
  • 호환성을 위한 위임 메소드를 작성할 수 있는 옵션
  • 참조되지 않는 필드에서도 이제는 메소드 대상을 지정할 수 있습니다.

인스턴스 메소드에 대한 이동 리팩토링을 보여주는 스크린샷


가능할 경우 상위 유형 사용 리팩토링

instanceof 표현식에서 발견되는 유형 발생을 갱신해야 하는지 여부를 지정하는 환경 설정으로 가능할 경우 상위 유형 사용 리팩토링이 확장되었습니다.

가능할 경우 상위 유형 사용 마법사를 보여주는 스크린샷


패키지 탐색기에서 경로 메뉴 빌드

Java 패키지 탐색기의 컨텍스트 메뉴에는 Java 프로젝트의 빌드 경로를 수정하기 위한 컨텍스트 조치를 제공하는 새 '빌드 경로' 메뉴 항목이 있습니다. 새 소스 폴더, 아카이브 및 라이브러리를 추가/제거하고 소스 폴더에 폴더 및 파일을 포함/제거할 수 있습니다.

빌드 경로 메뉴


새 Eclipse 기본 내장 포맷터 프로파일

Eclipse의 기본 3.0 코드 포맷터 프로파일을 Java 변환이라고 하지만, 이 프로파일을 사용하는 파일 형식화에는 들여쓰기에 공백 대신 탭을 사용합니다. 들여쓰기에 탭을 사용하고 계속된 기본 포맷터 옵션을 반영하는 Eclipse라고 하는 새 프로파일이 추가되었습니다. 진짜 Java 규칙 설정을 사용하려면 Java > 코드 스타일 > 포맷터 환경 설정 페이지를 사용하여 포맷터 프로파일을 Java 규칙으로 전환하면 됩니다.

여러 개의 자동 줄 바꾸기 설정을 한 번에 변경

Java 코드 포맷터 페이지를 통해 트리에서 여러 개의 설정을 선택한 후 설정을 변경하여 여러 개의 자동 줄 바꾸기 설정을 한 번에 변경할 수 있습니다.

코드 포맷터 자동 줄 바꾸기 페이지

코드 포맷터 설정은 Java > 코드 스타일 > 포맷터 환경 설정 페이지에 있습니다.


혼합된 들여쓰기 설정

Java 포맷터 환경 설정을 사용하여 들여쓰기 크기와는 독립적으로 탭 크기를 구성할 수 있습니다(포맷터 프로파일에서 들여쓰기 탭 참조).

Java 포맷터 환경 설정 페이지. 포맷터 프로파일의 '들여쓰기' 탭에서 들여쓰기 환경 설정을 설정하십시오.

예를 들어, 탭 크기8로 설정하고 들여쓰기 크기4로 설정하여 소스를 네 개의 공백으로 들여쓰기 하십시오. 탭 정책혼합으로 설정할 경우 모든 두 개의 들여쓰기 단위는 탭 문자로 바뀝니다.

포맷터 프로파일은 Java > 코드 스타일 > 포맷터 환경 설정 페이지에서 구성할 수 있습니다.


실패 테스트 재실행 우선

전달하기 전에 실패 테스트를 다시 실행할 수 있는 새 조치가 JUnit 보기에 있습니다.

최종 실패 테스트 재실행