IntelliJ IDEA 2024.1의 새로운 기능

IntelliJ IDEA 2024.1은 워크플로를 간소화하는 데 도움이 되는 다양하고 흥미로운 기능으로 업그레이드되었습니다. IntelliJ IDEA Ultimate에서 이제 전체 줄 코드 완성을 제공하며, 전체 코드 줄에 대해 포괄적인 코드 인식을 기반으로 한 제안을 받을 수 있습니다. Java 22에 대한 지원으로 최신 언어 기능과의 호환성이 보장됩니다. 새롭게 정비된 터미널은 명령줄 작업이 개선되었으며, 에디터 내 고정된 줄 기능이 제공되어 코드 베이스를 더 원활하게 탐색할 수 있습니다. 그 외에 2024.1 버전에서는 IDE의 다양한 부분에서 수십 가지의 개선 사항이 도입되었습니다. 아래에서 자세한 내용을 확인하세요!

주요 하이라이트

전체 줄 코드 완성
Ultimate

IntelliJ IDEA Ultimate 2024.1에서는 Java 및 Kotlin에 전체 줄 코드 완성 기능이 제공됩니다. 이 기능은 IDE에 완벽하게 통합된 고급 딥 러닝 모델을 통해 구동됩니다. 컨텍스트 분석을 기반으로 전체 코드 줄을 예측하고 제안하여 코딩 효율성을 높입니다. 이러한 제안은 다양한 언어 및 프레임워크에 대해 특별히 학습시킨 특수 언어 모델을 기반으로 하며 완전히 로컬 시스템에서 실행되므로 외부 서버와 통신할 필요 없어 데이터가 안전하게 유지됩니다. 이 기능은 IntelliJ IDEA Ultimate 라이선스 구독에 포함됩니다. 자세한 내용은 이 블로그 게시물에서 알아보세요.

Java 22 기능 지원

IntelliJ IDEA 2024.1은 2024년 3월에 출시된 JDK 22의 기능 모음에 대한 지원을 제공합니다. 여기에는 이름이 지정되지 않은 변수 및 패턴(안정화 상태), 문자열 템플릿, 묵시적으로 선언된 클래스 및 인스턴스 main 메서드(두 번째 테스트 버전)가 포함됩니다. 또한 이번 업데이트에서는 super(...) 앞에 오는 새로운 구문(테스트 버전 상태)에 대한 지원을 도입했습니다. 자세한 내용은 이 블로그 게시물에서 알아보세요.

새 터미널
베타

IntelliJ IDEA 2024.1은 시각적 및 기능적으로 모두 향상되어 명령줄 작업의 효율을 높이는 새롭게 정비된 터미널을 선보입니다. 이번 업데이트에서는 블록 간 원활한 탐색, 명령어 완성, 명령어 기록에 대한 간편한 액세스 등의 확장된 기능 모음과 함께 명령어가 별개의 블록으로 분리되는 등 익숙한 도구가 새로운 모습으로 제공됩니다. 자세한 내용은 이 블로그 게시물에서 알아보세요.

에디터 내 고정된 줄

대규모 파일 작업과 새 코드 베이스 탐색을 단순화하기 위해 에디터 내 고정된 줄 기능을 도입했습니다. 이 기능을 사용하면 스크롤할 때 클래스나 메서드의 시작 부분과 같은 주요 구조 요소를 에디터 상단에 고정할 수 있습니다. 이렇게 하면 범위가 항상 표시되고, 고정된 줄을 클릭하여 코드를 즉시 탐색할 수 있습니다.

AI Assistant

AI Assistant 개선 사항

AI Assistant 개선 사항
Ultimate

AI Assistant는 테스트 생성 및 클라우드 코드 완성 기능의 개선, 커밋 메시지에 대한 사용자 지정 프롬프트, 코드 스니펫에서 파일을 생성하는 기능 및 업데이트된 에디터 내 코드 생성 등 여러 가지 중요한 기능이 업데이트되었습니다. 자세한 내용은 이 블로그 게시물에서 알아보세요.

2024.1 버전에서는 AI Assistant가 번들로 제공되지 않으며 별도의 플러그인으로 사용할 수 있습니다. 이러한 변경은 AI 기반 기술 사용과 관련된 의사 결정의 유연성을 높이고 작업 환경에서 선호도와 요구 사항을 더 잘 제어할 수 있어야 한다는 생각에 따라 이루어졌습니다. 이전과 같이 AI Assistant를 사용하려면 활성화된 JetBrains AI 구독이 필요합니다.

AI Assistant에서 Java 및 Kotlin에 대한 코드 강조 표시 개선

AI Assistant에서 Java 및 Kotlin에 대한 코드 강조 표시 개선
Ultimate

