Java

Java 12

IntelliJ IDEA 2018.3에서 Java 12가 조기 지원됩니다. IDE에서 원시 문자열 리터럴(JEP 326)을 미리 사용해 보고 수많은 유용한 검사 및 빠른 수정 기능을 이용해 보세요. 예를 들어 여러 줄의 문자열 리터럴을 원시 문자열 리터럴로 변환하거나 그 반대로 변환하고, 맨 앞 또는 맨 끝에 오는 중복 백틱(')을 탐지하는 등 다양한 작업을 수행할 수 있습니다. 자세히 알아보기

법적 고지 읽어보기

Java 12는 아직 출시되지 않았습니다. Java 12 지원을 사용하려면 베타 버전 Java 사양의 법적고지에 동의해야 합니다. Java 커뮤니티 프로세스(JCP)에 따라 개발된 조기 테스트 사양의 구현은 테스트 및 평가 목적으로만 사용하도록 제작되었으며 JCP의 사양과 호환되지 않습니다.

중복을 더 정확하게 탐지

이제 IntelliJ IDEA는 변수 이름이 다른 등의 매우 복잡한 경우에도 중복을 빠르게 찾아낼 수 있습니다. 중복 항목은 Diff 뷰어에 표시되므로 양쪽에 나란히 두고 비교할 수 있습니다.

Java Stream API 개선 사항

IntelliJ IDEA는 곧이어 진행되는 호출 전에 불필요한 정렬된 호출이 발생하는 상황을 탐지합니다. 이러한 경우 여느 때와 마찬가지로 불필요한 정렬된 호출을 제거하기 위한 빠른 수정이 제공됩니다.

데이터 흐름 개선 사항

Condition is covered by further condition(조건이 다음 조건에 포함되는 경우 탐지)이라는 새로운 데이터 흐름 기반 검사가 새로 추가되었습니다. 이 검사는 처음 조건이 다음 조건에 포함되어 있어 필요 없는 경우를 탐지합니다. IntelliJ IDEA는 그러한 불필요한 조건을 제거하기 위해 빠른 수정을 제공합니다.

불필요한 검사 제외 사용 위치

IntelliJ IDEA는 @SuppressWarning 주석 또는 // noinspection 줄 주석 또는 /** noinspection */ JavaDoc 주석의 불필요한 사용 위치를 탐지합니다. 검사가 제외되어 더 이상 연관된 메서드 본문, 클래스 또는 구문에서 경고를 처리하지 않는 경우 IDE에서 경고를 표시할 뿐만 아니라 불필요한 주석을 제거하기 위한 빠른 수정을 제공합니다.

에디터

여러 줄 TODO 주석

IntelliJ IDEA 2018.3에서 여러 줄 TODO 주석이 지원되어 이제 첫 번째 및 이어지는 모든 TODO 주석 줄이 에디터에 강조 표시되고 TODO 도구 창에 나열됩니다. 간단히 여러 줄 TODO 주석의 두 번째 줄부터 들여쓰기를 추가하기만 하면 IDE에서 해당 주석을 일반 주석과 구분합니다.

특정 파일 및 폴더의 코드 서식 지정 중지

특정 파일에서 서식 지정, import 문 최적화, 코드 재배열 등 서식 지정이 묵시적/명시적으로 관여된 모든 작업의 설정을 해제할 수 있습니다. 간단히 원하는 범위를 생성한 다음, 서식이 전혀 지정되지 않은 파일을 그 범위에 추가하기만 하면 됩니다.

새로운 들여쓰기 상태 표시줄

IntelliJ IDEA는 새로운 들여쓰기 상태 표시줄에서 현재 파일의 들여쓰기 크기를 표시합니다. 파일의 들여쓰기가 프로젝트의 현재 설정과 맞지 않는 경우, 별표가 들여쓰기 뷰에 추가됩니다. 그리고 상태 표시줄 팝업에서 현재 들여쓰기를 제어하는 액션을 선택할 수 있습니다.

EditorConfig 지원 개선 사항

EditorConfig 파일에 구문 강조 표시 및 코드 완성이 제공됩니다. 새로운 들여쓰기 상태 표시줄 팝업을 통해 사용 중인 EditorConfig 파일로 간편하게 이동할 수도 있습니다.

버전 관리

GitHub Pull 요청

IntelliJ IDEA 에서 GitHub pull 요청이 조기 지원됩니다. 새로운 GitHub Pull Requests(GitHub pull 요청) 도구 창에서 GitHub 저장소의 모든 pull 요청을 미리 확인하세요. Diff를 사용하여 변경 내용을 미리 보거나 컨텍스트 메뉴를 통해 pull 요청에서 로컬 브랜치를 생성한 다음 일반 브랜치로서 병합할 수 있습니다.

'여기까지의 기록' 액션으로 전체 기록 표시 가능

이전에 History up to Here(여기까지의 기록) 액션은 선택한 커밋까지의 파일 기록만 표시했으나 이제 도구 모음에서 Show All Branches(모든 브랜치 표시)로 전환하면 선택한 커밋 이후에 파일에 적용된 변경 내용도 표시합니다. 이 기능은 변경 내용을 확인하기 어려운 삭제된 파일의 경우에 특히 유용합니다.

VCS 로그에서 더욱 자유롭게 이동

커밋 해시에서 VCS 로그 탭의 커밋으로 이동한 후에 또는 Go to hash/branch/tag(해시/브랜치/태그로 이동) 액션을 사용한 후에, VCS 로그에 있는 동안 Forward(이전) 및 Back(다음) 이동 액션을 사용할 수 있습니다. 하위/상위 커밋으로 이동하려면 왼쪽/오른쪽 방향키를 사용하세요.

공백 무시

이제 IntelliJ IDEA에서 병합하는 동안 발생한 공백의 변경 내용을 무시할 수 있습니다. Merge Revisions for(다음에서 수정 버전을 병합) 대화상자를 보면, 병합 시 발생한 공백의 변경 내용을 숨기거나 잘라낼 수 있는 새로운 Ignore(무시) 드롭다운 메뉴가 있습니다.

한 Git 브랜치에서 다른 브랜치로 파일을 복사

IntelliJ IDEA 2018.3에서는 Compare branches(브랜치 비교) 대화상자의 Files(파일) 탭에 새로 추가된 편리한 Get from Branch(브랜치에서 가져오기) 액션을 이용해 Git 브랜치에서 다른 브랜치로 파일을 쉽게 복사할 수 있습니다.

커밋 대화상자의 브랜치 이름

파일을 커밋하려는 대상 위치의 브랜치 이름이 Commit(커밋) 대화상자 내에 바로 표시됩니다. 이 기능은 Git, Mercurial, SVN용으로 구현되었습니다.

파일 기록 탭에서 차이점 미리보기

이제 Diff Preview(Diff 미리보기)Version Control(버전 관리) 도구 창의 File History(파일 기록) 탭에서 이용할 수 있습니다.

Git 하위 모듈 지원

IntelliJ IDEA 2018.3에서 Git 하위 모듈을 지원합니다. 프로젝트를 복제하거나 업데이트하고 변경 내용을 커밋하며 Diff를 확인하고 충돌 문제를 해결하세요.

검색 및 바꾸기

새로운 전체 검색 기능

IntelliJ IDEA 2018.3에는 프로젝트 및 IDE를 탐색하는 향상된 방법이 새로 추가되었습니다. 새로워진 Search Everywhere(전체 검색) 기능을 반갑게 맞아주세요. 이제 나머지 탐색 대화상자인 Find Action(액션 검색), Go to class(클래스로 이동), Go to file(파일로 이동), Go to symbol(심볼로 이동)이 모두 Search Everywhere에 포함되어 단순한 전체 검색 기능 이상을 제공합니다. 단, 이러한 모든 탐색 대화상자는 모두 예전처럼 각각 고유한 키보드 단축키를 통해 계속 이용할 수 있습니다.

경로에서 검색 기능을 이용해 여러 줄의 코드 부분 검색

Find in Path(경로에서 검색)/Replace in Path(경로에서 바꾸기) 대화상자에서 여러 줄로 구성된 코드 부분을 검색하고 바꾸기할 수 있습니다. 이제 정규식을 사용하여 여러 줄 검색을 수행할 필요가 없습니다.

새로운 구조 검색 및 바꾸기 대화상자

IntelliJ IDEA 2018.3은 효율성이 향상되고 업데이트된 Structural Search & Replace(구조 검색 및 바꾸기) 대화상자를 제공합니다. 이제 자동 완성 기능을 검색 필드의 사전 정의된 템플릿에서도 이용할 수 있습니다. 또한 검색 아이콘 아래의 드롭다운 메뉴에서 검색 기록을 확인할 수 있습니다. 범위 구성도 더욱 간편해지고 유연해졌습니다. 복잡했던 Edit Variables(변수 편집) 양식도 업데이트된 대화상자의 필터 창으로 교체되었습니다.

플러그인 환경 설정 페이지

Preferences(환경 설정)(Settings(설정))에 있는 Plugins(플러그인) 페이지가 업데이트되어 플로그인 관리, 설치, 제거, 업데이트 작업이 수월해졌습니다. 이제 플러그인을 이름뿐만 아니라 태그로도 검색할 수 있습니다. 또한 검색 결과를 다운로드 횟수, 이름, 평점, 추천수 또는 업데이트별로 분류할 수 있어 훨씬 편리해졌습니다.

무엇이든 실행

무엇이든 실행

IntelliJ IDEA 2018.3에 새로운 Run Anything(무엇이든 실행) 액션(Ctrl 두 번)을 통해 명령어를 실행할 수 있는 새로운 중앙집중식 방법이 추가되었습니다. 이 새로 추가된 액션을 사용하면 Maven 및 Gradle 등의 실행 구성을 시작하거나 Gradle 작업 또는 터미널 명령어를 실행할 수 있습니다.

무엇이든 디버깅

간단히 Shift 키를 누르면 Run Anything(무엇이든 실행) 대화상자를 Debug Anything(무엇이든 디버깅) 모드로 전환할 수 있습니다.

Kotlin

IntelliJ IDEA에 포함된 Kotlin 플러그인이 v1.3 버전으로 업데이트되었습니다.

Kotlin 1.3 지원

아주 최근에 Kotlin에는 언어, 도구, 라이브러리와 관련된 주요 릴리스가 출시되었습니다. IntelliJ IDEA에서는 Kotlin 프로젝트를 Kotlin 1.3으로 이전하고 이전 버전의 코드에 필요한 모든 변경을 수행하여 코드가 최신 라이브러리 상태에 부합하도록 만들 수 있습니다.

다중 플랫폼 프로젝트 지원 개선 사항

Kotlin 1.3에서는 다중 플랫폼 프로젝트의 모델이 완벽하게 재작업되어 표현 및 유연성이 향상되고 공통 코드를 더 쉽게 공유할 수 있습니다. IntelliJ IDEA는 가장 일반적인 사용 사례를 담은 프로젝트 예시 모음을 제공합니다.

새로운 Kotlin 검사 및 빠른 수정 기능

IntelliJ IDEA 2018.2 릴리스부터 Kotlin 플러그인에는 효과적인 코드 작성에 크게 도움이 되는 30여 가지의 새로운 검사, 빠른 수정, 인텐션이 포함되어 있습니다.

Spring 및 Spring Boot

Spring Boot 2.1 지원

IntelliJ IDEA 2018.3 fully supports the recently released Spring Boot 2.1. Configuration values annotated with @DataSize are validated using the default @DataSizeUnit, if specified.

Spring Initializr 개선 사항

Spring Initializr를 사용하는 프로젝트를 생성하는 경우, IntelliJ IDEA가 적절한 플러그인 설치 및 사용 설정을 제안하여 선택된 모든 기술이 확실히 지원되도록 합니다.

Kotlin용 JPA 및 Spring Data 지원 향상

이제 IntelliJ IDEA가 JPQL을 쿼리 문자열에 자동으로 삽입하고 엔티티 이름 및 매개변수에 코드 완성 기능을 제공합니다. Spring Data 인터페이스를 Kotlin으로 작성할 수 있고 IntelliJ IDEA가 사용자가 사용하는 엔티티를 이해합니다. 또한 메서드 이름에는 스마트 완성 기능이, 매개변수에는 빠른 수정 기능이 제공됩니다.

접근성

고대비 테마

JetBrains는 모든 사용자에게 탁월한 환경을 제공하기 위해 노력합니다. IntelliJ IDEA 2018.3에는 새로운 고대비 테마 등, 접근성과 관련된 몇 가지 중요한 개선 사항이 도입되었습니다.

향상된 스크린 리더 지원

스크린 리더 지원이 향상되어 스크린 리더가 줄 번호, VCS 주석, 디버거, 여백 아이콘을 읽을 수 있게 되었습니다.

JVM 디버거

Java 프로세스에 연결

디버그 에이전트 없이 시작되었던 Java 프로세스에 연결해 보세요. 프로세스에 연결하면 현재 스레드의 상태와 변숫값을 확인하고 메모리 뷰를 사용할 수 있습니다.

디버거를 로컬 프로세스에 연결하려면, Run(실행) 도구 창에 있는 편리한 새로운 Attach Debugger(디버거 연결) 액션을 사용하면 됩니다.

원격 연결 구성을 자동으로 재시작

원격 프로세스를 디버깅하는 동안 IDE에서 구성을 자동으로 다시 시작할 수 있습니다. 원격 디버그 구성을 위한 새로운 Auto restart(자동 재시작) 옵션을 사용 설정하기만 하면 됩니다.

원격 JVM에서 비동기 스택 추적

IntelliJ IDEA 2018.3 now supports async stack traces in remote JVMs. To start using the agent remotely:

  • /lib/rt/debugger-agent.jar을 원격 시스템으로 복사합니다.
  • -javaagent:debugger-agent.jar을 원격 JVM 옵션에 추가합니다.

이제 Async Annotations Configuration(비동기 주석 구성) 대화상자에서 사용자 지정 Async annotations(비동기 주석)를 정의할 수 있습니다.

모든 중단점 제거 액션

IntelliJ IDEA 2018.3에는 프로젝트 또는 파일 내 모든 중단점을 제거하는 편리한 액션이 새로 추가되었습니다. 이러한 액션에 대한 사용자 지정 단축키는 Preferences(환경 설정)/Settings(설정) | Keymap(단축키) | Debugger Actions(디버거 액션)에서 설정할 수 있습니다.

Maven

이제 Maven에 모든 빌드 및 실행 액션을 위임할 수 있습니다. Preferences(환경 설정)/Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Build Tools(빌드 도구) | Maven | Runner(러너)로 이동하여 새로운 Delegate IDE build/run actions to maven(Maven에 IDE 빌드/실행 액션 위임) 옵션을 선택하세요.

터미널

IntelliJ IDEA 2018.3에서는 임베디드 터미널이 향상되어, 프로젝트나 IntelliJ IDEA를 닫을 때 터미널 탭 이름, 현재 작업 디렉터리, 셸 기록이 저장됩니다.

또한 터미널 탭이 다른 도구 창의 탭과 유사하게 보이도록 새롭게 디자인되었습니다.

실행 구성

Java 실행 구성에서 매크로 사용

이제 'Application' 및 'npm' 실행 구성에서 매크로를 사용할 수 있게 되었습니다. Program arguments(프로그램 인수) 필드에서 사전 정의된 매크로를 입력할 수 있습니다.

텍스트 파일을 입력 내용으로 사용 가능

텍스트 파일 또는 로그 파일을 입력 내용으로 사용하려는 경우, 간단히 Run/Debug Configurations(실행/디버그 구성) 대화상자에서 Redirect input from(다음에서 입력된 항목 재전송) 옵션을 선택한 다음, 입력 데이터가 있는 파일 경로를 지정하세요.

실행 구성을 기본적으로 단일 인스턴스로만 실행

이제 실행 구성이 기본적으로 단일 인스턴스로만 실행됩니다. 동일한 실행 구성의 인스턴스를 여러 개 실행하려는 경우 Run/Debug Configurations(실행/디버그 구성) 대화상자에서 Allow running in parallel(동시 실행 허용) 옵션을 사용 설정할 수도 있습니다.

JavaScript 및 TypeScript

JavaScript에서 자동 import 문 추가

JavaScript 파일에서 프로젝트 종속성의 심볼에 대한 import 문을 IntelliJ IDEA가 추가할 수 있습니다. 이 기능은 패키지 내에 TypeScript 정의 파일이 있거나 ES 모듈로서 작성된 소스가 포함되어 있으면 사용할 수 있습니다.

향상된 Angular 지원

Angular 템플릿의 변수, 파이프, 비동기 파이프, 템플릿 참조 변수에 지원되는 코드 완성 및 Go to definition(정의로 이동) 기능이 더욱 정확해졌습니다.

Node.js worker thread 지원

IntelliJ IDEA에서 Node.js 작업자를 디버그할 수 있습니다. Node.js 10.12 이상과 --experimental-worker 플래그를 사용 중인지만 확인하세요. IDE에서 작업자 스레드의 API에 코드 완성을 제공합니다.

ESLint 및 TSLint의 유연성 향상

Linter의 구성 파일의 심각도 수준을 재정의하고 Linter의 모든 문제를 오류 또는 경로로서 확인할 수 있습니다.

TSLint 오류의 경우, Alt-Enter와 오른쪽 방향키를 차례로 누릅니다. 그러면 특수한 TSLint 사용 중지 주석을 이 규칙에 추가할 수 있는 옵션이 나옵니다.

Kubernetes

Helm 리소스 파일 지원

IntelliJ IDEA는 Helm 리소스 템플릿 파일의 문제를 올바르게 해결하고 JetBrains의 유명한 편집 지원 기능인 검사 및 빠른 수정은 물론, 코드 완성, 이름 변경 리팩터링을 제공합니다.

Helm 리소스 파일 탐색

차트의 values.yaml 파일에서 값의 사용 위치로부터 해당 값의 선언으로 이동할 수 있습니다. 여백 아이콘을 사용하면 라벨 정의 및 해당 라벨의 선택자 사이를 이동할 수 있습니다. 또한 values.yaml 파일에서 재정의되거나 재정의하는 값으로 이동하는 데 사용할 수 있는 새로운 여백 아이콘도 제공됩니다.

Helm 템플릿 결과 미리보기

Diff에서 렌더링되는 Helm 템플릿 결과를 미리 볼 수 있습니다. 간단히 컨텍스트 메뉴에서 새로운 Kubernetes | Helm Template(Helm 템플릿) 액션을 선택하면 됩니다.

Helm 종속성 업데이트

새로운 Helm Dependency Update(Helm 종속성 업데이트) 액션을 사용하여 외부 tgz 종속성을 다운로드하거나 기존 종속성을 업데이트하고 프로젝트 트리에 표시할 수 있습니다.

데이터베이스 도구

Cassandra 데이터베이스

이 릴리스에는 또 다른 NoSQL 데이터 베이스인 Cassandra가 추가되었습니다.

SQL 코드 완성 개선 사항

이제 GROUP BY의 집계되지 않은 필드, SELECT/MERGE/INSERT INTO 테이블 변수에 나열된 모든 열, 저장된 프로시저의 이름 지정된 매개변수, SUM() 및 AVG()의 숫자 필드, FILTER(WHERE) 절, SQLite의 필드 유형에서 코드 완성 기능을 이용할 수 있습니다.

테이블 별칭 삽입

Introduce table alias(테이블 별칭 삽입) 액션을 사용해 테이블에서 별칭을 바로 생성할 수 있습니다. 이렇게 생성된 별칭은 자동으로 해당 테이블 이름의 사용 위치를 교체합니다.

단일 연결 모드

각각의 새로운 콘솔은 새로운 연결을 의미합니다. 그러나 IntelliJ IDEA 2018.3에서는 데이터 소스에 단 하나의 연결만 사용하고 모든 콘솔이 이 단일 연결을 사용하도록 설정할 수 있습니다. 데이터베이스 트리에서 모든 임시 객체를 확인할 수 있으며 서로 다른 콘솔에서 동일한 트랜잭션을 사용할 수도 있습니다. 이 기능을 켜려면 Data source properties(데이터 소스 프로퍼티) | Options(옵션) | Single connection mode(단일 연결 모드)로 이동하세요.