IntelliJ IDEA 2021.2의 새로운 기능

IntelliJ IDEA 2021.2에는 Java용 프로젝트 전체 분석 기능, 변경 내용 저장 시 트리거되는 새로운 액션, Maven 및 Gradle 종속성을 관리할 수 있는 새로운 UI 및 기타 유용한 업데이트가 포함됩니다. 새 기능의 주요 내용을 자세히 알아보려면 아래의 동영상 개요를 시청하거나 이 글을 계속 읽어보세요!

주요 업데이트

Java 프로젝트용 프로젝트 전체 분석 기능
Ultimate

이 릴리스에서는 컴파일 전에 전체 프로젝트에서 오류를 추적하는 새로운 기능인 프로젝트 전체 분석을 도입했습니다. Problems(문제) 도구 창에서 해당 아이콘을 클릭하면 모든 코드 변경에 대해 수행되는 검사가 활성화됩니다. 프로세스가 끝나면 IDE는 전체 프로젝트를 검사해야만 탐지되는 오류를 포함하여 발견된 모든 오류를 표시합니다.

이 기능은 중소규모의 프로젝트에서 작동합니다.

저장 시 액션

코드 서식 다시 지정 및 import 문 최적화 등, 프로젝트 저장 시 실행되는 다양한 액션이 추가되었습니다. 이 모든 액션은 사용하기 편리하도록 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Actions on Save(저장 시 액션)에 모아 두었습니다. 여기에서 필요한 체크박스를 선택하면 액션을 간편하게 구성할 수 있습니다. 액션 설정을 더 정밀하게 조정하려는 경우, 액션을 간단히 마우스로 가리킨 다음, 구성 링크를 클릭하세요.

Maven 및 Gradle 종속성을 관리할 수 있는 새로운 UI

Both IntelliJ IDEA Community Edition and IntelliJ IDEA Ultimate now include Package Search, a powerful new interface to manage your project dependencies. Package Search를 사용하면 새 종속성을 검색한 후 간편하게 추가하고, 기존 종속성을 관리할 수 있습니다. 이 새로운 플러그인에는 업데이트 사용 가능 여부를 포함해 각 종속성에 관한 정보가 표시됩니다

또한 사용 가능한 업데이트를 에디터에서 바로 적용할 수 있는 검사 기능도 추가되었습니다.

현재 Package Search는 Maven 및 Gradle 프로젝트에서 작동합니다. Scala 플러그인 EAP 버전에서는 SBT 프로젝트에 대한 실험적 지원도 제공됩니다. 이에 관한 자세한 내용은 여기에서 확인할 수 있습니다.

에디터

코드 검사 및 빠른 수정 설명 업데이트

코드 검사 및 빠른 수정 설명 업데이트

JetBrains의 검사 및 빠른 수정은 코딩에 유용할 뿐만 아니라 자세히 설명되어 있습니다. 업데이트된 설명에서는 검사에서 제안하는 변경 및 그 이유에 관해 설명합니다. 일부 검사에서는 사용 사례도 함께 제공됩니다. 업데이트된 내용을 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Inspections(검사)에서 확인해보세요.

다이어그램 구조 뷰

다이어그램 구조 뷰

선택된 블록 및 그 주변 블록을 간략하게 미리 볼 수 있는 다이어그램 맵이 포함된 Structure(구조) 뷰가 추가되어 다이어그램의 정보가 더 풍부해졌습니다. 이 새로운 Structure 뷰에서는 크기 변경, 캔버스 이동, 돋보기 모드, 레이아웃 변경 및 이미지로 내보내기 기능이 지원됩니다.

여러 개의 저작권 년도 포함 가능

이제 프로젝트 저작권 고지에 프로젝트 생성 년도와 현재 버전 년도를 모두 포함할 수 있습니다. 두 날짜를 포함하는 업데이트된 템플릿은 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Copyright(저작권) | Copyright profile(저작권 프로파일)에서 사용할 수 있습니다.

향상된 Markdown 지원

IntelliJ IDEA 2021.2에서는 Markdown 지원에 대한 유용한 업데이트를 제공합니다. .md 파일과 다른 형식(.html, .docx, .pdf) 간에 변환할 수 있으며, 서식 지정 목록에 있었던 문제가 해결되어 이제 Enter, (Shift) Tab, Reformat(서식 다시 지정) 액션이 모두 올바르게 작동합니다. 이미지 크기를 변경하고 설명을 추가하고, 파일 경로가 있는 HTML 태그를 작성하는 대신 이미지를 드래그 앤 드롭할 수 있습니다. 또한 가장 인기 있는 액션을 모두 모아놓은 툴바가 새롭고 가벼워졌으며, 중요한 작업 시 주의가 분산되지 않도록 선택 시에만 표시됩니다.

사용자 경험

Eclipse 프로젝트에 빠르게 액세스

Eclipse 프로젝트에 빠르게 액세스

IntelliJ IDEA는 사용자의 컴퓨터에 로컬로 저장된 Eclipse 프로젝트를 탐지하여 시작 화면에서 열 수 있도록 합니다. 처음으로 IDE를 실행하는 경우 Open existing Eclipse projects(기존 Eclipse 프로젝트 열기) 옵션을 선택하세요. 처음이 아니라면 자동으로 탐지된 Eclipse 프로젝트가 최근 프로젝트 중 전용 노드에 표시됩니다.