AI Assistant의 응답 내에서 Java 및 Kotlin에 대한 코드 강조 표시가 향상되었습니다. 이제 AI 채팅의 코드가 에디터에서와 마찬가지로 강조 표시되어 더 쉽고 빠르게 평가할 수 있습니다. 이 향상된 기능은 채팅 내에서 바로 에디터와 같은 경험을 제공함으로써 AI Assistant의 제안을 더 직관적으로 사용할 수 있도록 고안되었습니다.

사용자 경험

색인 생성 중에 Java 및 Kotlin에 사용할 수 있는 IDE 기능

색인 생성 중에 Java 및 Kotlin에 사용할 수 있는 IDE 기능

코드 강조 표시 및 완성과 같은 기본 IDE 기능이 이제 프로젝트 색인 생성 중에 Java 및 Kotlin에 작동하므로 작업 시작 단계가 한결 편해졌습니다. 또한 프로젝트가 로드되는 동안 Go to class(클래스로 이동)Go to symbol(심볼로 이동)을 사용하여 코드를 탐색할 수 있습니다.

새 프로젝트 마법사 업데이트

새 프로젝트 마법사 업데이트

새 프로젝트를 구성하는 동안 인지 부하를 줄이기 위해 New Project(새 프로젝트) 마법사의 레이아웃을 약간 조정했습니다. 이제 언어 목록이 왼쪽 상단에 위치하여 주로 사용하는 옵션을 찾기가 쉬워졌습니다.

전체 IDE 축소 옵션

전체 IDE 축소 옵션

IDE 배율을 90%, 80% 혹은 70%로 축소할 수 있어 IDE 요소의 크기를 유연하게 키우거나 줄일 수 있습니다.

Java

문자열 템플릿에 언어 삽입

IntelliJ IDEA 2024.1에는 문자열 템플릿에 언어를 삽입하는 기능이 도입되었습니다. 필요한 언어를 자동으로 선택하는 어노테이션을 사용하거나 Inject language or reference(언어 또는 참조 삽입) 인텐션 액션(Alt+Enter)을 사용하여 목록에서 언어를 수동으로 선택하면 됩니다. 후자의 방법을 사용하는 경우, IDE가 언어 어노테이션의 자동 삽입을 제안합니다. 삽입을 수행한 후, 인텐션 액션 목록을 다시 호출하여 별도의 에디터 패널에서 삽입된 조각을 열어 편집할 수 있습니다.

로그 워크플로 개선

로그 처리는 일상적인 개발에서 중요한 부분이므로 이와 관련된 IntelliJ IDEA의 사용자 경험을 개선하기 위해 다양한 업데이트를 도입했습니다. 이제 콘솔의 로그 메시지에서 이를 생성하는 코드로 쉽게 이동할 수 있습니다. 또한 IDE는 필요한 곳에 로거를 추가할 것을 제안하고 로거 인스턴스가 범위 내에 있지 않은 경우에도 로거 구문을 간단히 삽입할 수 있게 해줍니다. 이 블로그 게시물에서 자세히 알아보세요.

새로운 코드 검사 및 빠른 수정

코드를 깔끔하고 오류 없이 유지하는 데 도움이 되도록 Java에 대한 새로운 검사와 빠른 수정 기능을 구현했습니다. 이제 IDE는 명확성을 위해 Long.hashCode() 또는 Double.hashCode() 메서드 호출로 대체될 수 있는 비트 단위 연산을 탐지합니다. 또한 새로운 빠른 수정 기능을 이용하면 코드 베이스의 요구 사항에 따라 묵시적 클래스 선언과 명시적 클래스 선언 사이를 쉽게 전환할 수 있습니다. 또 다른 새로운 검사는 코드 조각 일치에 기존의 정적 메서드 사용을 제안하여 추가 API를 도입하지 않고도 코드를 쉽게 재사용할 수 있게 해줍니다. 그뿐 아니라, IDE는 이제 결코 실행되지 않을 도달할 수 없는 코드를 찾아 보고합니다.

다중 릴리스 JAR을 통한 향상된 사용자 경험

IntelliJ IDEA 2024.1은 다중 릴리스 JAR 라이브러리를 통해 향상된 사용자 경험을 제공합니다. 다양한 버전의 클래스를 사용하는 경우 이제 Go to declaration(선언으로 이동) 기능이 현재 모듈의 언어 수준에 따라 JAR에서 적절한 버전을 선택합니다. 또한 Go to class(클래스로 이동) 기능은 클래스 버전에 대한 추가 정보를 제공합니다. 디버그하는 동안 Step Into(스텝인투)를 사용하면 IDE는 모듈의 언어 수준이 아닌 JDK 버전에 해당하는 클래스로 이동합니다.

