News

IntelliJ IDEA의 K2 Kotlin 모드(알파)

Read this post in other languages:

IntelliJ IDEA 2024.1 버전부터 선택적인 K2 모드가 지원됩니다. 이 모드에서는 IDE가 K2 컴파일러를 사용하여 Kotlin 코드 분석을 더 빠르고 강력하게 처리합니다.
이제 IDE에서 다음 두 가지 모드를 사용할 수 있습니다.

  • 클래식 모드(디폴트 값으로 활성화) – IDE가 표준(K1) Kotlin 컴파일러를 사용하여 Kotlin 코드를 분석합니다.
  • K2 모드(현재 알파) – IDE가 새로운 K2 컴파일러를 코드 분석 엔진으로 사용합니다.

두 모드는 IDE의 코드 분석에만 영향을 줍니다. 프로젝트를 K2 컴파일러로 컴파일링하려는 경우, 이를 프로젝트의 빌드 설정에서 지정해야 합니다. K2 IDE 모드는 프로젝트의 빌드 설정에 지정된 Kotlin 컴파일러 버전에 의존하지 않습니다.

K2 모드란?

Kotlin 언어로 개발하는 작업을 더욱 쉽게 만들기 위해 Kotlin 컴파일러를 완전히 새롭게 만들어 성능을 개선하고 내부 아키텍처를 강화했습니다. 그리고 Kotlin 컴파일러가 IDE 내에서 코드 분석 엔진으로 사용되기 때문에 K2 컴파일러를 IDE의 요구 사항에 맞게 최적화했습니다.

K2 모드의 특징:

  • 추후 Kotlin 기능과의 호환성: 새로운 K2 모드는 앞으로 K2 Kotlin 컴파일러에만 제공될 추후 언어 기능을 지원합니다.
  • 코드 분석 안정성: 코드 안정성이 개선될 것으로 예상됩니다. 즉, Highlighting is suspended due to internal error(내부 오류로 인해 강조 표시가 일시 중지되었습니다)와 같은 메시지가 더는 표시되지 않습니다. 아키텍처가 완전히 새로 설계되었기 때문에 IDE 기능의 품질과 안정성이 개선될 것입니다.
  • 개선된 IDE 성능: Kotlin 코드 강조 표시 및 Kotlin 코드 완성의 속도가 크게 증가했습니다.
IntelliJ Ultimate 소스 베이스에 대해 수행한 성능 테스트
  • 향상된 API: 추후 버전에서 타사 플러그인에 사용할 수 있는 안정적이며 사용하기 쉬운 API를 공개할 예정입니다.

지원되는 IDE 기능

다수의 IDE 기능이 K1 컴파일러의 API에 의존하고 있기 때문에 IntelliJ IDEA에서 K2 컴파일러를 지원하기 위해 상당수의 기능을 처음부터 다시 만들었습니다. 이 과정에서 현재의 설계를 재검토하여 K1 기반의 IDE 구성에서는 해결할 수 없었던 문제를 해결했습니다.

성급하게 최대한 많은 IDE 기능을 구현하거나 마이그레이션하지는 않으려고 합니다. 최고의 품질을 확보하기 위해 매번 조금씩 기능을 완벽하게 만드는 것을 목표로 하고 있습니다. 여러분의 피드백을 받으며 지속적인 릴리스를 통해 IDE 기능 지원을 계속 확대하겠습니다.

IntelliJ IDEA 2024.1의 K2 모드는 다음을 지원합니다.

  • 코드 강조 표시.
  • 코드 완성.
  • 탐색.
  • Find Usages(사용 위치 찾기)
  • 디버그.
  • Rename(이름 변경), Introduce Variable(변수 삽입), Move(이동), Inline Variable(변수 인라인화), Change Signature(시그니처 변경), Safe Delete(안전한 삭제)와 같은 리팩터링.
  • 코드 서식 지정, 매개변수 정보, 여백 아이콘, QuickDoc, 가져오기 최적화 및 Type Hierarchy(타입 계층 구조)와 같은 기본적인 편집 기능.
  • 많이 사용되는 검사, 인텐션 및 빠른 수정 중 일부.
  • IntelliJ IDEA에서 애플리케이션 및 테스트 실행, 새로운 프로젝트 마법사, 프로젝트 가져오기.

IntelliJ IDEA 2024.1에서 K2 모드는 다음을 지원하지 않습니다.

  • Kotlin Multiplatform 프로젝트(KMP).
  • Android 프로젝트.
  • Extract Function(함수 추출) 리팩터링.
  • 인레이 힌트.
  • Java에서 Kotlin으로 변환.
  • Methods(메서드)Calls Hierarchy(호출 계층 구조).
  • Smart Step Into(스마트 스텝인투).
  • 코루틴 디버그 도구.
  • .gradle.kts 파일 내 코드 분석.
  • 기타 사소한 기능.
  • Kotlin 플러그인에 의존하는 타사 IntelliJ IDEA 플러그인은 비활성화됩니다. 타사 플러그인 저작자를 위한 마이그레이션 가이드도 곧 제공됩니다!

누락된 기능은 향후 릴리스에서 지원됩니다.

K2 Kotlin 컴파일러 모드를 사용해 보려면?

Settings(설정) | Languages & Frameworks(언어 및 프레임워크) | Kotlin으로 이동한 다음 Enable the K2-based Kotlin plugin(K2 기반 Kotlin 플러그인 활성화) 체크박스를 클릭하여 새 모드를 활성화하세요.

IntelliJ IDEA에서 Kotlin K2 모드를 활성화하는 방법

K2 모드로 전환한 후에는 IDE를 재시작해야 합니다.

피드백

여러분의 피드백을 기다립니다. IntelliJ IDEA의 K2 Kotlin 모드는 어땠는지, 이 모드에 어떤 기능이 있었으면 좋겠는지 혹은 성능은 어땠는지 알려주세요.

아래에 댓글을 남기거나, 공개 Slack 채널에 메시지를 쓰거나 혹은 YouTrack에 이슈를 생성하여 여러분의 경험을 공유해 주세요.

여러분의 피드백은 저희가 제품의 성능을 적극적으로 개선하는 데 큰 도움이 됩니다!

즐겁게 개발하세요!

게시물 원문 작성자

Jessie Cho

Anton Yalyshev

image description

Discover more