고급 설정

고급 설정

IntelliJ IDEA에서 일부 사용 사례별 옵션을 구성해야 하는 경우, Preferences(환경 설정)/Settings(설정)에 있는 새로운 Advanced Settings(고급 설정) 노드에서 이를 수행할 수 있습니다. 예를 들어 Distraction-free(집중력 분산 방지) 모드에서 왼쪽 여백을 추가하거나 Comment with Line Comment(줄 주석으로 주석 추가) 액션을 사용한 후에 캐럿을 아래로 이동하도록 설정할 수 있습니다.

드래그 앤 드롭으로 도구 창 정리

드래그 앤 드롭으로 도구 창 정리

도구 창을 드래그 앤 드롭하여 기본 IDE 창 내 또는 별도의 창에서 원하는 위치로 이동하기가 쉬워졌습니다. 도구 창의 이름 표시줄을 클릭해 계속 누른 상태로 드래그한 후 강조 표시된 위치 중 어느 곳에든 드롭하면 됩니다.

캐시 및 로그 자동 정리

캐시 및 로그 자동 정리

IntelliJ IDEA는 마지막 업데이트 후 180일이 지난 캐시와 로그 디렉터리를 자동으로 정리합니다. 이 프로세스는 시스템 설정 및 플러그인 디렉터리에 영향을 주지 않습니다. Help(도움말) | Delete Leftover IDE Directories(남은 IDE 디렉터리 삭제)에서 프로세스를 수동으로 시작할 수도 있습니다.

누락된 플러그인 알림

누락된 플러그인 알림

프로젝트에서 플러그인을 통해 IntelliJ IDEA에서 작동하는 프레임워크를 사용하는 경우, IDE는 사용자에게 알리고 이 알림을 통해 플러그인을 바로 활성화할 수 있도록 제안합니다.

환경 설정/설정에 추가된 새로운 탐색 옵션

환경설정/설정에 추가된 새로운 탐색 옵션

Preferences(환경 설정)/Settings(설정) 창의 오른쪽 상단 모서리에 화살표가 추가되어 탐색을 간편하게 수행할 수 있습니다. 이 화살표를 이용하면 열어본 섹션을 앞뒤로 빠르게 이동할 수 있습니다.

JetBrains Toolbox App으로부터의 알림 업데이트

JetBrains Toolbox App으로부터의 알림 업데이트

JetBrains Toolbox App에 표시되는 모든 제품 업데이트를 IDE에서 알려줍니다. 새 버전을 다운로드할 수 있는 경우, IntelliJ IDEA에서 바로 업그레이드할 수 있습니다. 이 기능을 사용하려면 JetBrains Toolbox App 1.20.8804 또는 이후 버전이 필요합니다.

절전 모드에 빠르게 액세스

절전 모드에 빠르게 액세스

IntelliJ IDEA에는 Power Save(절전) 모드가 있어 Notebook의 배터리 수명을 늘릴 수 있습니다. 이제 이 모드에 쉽게 액세스할 수 있도록 상태 표시줄에서 이 모드를 관리할 수 있게 만들었습니다. 상태 표시줄을 마우스 오른쪽 버튼으로 클릭한 후 Power Save Mode(절전 모드)를 선택하면 IDE의 오른쪽 하단 모서리에 새로운 아이콘이 표시되는 것이 보입니다. 이 모드를 켜거나 끄려면 언제든지 이 아이콘을 클릭하세요.

접근성 업데이트

IntelliJ IDEA 2021.2에는 macOS에서 스크린 리더 모드를 활성화한 상태로 코딩할 수 있도록 지원하는 여러 가지 업데이트가 포함됩니다. 사용 가능한 코드 완성 제안, 선택한 콤보 박스 및 콤보 박스 목록의 내용, Search Everywhere(전체 검색)에서의 쿼리 결과를 음성으로 지원합니다.

향상된 UI 반응 속도

JetBrains는 UI 반응 속도를 개선하고 예기치 못한 멈춤 현상을 줄이는 방법을 계속해서 모색하고 있습니다. 이번 릴리스에서는 컨텍스트 메뉴, 팝업, 툴바 사용 시 UI가 차단되는 현상을 해결했습니다. 또한 다른 상황에서 멈춤이 발생하지 않도록 색인이 필요한 특정 작업을 UI 스레드 밖으로 옮겼습니다.

Java

가시성 기반 색상 설정

가시성 기반 색상 설정

Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Color Scheme(색 구성표)에서 Visibility(가시성) 노드를 펼치면 public, protected, private Java 멤버(메서드, 필드, 클래스)의 색상 설정을 구성할 수 있게 됨에 따라 멤버를 구별하기가 더 쉬워졌습니다.

새 JavaFX 프로젝트 마법사

새 JavaFX 프로젝트 마법사

새 JavaFX 프로젝트를 구성하기가 한결 간편해졌습니다. 단 두 단계만 거치면 프로젝트 SDK, 언어, 원하는 빌드 시스템, 테스트 프레임워크, 1개 이상의 자주 사용하는 라이브러리를 간략한 설명과 함께 추가할 수 있습니다.