Conflicts Detected(탐지된 충돌) 대화상자 개선

Conflicts Detected(탐지된 충돌) 대화상자 개선

2024.1 버전에서는 가독성을 높이기 위해 Conflicts Detected(탐지된 충돌) 대화상자가 개선되었습니다. 이제 대화상자의 코드에 에디터의 내용이 반영되어 충돌에 대해 더 명확히 파악할 수 있습니다. 또한 나중에 사용할 수 있도록 IDE가 창 크기 조정 내용을 자동으로 저장합니다. 리팩터링 워크플로를 간소화하기 위해 버튼과 동작을 업데이트했으며, 이제 키보드를 사용하여 대화상자에 완전하게 액세스할 수 있습니다. 즉, 단축키와 화살표 키를 사용하여 원활한 조작이 가능합니다.

Rename(이름 변경) 리팩터링 인레이 힌트

Rename(이름 변경) 리팩터링 인레이 힌트

이름 변경 프로세스를 더 쉽고 직관적으로 만들기 위해 변경된 코드 요소 위에 새로운 인레이 힌트가 나타나도록 했습니다. 코드 베이스의 모든 참조를 새 버전으로 업데이트하려면 이 힌트를 클릭하고 변경을 확인하기만 하면 됩니다.

Kotlin

K2 Kotlin 모드 알파

K2 Kotlin 모드
알파

IntelliJ IDEA 2024.1에는 향상된 Kotlin 코드 분석을 위해 내장형 K2 Kotlin 컴파일러를 활용하는 새로운 Kotlin K2 모드가 도입되었습니다. 이번 업데이트는 곧 출시될 Kotlin 기능과의 호환성을 보장할 뿐만 아니라 코드 분석의 안정성을 높여 IDE 기능의 품질과 안정성을 개선하는 동시에 전반적인 애플리케이션 성능을 향상합니다. 자세히 알아보기.

모든 프로젝트에 공식 Kotlin 코드 스타일 적용

모든 프로젝트에 공식 Kotlin 코드 스타일 적용

2024.1 버전부터 IDE는 달리 명시적으로 지정하지 않는 한 공식 Kotlin 스타일 가이드를 모든 프로젝트의 디폴트 옵션으로 균일하게 적용합니다. 기존 프로젝트에서 명시적으로 구성되지 않은 이전 코드 스타일을 사용하는 경우 IDE는 자동으로 Kotlin 코딩 규칙의 코드 스타일로 전환하고 이러한 변경을 알리는 알림을 제공합니다. 서식 지정이 원치 않게 변경되는 것을 방지하려면 이 코드 스타일 마이그레이션 가이드를 숙지해 두세요.

복사 및 붙여넣기 시 static import 문 유지

복사 및 붙여넣기 시 static import 문 유지

2024.1 버전에서는 static import 문을 정확하게 보존하여 소스 코드에 표시된 대로 정확하게 이전되도록 합니다. 이는 중첩된 객체, 열거형 및 Java static import 문을 처리할 때 특히 유용합니다.

Scala

향상된 Scala 3 지원

향상된 Scala 3 지원

새 릴리스에서는 Scala 3의 특정 구문 사례가 처리되는 방식과 관련하여 많은 문제를 해결했습니다. 개선 사항에는 금지된 제어자의 결합을 인식하고, 들여쓰기 깊이를 계산하고, 들여쓰기를 유지한 채로 잘라내어 붙여넣기를 수행하고, end 마커를 해당 구문 구조와 연결하는 기능이 포함됩니다. 또한 디버거에서 Scala 3 지원을 개선했으며 이제 자동 완성 기능이 usinggiven 키워드와 함께 사용되거나 unapply 시그니처와 함께 사용되는 경우와 같은 일부 코너 케이스를 정확하게 처리합니다.

Scaladoc 기능 개선

Scaladoc 기능 개선

Scaladoc 팝업과 빠른 문서 팝업에서 클래스, 특성, 메서드 선언이 강조 표시되는 방식과 관련해 세부적으로 많은 부분을 개선하고 문제를 해결했습니다. 이제 중첩된 제네릭 매개변수가 올바르게 강조 표시되고 필드 접근 제어자가 표시됩니다. 또한 이제 삼중 중괄호가 있는 Scaladoc 블록 내부의 코드가 표준 Scala 코드와 동일한 방식으로 강조 표시됩니다.

컴파일러 기반 강조 표시 개선

컴파일러 기반 강조 표시 개선