새로운 검사 기능

데이터 흐름 분석에서 특정 사용 사례를 해결할 수 있는 다양한 새로운 검사가 추가되었습니다. 예를 들어 update 메서드에서 부동 소수점 범위나 컬렉션 크기를 추적하는 검사가 있습니다. 새로운 Write-only object(쓰기 전용 객체) 검사에서는 사용자가 객체를 수정하면서도 프로젝트 및 표준 라이브러리에 정의된 일부 사용자 지정 클래스에 대해 해당 객체를 전혀 쿼리하지 않는 경우 경고합니다.

기타 새로 추가되거나 개선된 검사에 관한 자세한 내용은 블로그 게시물을 확인하세요.

Kotlin

자동 ML 코드 완성

자동 ML 코드 완성

2021.2 버전부터 Kotlin 코드 완성은 머신러닝 메커니즘을 기반으로 기본적으로 작동합니다. 유사한 상황에서 수천 명의 실제 사용자가 선택한 사항이 IDE에서 고려되므로 코드 제안의 우선순위가 더 신중하게 지정됩니다. ML 지원 코드 완성은 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Code Completion(코드 완성)에서 구성할 수 있습니다.

코드 분석 완료 전에 테스트 실행

코드 분석 완료 전에 테스트 실행

이전에는 테스트를 실행하려면 코드 분석이 완료되기를 기다려야 했습니다. 현재 버전에서는 여백에 있는 Run Test(테스트 실행) 아이콘을 클릭하여 파일을 연 후에 바로 테스트를 실행할 수 있습니다.

디버거 업데이트

디버거 업데이트

디버거의 코루틴 에이전트에 유용한 개선 사항과 업데이트가 몇 가지 도입되었습니다. 이제 코루틴 에이전트는 Debug(디버그) 도구 창의 Coroutine(코루틴) 탭에서 사용할 수 있습니다. 코루틴 에이전트는 kotlinx.coroutines에 종속성이 있는 Java 실행 구성과 Spring 및 Maven 실행 구성에서도 작동합니다.

일시 중지 지점을 통과한 후 지역 변수가 사용되지 않고 Debugger(디버거) 도구 창의 Variables(변수) 뷰에서 사라지는 문제가 수정되었습니다.

색인 생성 중 액션 실행 가능

색인 생성 중 액션 실행 가능

1분도 낭비하지 마세요! IDE에서 프로젝트의 색인이 생성되는 동안 애플리케이션을 실행하고 디버그할 수 있습니다. 색인이 생성되는 동안 Run/Debug Configuration(실행/디버그 구성)에 연결된 버튼이 활성화됩니다.

WSL 2 및 대상 실행 기능을 Kotlin에 지원

WSL 2 및 대상 실행 기능을 Kotlin에 지원

IntelliJ IDEA 2021.1에서는 WSL 2 지원 및 Run Targets(대상 실행) 기능이 도입된 바 있습니다. 2021.2 버전에서는 이 기능을 Kotlin에서 사용할 수 있습니다.

컬렉션 타입에서의 호출 체인을 단순화하는 검사

컬렉션 타입에서의 호출 체인을 단순화하는 검사

이번 릴리스에서는 컬렉션 내 체인에서 메서드를 호출할 때 구문을 단순화하고 여러 호출을 하나의 호출로 결합할 수 있는 유용한 검사가 추가되었습니다.

buildString 변환을 위한 인텐션 액션

buildString 변환을 위한 인텐션 액션

이전 버전에서는 코드를 사용자 지정하기 위해 buildString을 수동으로 입력해야 했습니다. 새로운 인텐션 액션을 사용하면 두 번만 클릭해서 자동으로 적용할 수 있습니다.

Scala

향상된 Scala 3 지원

향상된 Scala 3 지원

이 릴리스에서는 주요 초점을 Scala 3 지원에 두고 이를 크게 향상시켰습니다. 이제 색인 생성이 빠르고 정확하며 버전에 구애받지 않습니다. 또한 일반적으로 Scala 3 SDK를 비롯해 sbt 및 .idea 기반 Scala 3 프로젝트를 모두 생성할 수 있습니다. 에디터는 중요한 들여쓰기를 더 잘 처리할 수 있습니다. Scala 2 프로젝트에는 Scala 3 구문이 지원됩니다(-Xsource:3). 디버거, 서식 지정 도구, REPL, 자동 import 문, 열거형, 확장 메서드 및 기타 여러 기능도 개선되었습니다! (단, Scala 3 지원은 아직 진행 중이며 아직 완벽하지는 않습니다.)

컴파일러 기반 강조 표시

컴파일러 기반 강조 표시

IntelliJ 플랫폼에서 언제나 그랬듯이 Scala 플러그인에는 오류 강조 표시 기능이 기본 제공됩니다. 이 기능은 빠르고 가벼우며 모든 표준 IntelliJ IDEA 기능을 지원합니다. 그러나 Scala 타입시스템이 너무 복잡하기 때문에 알고리즘이 때때로 잘못된 오류를 보고할 수 있습니다. 구현을 개선하기 위한 작업은 계속되고 있지만, 그동안 오류 강조 표시에 Scala 컴파일러를 사용하면 일부 코드 베이스에서 유용할 수 있습니다. 단, 컴파일러 기반 접근 방식은 더 정확한 반면, 느리고 더 많은 리소스가 필요하며 타입 Diff, 빠른 수정 및 검사와 같은 기능을 지원하지 않습니다. 따라서 코드에 잘못된 오류가 많지 않다면 기본 제공되는 오류 강조 표시 기능을 사용하는 것이 좋습니다.

JavaScript

저장 시 브라우저에서 페이지 다시 로드

저장 시 브라우저에서 페이지 다시 로드
Ultimate

IntelliJ IDEA에서는 기본 제공되는 웹 서버를 사용해 브라우저에서 HTML 파일을 미리 볼 수 있습니다. 이제 HTML, CSS, JavaScript 파일을 편집 후 저장하면 브라우저에서 페이지가 자동으로 업데이트됩니다. 시작하려면 에디터에서 HTML 파일을 열고 마우스로 가리킨 뒤 사용하려는 브라우저의 아이콘을 클릭하세요. 모든 브라우저가 지원됩니다.

React useState 훅에 대한 이름 변경 리팩터링

React useState 훅에 대한 이름 변경 리팩터링
Ultimate

이제 IntelliJ IDEA에서 useState 값과 함수의 이름이 자동으로 변경되므로 하나씩 리팩터링하느라 시간을 낭비할 필요가 없습니다. state 값에 캐럿을 놓고 Shift+F6을 누르거나 컨텍스트 메뉴를 마우스 오른쪽 버튼으로 클릭한 후 Refactor(리팩터링) | Rename(이름 변경)으로 이동하세요.

require()에 대한 자동 import 문

require()에 대한 자동 import 문
Ultimate

ES6 심볼을 완성할 때 IDE에서 누락된 import 문이 추가된다는 사실을 알고 계셨나요? 이제 CommonJS 모듈에도 이 기능이 적용되어 코드 완성 시 require import 문이 삽입됩니다.

프로파일러

Windows 및 Apple M1에서 Async Profiler 지원

Windows 및 Apple M1에서 Async Profiler 지원
Ultimate

Async Profiler는 특유의 정확성과 안정성으로 수많은 개발자가 선택하는 프로파일링 도구입니다. 이제 IntelliJ IDEA는 이 프로파일러를 Windows, Apple M1 및 비 M1 macOS에서 완벽하게 지원하므로 사용자가 대부분의 환경에서 사용할 수 있습니다.

Async profiler 2.0 지원
Ultimate

IntelliJ IDEA에서 Async Profiler 2.0이 지원됩니다. 이 프로파일러는 CPU 및 Allocation 프로파일러의 성능을 결합하며 새로운 Async Profiler 구성을 통해 작동합니다. Flame Graph(플레임 그래프), Call Tree(호출 트리), Method List(메서드 목록) 탭에서 새로운 Show(표시) 드롭다운을 사용하면 CPU 샘플 또는 메모리 할당 중에서 표시하려는 항목을 선택할 수 있습니다. Timeline(타임라인)에는 두 가지 모두 표시됩니다. 오른쪽 상단 모서리에 있는 컨트롤러를 사용하면 표시할 항목을 필터링할 수 있습니다.

선버스트 다이어그램 지원

선버스트 다이어그램 지원
Ultimate

IntelliJ IDEA 2021.2에서는 Classes(클래스) 탭의 항목을 두 번 클릭하면 선택한 항목의 데이터가 선버스트 다이어그램의 형식으로 Retained Objects(보존된 객체) 탭에 표시됩니다. 트리로 표시된 데이터를 분석하는 데 더 익숙하다면 Dominator Tree(도미네이터 트리) 탭에서 이를 확인할 수 있습니다.

빌드 도구

JLink 아티팩트

JLink 아티팩트

Jigsaw 프로젝트 작업 시 필요한 모듈 및 종속성만 포함된 사용자 지정 JDK를 생성하려는 경우, Project structure(프로젝트 구조) 창에서 새로운 JLink 아티팩트를 프로젝트에 추가할 수 있습니다.

새롭게 설계된 Gradle 구성

새롭게 설계된 Gradle 구성

Gradle Run/Debug Configurations(Gradle 실행/디버그 구성)의 UI를 새로 작업했습니다. 이제 기본 매개변수를 편리하게 한 화면에서 그룹화할 수 있습니다. 또한 필요에 따라 더 많은 옵션을 추가할 수 있습니다.

WSL 2 내 프로젝트의 빨라진 색인 생성

WSL 2에 저장된 프로젝트 파일의 경우, 소켓을 통해 Linux 및 Windows 간 파일 내용을 전송하는 데몬이 사용됩니다. 색인 생성의 속도는 IDE가 파일 내용을 얼마나 빠르게 읽는가에 달려 있으므로 이를 통해 빨라질 수 있습니다.

사용하는 언어에 따라 속도는 다를 수 있습니다. 예를 들어 JS와 유사한 언어의 경우, 색인 생성은 3분의 1의 시간이 소요됩니다.

WSL 2에서의 Ant 지원

WSL 2에서 Ant 작업을 실행할 수 있게 되었습니다.

버전 관리