지금까지는 컴파일러 기반 강조 표시를 사용하다가 다른 에디터로 전환하면 코드가 자동으로 다시 컴파일링되었습니다. 2024.1 버전에서는 이러한 동작이 바뀌었습니다. 이제 코드가 다시 컴파일링되는지 여부는 에디터에 포커스가 있는지 여부에 따라 달라집니다. 이는 컴파일러 기반 강조 표시가 소스 및 .class 파일의 외부 변경에 더 빠르게 반응하고 유효한 코드가 빨간색으로 처리되는 상황을 방지하는 데 도움이 됩니다.

Scala 빌드 도구 개선

Scala 빌드 도구 개선

이제 IDE는 새 SBT 프로젝트에 .gitignore 파일을 추가합니다. Use sbt for builds(빌드에 sbt 사용)를 사용하여 Scala/JVM 애플리케이션을 처음 실행할 때 예외가 발생하는 문제를 해결했으며, 가져오는 동안 모듈의 이행적 종속성이 모두 직접 종속성으로 삽입되도록 했습니다.

Play Framework 업데이트

Play Framework 업데이트

이전 Play Framework 버전(2.8 이하)과 JDK 17 간의 호환성 문제를 해결하기 위해 Play 마법사에서 호환되지 않는 버전의 Play 및 JDK 사용에 대해 알리는 경고를 도입했습니다.

기타 개선 사항

두 가지 새 아이콘을 도입했습니다. 하나는 New Project(새 프로젝트) 마법사의 Scala 언어용 아이콘이고 다른 하나는 View(보기) | Tool windows(도구 창)의 SBT용 아이콘입니다. 또한 인레이 힌트가 표시되는 방식도 모서리를 둥글게 만들고 더 효율적으로 정렬하는 등 약간 개선했습니다. 또한 Settings(설정) | Editor(에디터) | CodeStyle 도움말 페이지에 Scala 문서를 추가했습니다. 워크시트에서 Scala 2.13.12를 사용할 때 빌드 창에 컴파일 오류가 다시 한 번 올바르게 보고되고, 첫 코드 컴파일링 전에 import 문이 사용되지 않은 것으로 잘못 표시되는 일이 더 이상 없습니다. 또한 이제 X-Ray 기능을 고정하여 Ctrl 키를 놓은 후에도 활성 상태로 유지할 수 있습니다.

버전 관리 시스템

에디터 내 코드 검토

에디터 내 코드 검토

IntelliJ IDEA 2024.1에서는 새로운 검토 모드가 구현되어 GitHub 및 GitLab 사용자의 코드 검토 경험이 개선되었습니다. 에디터에 통합되어 있는 이 기능으로 작성자와 검토자는 직접 더 원활하게 소통할 수 있습니다. 풀 리퀘스트/병합 요청 브랜치를 확인할 때 검토 모드가 자동으로 활성화되고, 여백에 분홍색 마커가 표시되어 검토할 코드 변경 사항이 있다는 사실을 알립니다. 이러한 마커를 클릭하면 원본 코드가 표시되어 변경 사항을 빠르게 식별할 수 있습니다. 여백 아이콘을 활용하면 새로운 논의를 빠르게 시작할 수도 있고 기존의 논의를 표시하거나 숨길 수도 있습니다. 코멘트에도 쉽게 액세스할 수 있어 쉽게 이를 검토하고 답변하거나 감정 이모티콘을 추가할 수 있습니다. 관련 블로그 게시물에서 이 변경 사항에 대해 자세히 알아보세요.

Log(로그) 탭에서 검토 브랜치의 변경 사항을 표시하는 옵션

Log(로그) 탭에서 검토 브랜치의 변경 사항을 표시하는 옵션

IntelliJ IDEA 2024.1은 브랜치 관련 변경 사항에 초점을 둔 뷰를 제공하여 코드 검토 워크플로의 능률을 높입니다. GitHub, GitLab 및 Space의 경우 이제 Git 도구 창 내의 별도 Log(로그) 탭에서 특정 브랜치의 변경 사항을 확인할 수 있습니다. Pull Requests(풀 리퀘스트) 도구 창에서 브랜치 이름을 클릭하고 메뉴에서 Show in Git Log(Git 로그에 표시)를 선택하면 됩니다.

코드 검토 코멘트에 대한 감정 이모티콘 지원

코드 검토 코멘트에 대한 감정 이모티콘 지원

IntelliJ IDEA 2024.1에서는 이미 선택할 수 있는 이모티콘 모음과 함께 GitHub 풀 리퀘스트 및 GitLab 병합 요청에 대한 검토 코멘트에 감정 이모티콘을 사용할 수 있습니다.

Git 도구 창의 CI 검사 상태

Git 도구 창의 CI 검사 상태