커밋 전 변경 내용 검사

2021.2에서는 테스트를 실행할 수 있는 기능이 추가되어, 사용 가능한 커밋 전 액션의 목록이 확장되었습니다. Before Commit(커밋 전) 섹션에서 Run Tests(테스트 실행) 체크박스를 선택하면, 적용된 변경 내용을 IDE가 테스트하고 문제가 발생하면 이를 알려줍니다.

또한 Analyze code(코드 분석)Cleanup(정리) 옵션 옆에 있는 Choose profile(프로파일 선택)을 클릭하여 해당 옵션을 사용자 지정할 수 있는 기능도 추가되었습니다.

모든 커밋 전 검사의 진행 상황과 결과는 Commit(커밋) 영역에 나타나므로 추가 모달 창의 표시로 방해받을 일이 없습니다.

GPG 서명

GPG 서명

IntelliJ IDEA 2021.2는 GPG로 Git 커밋을 서명하는 기능을 활성화하여 커밋을 보호하는 방법을 제공합니다. 이렇게 하려면 Preferences(환경 설정)/Settings(설정) | Version Control(버전 관리) | Git으로 이동하여 Configure GPG Key(GPG 키 구성)를 클릭한 다음, 드롭다운 목록에서 해당 기능을 선택하세요. GPG 키를 처음 사용하는 경우 키를 구성해야 합니다.

새 프로젝트에서 디폴트 변경 목록 대신 변경 내용 사용

새 프로젝트에서 디폴트 변경 목록 대신 변경 내용 사용

이제 새 프로젝트에서 커밋되지 않은 변경 내용을 저장하는 노드의 이름으로 Default Changelists(디폴트 변경 목록)가 사용되지 않습니다. 2021.2 버전부터 이 노드의 이름은 Changes(변경 내용)이 됩니다. 또한 Git 작업은 더 이상 변경 목록의 자동 생성을 트리거하지 않습니다.

통합된 Diff 표시

통합된 Diff 표시

IntelliJ IDEA는 사용자가 Show Diff(Diff 표시) 액션을 어디에서 호출하든 관계없이 기본적으로 초기 파일 및 변경된 파일 간의 차이점을 에디터에 표시합니다. 별도의 창에서 변경 사항을 추적하는 것이 더 편리하다면, 간단히 에디터에서 원하는 파일을 드래그하세요.

선버스트 다이어그램 지원

로컬 기록 리비전 내 텍스트 검색

Local History(로컬 기록) 대화상자의 검색 필드에 쿼리를 입력하면 Local History 리비전에 있는 필요한 텍스트를 빠르게 찾을 수 있습니다.

터미널

새로운 터미널 옵션

새로운 터미널 옵션

이제 기본 제공되는 터미널에서 커서 모양을 선택할 수 있습니다. 또한 Use Option as Meta key(옵션을 메타 키로 사용)가 지원되어 키보드의 Option() 키를 다른 키와 결합해 사용할 수 있는 메타 제어자로 활용할 수 있습니다. 예를 들어, 다음 단축키를 사용할 수 있습니다.

  • ⌥+F – 다음 단어로 이동
  • ⌥+B – 한 단어 뒤로 이동
  • ⌥+D – 다음 단어 삭제

디버거

이제 디버거에서 미리보기 탭 작동

이제 디버거에서 미리보기 탭 작동

이전에는 중단점에서 멈추거나 코드를 스텝스루하거나 프레임 사이를 탐색하거나 '이전/다음 프레임' 액션을 사용할 때 IDE는 여러 개의 탭에서 파일을 열었습니다. 2021.2 버전에서는 Settings(설정)/Preferences(환경 설정) | General(일반) | Editor Tabs(에디터 탭)에서 Debugger(디버거)의 미리보기 탭 기능을 활성화할 수 있습니다. 기능을 켜면 이러한 파일이 한 탭에서 연속으로 열립니다.

프레임워크 및 기술

마이크로서비스 다이어그램

마이크로서비스 다이어그램
Ultimate

IntelliJ IDEA에서는 Endpoints(엔드포인트) 도구 창에서 해당하는 아이콘을 클릭하면 빌드되는 마이크로서비스 인터랙션을 표시할 수 있습니다. 이 새로운 다이어그램에서는 특정 서비스를 호출하는 클라이언트를 추적하고 이러한 호출을 코드에서 탐색할 수 있는 옵션이 제공됩니다. 이를 이용하려면 간단히 다이어그램에서 블록을 연결하는 화살표를 클릭하세요.

Spring, Micronaut, Quarkus 또는 Helidon을 사용하는 경우, 다이어그램을 Java 및 Kotlin 프로젝트에서 사용할 수 있습니다.

Java EE에서 Jakarta EE로 자동 마이그레이션

Java EE에서 Jakarta EE로 자동 마이그레이션
Ultimate

새로운 Migrate...(마이그레이션) 리팩터링을 사용하면 프로젝트 또는 모듈을 Java EE에서 Jakarta EE로 빠르고 간단하게 마이그레이션할 수 있습니다. 리팩터링을 시작한 후에는 Refactoring Preview(리팩터링 미리보기)에서 Java EE import 문의 발견된 사용 위치가 모두 표시됩니다. 그러면 이를 전체적으로 검토한 후 프로세스를 완료하면 됩니다.