CI 시스템에서 수행한 GitHub 커밋 검사 결과를 쉽게 검토할 수 있도록 Git 도구 창의 Log(로그) 탭에 새 열을 도입했습니다.

푸시 알림에서 풀 리퀘스트/병합 요청 생성

푸시 알림에서 풀 리퀘스트/병합 요청 생성

이제 IDE는 변경 사항을 버전 관리 시스템에 성공적으로 푸시한 후, 하나의 알림에서 사용자에게 푸시에 성공했음을 알리고 풀 리퀘스트/병합 요청을 생성하기 위한 액션을 제안합니다.

보류 중인 GitHub 업데이트에 대한 시각적 표시기

보류 중인 GitHub 업데이트에 대한 시각적 표시기

코드 검토 워크플로 내에서 보류 중인 업데이트를 알려주는 시각적 표시기를 도입했습니다. 주의가 필요한 변경 사항이 있는 경우, 도구 창 아이콘에 점이 표시됩니다. 또한 보이지 않는 풀 리퀘스트는 파란색 점으로 표시되어 코드 검토 과정에서 업데이트를 누락하는 실수를 방지해 줍니다.

저장소에 대용량 파일 커밋 방지

저장소에 대한 대용량 파일 커밋 방지

대용량 파일로 인해 버전 관리 시스템이 이를 거부하는 것을 방지하기 위해 이러한 파일을 커밋하지 못하게 하고 제한 사항을 알리는 커밋 전 검사가 IDE에 포함되었습니다.

Allow unrelated histories(관련되지 않은 기록 허용) 병합 옵션

Allow unrelated histories(관련되지 않은 기록 허용) 병합 옵션

Merge into(병합 대상) 대화상자의 드롭다운 메뉴에 Allow unrelated histories(관련되지 않은 기록 허용) 옵션이 생겼습니다. 이 옵션을 선택하면 공통된 기록이 없더라도 두 개의 브랜치를 병합할 수 있습니다.

Git 도구 창의 History(기록) 탭에 적용된 브랜치 필터

Git 도구 창의 History(기록) 탭에 적용된 브랜치 필터

Git 도구 창에서 Show all branches(모든 브랜치 표시) 버튼이 브랜치 필터로 대체되어, 지정된 브랜치 내의 파일에 대한 변경 사항을 검토할 수 있습니다. 또한 더 편리한 사용을 위해 툴바의 방향을 수평으로 배치했습니다.

Commit(커밋) 도구 창의 Stash(스태시) 탭

Commit(커밋) 도구 창의 Stash(스태시)

커밋되지 않은 임시 변경 사항을 저장하기 위해 스태시를 많이 사용하는 경우 편리하게 액세스할 수 있도록 Commit(커밋) 도구 창 내에 전용 탭을 도입했습니다. 스태시 항목과 보류된 항목을 모두 사용하려면, 이 둘을 결합한 Stashes and Shelves(스태시 및 보류 항목) 탭을 사용하면 됩니다. 이 탭은 Settings(설정)/Preferences(환경 설정) | Version Control(버전 관리) | Git에 있는 체크박스를 통해 활성화 할 수 있습니다.

비교에서 폴더 및 파일을 제외하는 옵션

비교에서 폴더 및 파일을 제외하는 옵션

이제 Diff 뷰어에서 관련 변경 사항에만 집중하기 위해 비교 중에 무시할 폴더와 파일을 지정할 수 있습니다. 비교 결과에 표시하지 않으려는 파일이나 폴더를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Exclude from results(결과에서 제외)를 선택하면 됩니다.

Branches(브랜치) 팝업의 검색 개선

Branches(브랜치) 팝업의 검색 개선

이제 Branches(브랜치) 팝업에서 액션과 저장소별로 검색 결과를 필터링하여 버전 관리 시스템 내에서 더 빠르고 정확하게 탐색할 수 있습니다.

 Search Everywhere(전체 검색) 대화상자에서 Git 탭 제거

Search Everywhere(전체 검색) 대화상자에서 Git 탭 제거

사용자의 사용 통계를 분석하여, Search Everywhere(전체 검색) 대화상자에서 Git 탭을 기본적으로 제거했습니다. 이 탭을 다시 활성화하고 싶다면 Settings(설정)/Preferences(환경설정) | Advanced Settings(고급 설정) | Version Control. Git(버전관리. Git)에서 Show Git tab in Search Everywhere(전체 검색에 Git 탭 표시) 체크박스를 선택하세요.

빌드 도구

Maven 프로젝트를 여는 속도 향상

IntelliJ IDEA는 이제 pom.xml 파일을 분석하여 프로젝트 모델을 구성합니다. 이를 통해 모든 종속성이 포함된 전체 프로젝트 모델이 백그라운드에 구축되는 동안 몇 초 만에 작업 프로젝트 구조를 얻을 수 있으므로 전체 동기화가 완료될 때까지 기다리지 않고 프로젝트를 시작할 수 있습니다.