새로운 Spring Boot 프로젝트가 생성되면 공유 색인을 자동 다운로드

새로운 Spring Boot 프로젝트가 생성되면 공유 색인을 자동 다운로드
Ultimate

새로운 Spring Initializer 프로젝트를 생성하면 IDE에서 공유 색인이 자동 다운로드되어 색인 생성에 소요되는 시간이 단축되고 IDE의 시작 속도가 빨라집니다. 이 기능을 켜는 체크박스는 New Project(새 프로젝트) 마법사의 두 번째 화면에 있습니다. 단, Settings(설정)/Preferences(환경 설정) | Shared Indexes(공유 색인)에서 Shared Indexes를 비활성화한 경우 이 기능은 작동하지 않습니다.

JPA 엔티티 그래프 지원

JPA 엔티티 그래프 지원
Ultimate

In this version, we’ve introduced support for an Entity Graph which you can define with the @NamedEntityGraph annotation. IDE에서 이 어노테이션의 고유한 이름 및 속성(@NamedAttributeNode)을 지정할 수 있으며 이때 속성 클릭 시 관련 엔티티로의 이동, 코드 완성, 오류 탐지를 사용할 수 있습니다.

Micronaut 및 Quarkus에서 캐시 어노테이션 지원

Micronaut 및 Quarkus에서 캐시 어노테이션 지원
Ultimate

Cache annotations for Micronaut and Quarkus are now supported in the IDE. 캐시 식별자에 대해 Find usages(사용 위치 찾기)Rename(이름 변경) 리팩터링을 사용하는 기능을 비롯해 캐시 이름의 사용 위치 사이를 이동할 수 있는 여백 탐색 기능이 추가되었습니다.

JavaScript 및 TypeScript에서의 마이크로서비스 탐색 지원 개선
Ultimate

JavaScript 및 TypeScript에서의 URL 탐색 기능이 크게 향상되었습니다. For client-side code (for Angular or Axios), URL references have been added for the $http service and HttpClient request method calls, and URL completion works based on available server-side frameworks and OpenAPI specifications. 서버 측의 경우, Express 사용자는 Endpoints(엔드포인트) 도구 창에서 Route 핸들러를 확인하고, Navigate(탐색) | URL Mapping(URL 매핑)을 통해 Express 경로 선언을 검색할 수 있습니다.

엔드포인트 도구 창에 gRPC 엔드포인트 표시

엔드포인트 도구 창에 gRPC 엔드포인트 표시
Ultimate

이 버전에서는 또 다른 프레임워크인 gRPC에 대한 지원이 추가되었습니다. 향후 이 프레임워크 작업을 위한 기능이 더 추가될 예정이며, 현재는 Endpoints(엔드포인트) 도구 창에서 gRPC 엔드포인트를 확인할 수 있습니다. 더 많은 업데이트를 기다려 주세요!

Ktor 통합

Ktor 통합
Ultimate

Ktor, a web application framework for creating connected systems, is bundled with IntelliJ IDEA Ultimate. 서버 측 또는 클라이언트 측 애플리케이션을 개발하기 위한 새 Ktor 프로젝트를 시작 화면에서 바로 생성하고 기본 프로젝트 설정 및 Ktor에서 지원되는 다양한 기능을 구성할 수 있습니다.

JetBrains에서 유지관리하는 Protocol Buffers 플러그인
Ultimate

Protocol Buffers 플러그인이 IntelliJ IDEA Ultimate에 번들로 포함되며 JetBrains 팀이 전담하여 이 플러그인을 유지관리합니다. IntelliJ IDEA Community Edition을 사용하는 경우에도 Preferences(환경 설정)/Settings(설정) | Plugins(플러그인) | Marketplace를 통해 Protocol Buffers를 다운로드 및 설치할 수 있습니다.

Docker

SSH를 통해 Docker 작업

SSH를 통해 Docker 작업

SSH를 통해 Docker에 연결할 수 있습니다. SSH 연결을 구성하려면 Preferences(환경 설정)/Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Docker로 이동하여 On SSH machine(SSH 시스템에서) 라디오 버튼과 를 차례로 클릭한 다음, 표시된 창에 SSH 연결 매개변수를 입력하세요.

서비스 동기화

서비스 동기화

Docker Compose 애플리케이션을 실행 중이 아니라도 Services(서비스) 도구 창에서 표시할 수 있습니다. 이렇게 하려면 간단히 에디터 창에서 순환 화살표 아이콘을 클릭하세요.

서비스 상태를 표시하는 새로운 아이콘

서비스 상태를 표시하는 새로운 아이콘

Docker Compose 서비스의 다양한 상태를 표시하는 새로운 아이콘이 구현되었습니다. 익숙해지려면 각 아이콘을 마우스로 가리킬 때 표시되는 툴팁을 읽어보세요.

향상된 로그