Maven Shade 플러그인의 이름 변경 워크플로 지원

IntelliJ IDEA 2024.1 출시와 함께 오랫동안 기다려온 Maven Shade 플러그인의 이름 변경 기능에 대한 지원이 추가되었습니다. 이제 IntelliJ IDEA는 이름 변경 워크플로를 인식하여 가려진 JAR 및 해당 종속성으로 작업할 때 정확한 코드 강조 표시와 탐색 기능을 제공합니다.

빠른 문서 팝업에서 소스 파일에 직접 액세스

빠른 문서 팝업에서 소스 파일에 직접 액세스

이제 빠른 문서 팝업을 통해 소스 코드를 쉽게 다운로드할 수 있습니다. 이제 라이브러리나 종속성에 대한 문서를 보고 해당 소스 코드에 액세스해야 할 때 F1을 누르기만 하면 됩니다. 업데이트된 팝업은 필요한 소스 파일을 다운로드하는 데 사용할 수 있는 직접 링크를 제공하여 워크플로를 간소화합니다.

Maven 도구 창의 Maven 저장소

Maven 도구 창의 Maven 저장소

Maven 저장소 목록은 색인 상태와 함께 이제 Maven 설정의 이전 위치 대신 Maven 도구 창에 표시됩니다.

Gradle 버전 지원 업데이트

이 버전부터 IntelliJ IDEA는 Gradle 4.5 이하 버전을 사용하는 프로젝트를 더 이상 지원하지 않으며, 지원되지 않는 Gradle 버전이 있는 프로젝트에 대해 Gradle 동기화를 수행하지 않습니다.

실행/디버그

여러 개의 구문에 대한 인라인 중단점

여러 개의 구문에 대한 인라인 중단점

IntelliJ IDEA 2024.1은 람다 함수 또는 return 문이 포함된 줄에 중단점을 설정하기 위한 보다 편리한 워크플로를 제공합니다. 여백을 클릭하여 중단점을 설정하면 IDE에서 추가 중단점을 설정할 수 있는 인라인 마커를 자동으로 표시합니다. 각 중단점을 독립적으로 구성하여 고급 디버그 기능을 이용할 수 있습니다.

호출 스택의 접혀있는 라이브러리 호출

이제 라이브러리 호출이 Debug(디버그) 도구 창의 호출 스택에서 기본적으로 접혀 있어, 코드를 탐색할 때 집중할 수 있습니다. 라이브러리 호출 시퀀스를 확인해야 하는 경우 그룹을 확장하고 그에 따라 프레임을 탐색할 수 있습니다. 목록을 표시하려면 툴바에서 Filter(필터) 아이콘을 사용하거나 컨텍스트 메뉴를 호출하고 Hide Frames from Libraries(라이브러리에서 프레임 숨기기) 옵션을 비활성화하세요.

조건문 커버리지

조건문 커버리지