Docker Compose 로그에 몇 가지 변화를 주었습니다. 모든 서비스 노드에는 로그가 있으며 컨테이너 로그에는 타임스탬프 및 이전 세션을 표시하는 옵션이 포함됩니다. 이 옵션을 비활성화하려면 Preferences(환경 설정)/Settings(설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Docker | Console(콘솔)에서 Fold previous sessions in the Log console(로그 콘솔에서 이전 세션 접기) 체크박스를 선택 해제하면 됩니다.

실행/디버그 구성에 옵션 추가

실행/디버그 구성에 옵션 추가

Docker Compose용 추가 옵션이 Run/Debug Configurations(실행/디버그 구성)에 제공됩니다. Modify options(옵션 수정)를 클릭하면 Enable BuildKit(BuildKit 활성화), Enable compatibility mode(호환성 모드 활성화), Specify project name(프로젝트 이름 지정)을 수행할 수 있습니다. 프로젝트 이름을 원하는 대로 지정할 수 있으며 기본적으로 Docker Compose 애플리케이션이 있는 폴더에서 이름을 상속하지 않습니다.

컨테이너용 새로운 액션

컨테이너를 시작, 일시 중지, 일시 중지 해제, 재시작할 수 있는 새로운 버튼이 추가되어 Docker 컨테이너를 관리하기가 훨씬 간편해졌습니다. 또한 이러한 액션을 여러 컨테이너에 한 번에 적용할 수 있습니다.

스마트하게 이미지 삭제

스마트하게 이미지 삭제

종속성이 포함된 Docker 이미지를 삭제할 때 제거하거나 보존할 종속성을 지정할 수 있습니다.

새로운 네트워크 및 볼륨 노드

새로운 네트워크 및 볼륨 노드

Services(서비스) 도구 창에 Networks(네트워크)Volumes(볼륨)이라는 새로운 두 가지 노드가 추가되었습니다. 첫 번째 노드에는 Docker Compose 애플리케이션과 관련 없는 모든 네트워크가 포함됩니다. The second includes all the Docker Volumes. 볼륨 삭제는 위 섹션에 설명된 이미지 삭제 방법과 동일한 방식으로 쉽게 수행할 수 있습니다.

Docker Compose의 버전 3 지원

Docker Compose의 버전 3 지원

We’ve added support for version 3 of the Docker Compose file format. 이에 따라 IntelliJ IDEA는 버전 3에서 사용 가능한 옵션의 유효성을 올바르게 검사할 수 있으며 코드 완성도 해당 옵션에서 작동합니다.

Kubernetes

Helm 차트 종속성에서 alias 지원

Helm 차트 종속성에서 alias 지원
Ultimate

IntelliJ IDEA 2021.2에서는 Chart.yaml(api v2) 또는 requirements.yaml(api v1)의 dependencies(종속성) 섹션에 있는 alias(별칭) 필드를 사용할 수 있습니다. 이 필드는 현재 종속성의 대체 이름을 나타냅니다. 기존 종속성이 여러 번 사용되고 해당 사용 위치를 구별하려는 경우 alias를 사용해야 할 수 있습니다. 또한 차트 이름이 GoTemplate 식별자에 적용할 수 없는 심볼을 사용하는 경우, alias를 사용하여 수정할 수도 있습니다.

사용자 지정 네임스페이스

사용자 지정 네임스페이스
Ultimate

Kubernetes 클러스터를 작업할 때 특정 네임스페이스에 대한 액세스 권한이 있으나 모든 클러스터 네임스페이스의 목록을 받지 못할 때가 있습니다. 이제 이러한 경우 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Kubernetes에서 사용 가능한 네임스페이스의 목록을 지정할 수 있습니다.

즐겨찾는 네임스페이스

즐겨찾는 네임스페이스
Ultimate

여러 네임스페이스를 더 쉽게 관리하고 가장 필요한 네임스페이스를 빠르게 찾을 수 있게 되었습니다. 이제 즐겨찾는 네임스페이스를 별표로 표시할 수 있습니다. 즐겨찾는 네임스페이스는 목록 상단에 표시되며 나머지 네임스페이스는 알파벳순으로 정렬됩니다.

데이터베이스 도구

DDL 데이터 소스

DDL 데이터 소스
Ultimate

이제 실제 파일을 기반으로 DDL 데이터 소스를 생성할 수 있습니다. DDL 파일은 디스크에 생성되며 새 데이터 소스는 그 파일을 기반으로 합니다. 이러한 방식으로 언제든지 파일을 재생성하고 DDL 데이터 소스를 새로 고칠 수 있습니다. 이 기능을 적용하는 방법에 관한 단계별 지침은 블로그 게시물에서 확인하세요.

서비스 도구 창 표시 관리

서비스 도구 창 표시 관리
Ultimate

쿼리가 데이터를 반환하지 않고 Services(서비스) 도구 창이 이미 숨겨져 있는 경우, 창을 표시할 필요가 없습니다. 이제 Services 도구 창이 표시되는 작업을 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Database(데이터베이스) | General(일반)에서 원하는 대로 정의할 수 있습니다.

필드 및 연산자 완성

필드 및 연산자 완성
Ultimate

이제 코드 완성이 MongoDB 콘솔에서 다양한 타입의 필드 및 연산자에 대해 작동합니다. 자세한 내용은 블로그 게시물에서 확인하세요.

QA 도구

사용자 지정 네임스페이스

테스트 데이터 생성

무작위의 이메일, 이름 또는 전화번호를 삽입할 수 있는 기능은 유닛 테스트를 개발할 때 중요합니다. JetBrains의 Test Automation Kit의 일부인 새로운 Test Data 플러그인은 무작위 데이터를 생성하는 데 유용한 다양한 액션을 제공합니다. 모든 이용 가능한 옵션을 확인하려면 Generate(생성) 메뉴(Cmd+N)를 사용하세요. 특정 형식이 필요한 경우, 정규 표현식 또는 Velocity 템플릿을 기반으로 고유한 사용자 지정 데이터 형식을 생성할 수 있습니다. 모든 사용자 지정 데이터 타입은 일괄 모드로 사용할 수 있으며 팀과 공유할 수도 있습니다.

Space 통합

Git 로그에서 확인할 수 있는 Space 작업 상태

Git 로그에서 확인할 수 있는 Space 작업 상태

Git 도구 창의 Log(로그) 탭에 Space 작업 상태를 나타내는 아이콘이 추가되어, 커밋 목록만 보고도 작업 진행 상황을 쉽게 추적할 수 있습니다. 아이콘을 클릭하면 해당 작업에 대한 자동화 정보가 포함된 팝업이 IDE에서 열립니다.

상태 정보가 필요 없는 경우, Log 위에 있는 눈 아이콘을 클릭하고 Show Columns(열 표시) | Space Automation(Space 자동화)을 선택하세요.

팀원 멘션

팀원 멘션

@ 다음에 팀원 이름을 입력해 팀원을 멘션할 수 있게 되어 Space 코드 검토에서 팀원과 커뮤니케이션하기가 더 편리해졌습니다. 이 소소하지만 유용한 기능은 타임라인과 코드 코멘트에서도 사용할 수 있습니다.

코드 검토에서 브랜치 표시

코드 검토에서 브랜치 표시

코드 검토를 선택하면 IDE에 관련된 브랜치가 표시됩니다. 현재 이슈를 작업하는 동안 작성된 커밋이 포함된 브랜치 목록은 Details(세부 정보) 탭에서 확인할 수 있습니다.

공동 개발

동기화된 코드 완성 기능

동기화된 코드 완성 기능

내가 팔로잉하는 사람이 사용한 코드 완성 제안을 확인할 수 있게 됨에 따라 팀원이 수행한 액션에 숨겨진 논리를 훨씬 정확하게 이해할 수 있게 되었습니다. 이 기능은 Code With Me 세션 중에 Following(팔로잉) 모드에 있을 때 작동합니다.

액션 실행 취소

액션 실행 취소

IntelliJ IDEA 2021.2는 공동 프로그래밍 환경을 크게 개선하는 새로워진 실행 취소 기능을 선보입니다. 개선된 실행 취소 로직을 이용하면 게스트와 호스트가 모두 코드의 개별 변경 내용을 되돌릴 수 있습니다. 즉, 2021.2 버전으로 업그레이드하면 동료 개발자가 변경한 내용을 실수로 삭제하는 불쾌한 상황을 피할 수 있습니다. 이 개선 사항은 페어 및 몹 프로그래밍 시나리오에서 특히 유용합니다.

협업 세션 중 모든 화면 공유

협업 세션 중 모든 화면 공유

가장 기다려온 기능 중 하나인 화면 공유 기능이 드디어 구현되었습니다. 2021.2 버전에서 참가자는 JetBrains IDE뿐만 아니라 자신의 컴퓨터 화면에 표시된 애플리케이션 창을 공유하여 협업의 생산성을 높일 수 있습니다.

페어 프로그래밍을 할 동료에게 포트 전달

페어 프로그래밍을 할 동료에게 포트 전달

통합 프록시를 통해 참가자와 특정한 열린 포트를 공유하는 기능을 이제 IntelliJ IDEA 2021.2에서 사용할 수 있습니다! 따라서 호스트가 특정 포트에서 애플리케이션을 실행하는 경우 게스트는 컴퓨터의 로컬 호스트를 통해 해당 애플리케이션에 액세스할 수 있습니다.

기타

한국어, 중국어, 일본어로 UI 현지화

이 버전부터 한국어, 중국어, 일본어로 완전히 현지화된 IntelliJ IDEA UI를 이용할 수 있습니다. 현지화된 UI는 번들로 포함되지 않은 언어 팩 플러그인으로 제공되며, IDE에 쉽게 설치할 수 있습니다. 이미 150만 명이 넘는 사용자가 부분적으로 현지화된 EAP 언어 팩 버전을 사용하기 시작했습니다. 이제 완전히 현지화된 환경을 이용해보세요!

Android 플러그인 업데이트

Android 플러그인이 4.2.0 버전으로 업그레이드되었습니다.

번들에서 제외되는 플러그인

여러 플러그인의 사용 빈도를 분석한 후, 그중 일부를 번들에서 제외하기로 했습니다. 제외되는 플러그인에는 Resource Bundle Editor, Drools, JSP Debugger Support, CoffeeScript, Spring Web Flow, Spring OSGI, Arquillian, AspectJ, Guice, Helidon, Emma, EJB가 있습니다. 이러한 플러그인 중 여전히 필요한 것이 있다면 JetBrains Marketplace에서 수동으로 설치하세요.