IntelliJ IDEA 2024.1 버전은 더 포괄적인 테스트 커버리지를 구현합니다. 이 업데이트는 코드의 어떤 조건문이 테스트에 완전히 포함되지 않았는지 식별하는 데 중점을 둡니다. 이제 IntelliJ IDEA는 포함되지 않은 조건이 있는 줄을 표시하고 포함되지 않은 조건 브랜치 또는 변숫값을 지정합니다. 이 기능은 기본적으로 활성화되어 있으며 Settings(설정)/Preferences(환경설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Coverage(커버리지)에서 관리할 수 있습니다.

코드 커버리지 설정이 기본 IDE 설정으로 이동

코드 커버리지 설정이 기본 IDE 설정으로 이동

코드 커버리지 설정이 Run Configuration(실행 구성) 팝업에서 Settings(설정)/Preferences(환경설정) | Build, Execution, Deployment(빌드, 실행, 배포) | Coverage(커버리지)로 이동되었습니다. 이 변경으로 커버리지 러너를 선택하거나 고급 기능(예: 특정 코드 줄을 포괄하는 테스트 추적)을 활성화하기 위해 각 테스트 실행에 대한 구성을 개별적으로 업데이트할 필요가 없어졌습니다.

JaCoCo 테스트 커버리지 보고서 가져오기 단순화

이제 JaCoCo 러너가 CI/CD 파이프라인에서 수집하는 코드 커버리지 데이터를 가져오고, 탐색하고, 분석하기가 더 쉬워졌습니다. Coverage(커버리지) 도구 창에 표시된 보고서가 없는 경우, JaCoCo 보고서를 가져오기 위한 직접 링크가 나타납니다. 또한 JaCoCo 보고서를 .exec 파일로 가져올 수 있는 가져오기 아이콘을 창의 툴바에 새롭게 추가했습니다.

프레임워크 및 기술

Spring에 대한 Bean 완성 및 자동 삽입 개선

Spring에 대한 Bean 완성 및 자동 삽입 개선
Ultimate

IntelliJ IDEA Ultimate는 이제 애플리케이션 컨텍스트의 모든 Bean에 대한 자동 완성 기능을 제공하고 자동으로 자동 삽입합니다. Bean이 생성자를 통해 종속성을 자동 삽입하는 경우, 관련 필드도 생성자를 통해 자동으로 삽입됩니다. 마찬가지로, 종속성이 필드나 Lombok의 @RequiredArgsConstructor 어노테이션을 통해 삽입되면 새 Bean이 필드를 통해 자동으로 삽입됩니다.

Spring 다이어그램 개선
Ultimate

Spring 모델 다이어그램에 더 쉽게 액세스할 수 있게 되었습니다. Bean 라인 마커를 사용하거나 Spring 클래스에서 인텐션 액션(Alt+Enter)을 사용하여 이를 호출할 수 있습니다. Spring 다이어그램에 새 아이콘을 도입하여 구성 요소, 컨트롤러, 저장소 및 구성 Bean과 같은 Spring 스테레오타입의 시각화를 향상시켰습니다. 또한 이제 기본적으로 숨겨져 있는 라이브러리에서 Bean의 가시성을 편리하게 전환할 수 있습니다.

HTTP 클라이언트 개선 사항
Ultimate

2024.1 버전의 HTTP 클라이언트는 PKCE 인증 코드 및 장치 권한 부여 흐름을 포함하여 더 많은 인증 옵션을 제공합니다. 또한 PKCE 요청 중 토큰 검색을 위해 code_challenge 생성 및 code_verifier 전달을 자동으로 처리하는 외에도 토큰 및 인증 요청을 위한 추가 매개변수를 지원합니다. HTTP 클라이언트가 낮은 수준의 네트워킹 라이브러리인 Netty로 업그레이드되면서 SSL, 프록시 및 HTTP/2 지원이 가능해져 HTTP/2 구현이 쉬워졌습니다. 또한 HTTP 클라이언트의 툴바가 새 UI 스타일에 맞게 개선되어 더욱 세련되고 유기적인 모양을 제공합니다.

Search Everywhere(전체 검색)의 Endpoints(엔드포인트) 탭

Search Everywhere(전체 검색)Endpoints(엔드포인트)
Ultimate

URL 검색 결과와 관련 있는 프로젝트에 Endpoints(엔드포인트) 탭이 표시되도록 도입하여, Search Everywhere(전체 검색) 대화상자를 개선했습니다. 현재 IDE는 프로젝트에서 Spring, Micronaut, Ktor 또는 Quarkus 기술이 있는 것으로 탐지하면 자동으로 이 탭을 포함합니다.

HTTP 헤더의 코드 완성

HTTP 헤더의 코드 완성
Ultimate

이제 Spring WebClient 및 REST Assured 테스트와 같은 모든 일반적인 시나리오에서 HTTP 헤더가 쉽게 완성됩니다. 필요한 값이 발견되면 자동으로 코드 완성 팝업이 나타납니다.

최적화된 JSON 스키마 처리

최적화된 JSON 스키마 처리
Ultimate

JSON 스키마 유효성 검사 및 완성 기능의 기반 코드를 최적화했습니다. 이에 따라 이제 IDE는 이러한 작업을 더 빠르게 더 적은 메모리로 처리합니다. Azure Pipelines를 사용한 실제 파일의 경우, 스키마 검사 속도가 10배 빨라집니다.

Quarkus 업데이트
Ultimate

Quarkus 실행 구성을 위한 새로운 설정 에디터를 도입했습니다. 이제 Run/Debug Configuration(실행/디버그 구성) 대화상자에서 Maven 및 Gradle 프로젝트 모두에 향상된 UI를 제공하고 Run profile(실행 프로파일)Environment variables(환경 변수)와 같은 널리 사용되는 설정에 쉽게 액세스할 수 있도록 했습니다. 사용 편의성을 위해 Run(실행) 도구 창 툴바에 추가된 새 아이콘을 통해 Quarkus Dev UI에 쉽게 액세스할 수 있습니다.

OpenRewrite 지원
Ultimate

IntelliJ IDEA Ultimate 2024.1은 OpenRewrite를 통합하여 IDE의 기존 리팩터링 기능을 확장하고 코드 품질, 일관성 및 유지 관리성을 향상하기 위한 툴킷을 제공합니다. OpenRewrite의 레시피를 사용하면 기존 코드를 현대화하고, 성능을 최적화하며, 새로운 Spring Boot 버전으로 업그레이드하는 등의 복잡한 마이그레이션 작업을 처리할 수 있습니다.

WireMock 서버 지원
Ultimate

사용자가 IDE에서 설치하거나 JetBrains Marketplace에서 받을 수 있는 플러그인을 통해 WireMock 지원을 구현했습니다. 이 지원에는 JSON 구성을 위한 스키마 완성, Endpoints(엔드포인트) 도구 창에서 WireMock 스텁 파일을 생성하는 기능, 에디터에서 바로 서버를 가동할 수 있는 내장 실행 구성이 포함됩니다. 이를 통해 테스트 데이터 서버 또는 스텁을 신속하게 생성하여 웹 UI 및 마이크로서비스 개발을 단순화할 수 있습니다.

Terraform 지원 개선
Ultimate

IntelliJ IDEA Ultimate 2024.1은 인프라 생성, 관리, 확장 프로세스를 단순화하는 향상된 Terraform 지원을 제공합니다. 이제 IDE는 terraform init을 실행하라는 명시적인 제안을 통해 효율적으로 초기화하고, 3,900개 이상의 타사 Terraform 공급자에 확장된 코드 완성 기능을 제공합니다. 또한 IDE에 Terraform의 템플릿 언어(tftpl)에 대한 지원이 도입되어 선호하는 프로그래밍 언어와 원활하게 통합할 수 있는 옵션을 통해 동적 템플릿 작성이 가능해졌습니다. 자세한 내용은 블로그 게시물에서 확인할 수 있습니다.

데이터베이스 도구

데이터 에디터 내 로컬 필터링

데이터 에디터 내 로컬 필터링
Ultimate

이번 릴리스에는 모두가 오랫동안 기다려온 데이터 에디터 내 로컬 필터링 기능이 추가되었습니다. 이제 데이터베이스에 쿼리를 보낼 필요 없이 열의 값으로 행을 빠르게 필터링할 수 있습니다. 이 로컬 방식은 현재 페이지에만 적용되지만, 언제든지 페이지 크기를 조정할 수 있고, 범위를 확장해야 하는 경우에는 모든 데이터를 가져올 수도 있습니다. 모든 로컬 필터를 비활성화하려면 해당 Enable Local Filter(로컬 필터 활성화) 아이콘을 선택 해제하세요.

세션 단순화

세션 단순화
Ultimate

IntelliJ IDEA Ultimate 2024.1은 세션을 수동으로 선택할 필요성을 없애 쿼리 실행을 간소화합니다. 대신, 파일을 연결할 때, 세션이 아닌 데이터 소스를 선택하기만 하면 됩니다. 또한 함수를 실행하려면 더 이상 세션을 선택할 필요가 없습니다. 이제 콘솔이나 파일에서 직접 함수 실행을 선택할 수 있습니다. 이러한 변경은 도구 학습의 난이도를 최대한 낮추고 불필요한 단계를 줄이며 전반적인 사용 편의성을 향상하는 데 목표를 두고 있습니다.

웹 개발

빠른 문서 개선

빠른 문서 개선
Ultimate

빠른 문서 팝업이 크게 향상되어 코드 블록에 대한 구문 강조 표시를 지원합니다. TypeScript의 경우, 인터페이스 멤버, 열거형 상수 및 타입 별칭 본문이 표시됩니다. Show more(더보기) 링크를 사용하면 타입 멤버의 전체 목록을 확장하고 참조된 타입으로 이동할 수 있습니다. 또한 이제 대화상자 상단의 페이징 컨트롤을 사용하여 여러 인터페이스 선언, 타입 별칭, 열거형, 함수 및 기타 엔티티 사이를 탐색할 수 있습니다.

React prop 및 상태 생성을 위한 빠른 수정

React prop 및 상태 생성을 위한 빠른 수정
Ultimate

IntelliJ IDEA Ultimate 2024.1에는 prop과 상태를 즉시 생성할 수 있는 몇 가지 새로운 React 빠른 수정이 도입되었습니다. Alt+Enter 단축키를 사용하면 이러한 빠른 수정을 적용할 수 있습니다.

Language Services(언어 서비스) 위젯

Language Services(언어 서비스) 위젯
Ultimate

상태 표시줄에 새로운 Language Services(언어 서비스) 위젯이 추가되어, 여기서 현재 파일 및 프로젝트의 활성 언어 서비스에 대한 정보를 확인할 수 있습니다. 이 위젯에서 바로 서비스를 다시 시작하거나 해당 설정으로 이동할 수 있습니다.