MPS 2024.3에는 UI 개선, 많은 구성 요소의 내부 구조 개편, 바이너리 지원 TextGen 등이 도입되었습니다. 또한 아이콘 지원이 강화되었고, 다양한 플랫폼 업데이트도 제공됩니다.
아래에서 각 개선 사항을 자세히 알아보세요.
ProjectView 도구 창에 이제 프로젝트 구조를 보다 잘 정리할 수 있도록 세 개의 최상위 폴더가 제공됩니다.
Checkpoints and Transient Models 폴더가 항상 Modules Pool(모듈 풀) 아래에 표시되며, 이행적 모델이나 체크포인트 모델을 사용할 수 없으면 비어 있습니다. 이러한 모델은 이전처럼 최상위에 표시되지 않고, 이 폴더 아래에 표시됩니다.
새로운 Checkpoints and Transient Models 폴더의 부수 효과로 MPS를 다시 시작할 때마다 ProjectView(프로젝트 뷰) 도구 창이 프로젝트 구조의 펼쳐지거나 접혀진 하위 트리를 기억합니다.
IntelliJ 플랫폼에서 제공하는 미리보기 탭을 활성화/비활성화하는 다음 옵션이 이제 MPS에도 적용되며 다른 JetBrains 도구와 동일한 에디터 동작을 보장합니다.
빌드 스크립트 내 test configuration
의 옵션 섹션에 reports dir이 새롭게 추가되었습니다. 사용자는 생성된 JUnit 테스트 보고서가 저장될 출력 디렉터리를 지정할 수 있습니다.
빠른 수정 정의에 applicable이라는 새로운 섹션이 추가되어 빠른 수정의 적용 여부를 제어할 수 있습니다. 디폴트 값인 <always>
는 제한 없이 적용되도록 보장합니다.
모듈에 상대적인 경로를 사용하는 아이콘과 이미지가 생성 과정에서 더 이상 개별 사용 위치 옆에 복사되지 않습니다. 대신, 이러한 아이콘과 이미지는 배포 모듈에 이미지 파일로 한 번 복사되고 이 하나의 위치에서 사용할 수 있습니다. 이렇게 하면 즉각적으로 두 가지 이점이 따릅니다. 즉, 이미지 파일의 중복을 피해 디스크 공간을 절약하고 배포판과 소스 모듈에서 모두 이미지에 액세스할 수 있습니다.
기존의 TextIcon과 FileIcon 개념 외에 새로운 ConstantFieldIcon 개념도 사용할 수 있습니다. javax.swing.Icon
인스턴스를 가지고 있는 구체적 정적 필드 선언을 참조하여 아이콘을 지정할 수 있습니다.
아이콘 파일을 더 잘 처리할 필요가 있다는 점을 고려하여 텍스트 대신 텍스트 생성 과정에서 바이너리 출력을 생성하는 새로운 메커니즘을 추가했습니다. 새로운 API는 데이터를 byte[]
인스턴스로 직접 조작하는 write
작업으로 구성됩니다.
Inspector(검사 도구), HierarchyView(계층 구조 뷰), Usages(사용 위치) 등의 모든 도구 창이 더 이상 사용되지 않은 지 오래된 IntelliJ 플랫폼의 프로젝트 구성 요소(ProjectComponent) 메커니즘을 따르지 않도록 새롭게 설계되었습니다. API는 별로 변경되지 않았지만 코드를 사용하여 일부 도구 창을 가져오는 방법이 달라졌습니다.
Project.getComponent()
메서드가 더 이상 어떤 도구 창도 반환하지 않습니다. com.intellij.openapi.project.Project.tool <ToolConcept>
를 사용하여 가져올 수 있습니다. getInstance()
메서드를 제공합니다. UsagesViewTool.getInstance()
InspectorTool.getInstance()
EditorContext.inspectorTool()
로 사용할 수 있습니다. 도구 창 외에도 대부분의 MPS 핵심 기능이 IntelliJ IDEA의 ApplicationComponent 및 ProjectComponent를 사용하지 않도록 바뀌었습니다.
MPS는 완전한 애플리케이션을 작성하기 위해 IntelliJ 플랫폼 기능에 크게 의존했었습니다. 이제 대부분의 기존 구성 요소가 최신 MPS 또는 IntelliJ IDEA API(IntelliJ IDEA의 애플리케이션/프로젝트 서비스 및 확장 지점, MPS의 CoreComponents 및 확장 프로그램 등)를 사용하도록 리팩터링되었습니다. 아직 몇 가지 구성 요소가 남아 있지만 MPS 팀은 다음 릴리스에서 이를 완전히 제거할 계획입니다.
대부분 사용자는 시작 시간이 줄어든 것을 제외하고는 차이를 전혀 느끼지 못할 것입니다.
코드에서 오래된 검색 메커니즘을 사용하기 때문에 플랫폼 구성 요소를 찾지 못하는 경우 마이그레이션 가이드를 참조하세요.
MPS에 이제 새로운 UI가 사용됩니다. Classic UI 플러그인을 설치하면 이전 버전의 UI를 사용할 수 있습니다.
이전과 마찬가지로 이 빌드에서도 상당수의 버그가 수정되었습니다. 해결된 문제의 전체 목록은 여기에서 확인할 수 있습니다.
현재, JetBrains Runtime 17(JBR17)에서 JetBrains Runtime 21(JBR21)로 전환하는 중에 있습니다. IntelliJ IDEA 2024.2부터 모든 IDE 업데이트에 JBR21이 함께 제공되어 향상된 보안 및 성능은 물론 Linux용 Wayland 렌더링 지원도 제공합니다.
이제 IntelliJ IDEA에서 컴퓨터에 구성된 시스템 프록시 설정을 자동으로 탐지하고 이를 기본적으로 사용하여 외부 리소스 및 서비스와의 원활한 상호 작용을 지원합니다.
Customize Main Toolbar(메인 툴바 사용자 지정) 대화상자에서 UI 요소의 레이아웃과 동작을 새롭게 디자인하여 더욱 직관적이고 체계적으로 만들었습니다. 이제 메인 툴바에서 액션을 더 쉽게 검색, 추가, 삭제할 수 있습니다.
에디터 내 디폴트 탭의 한도를 30개로 늘렸습니다. 즉, 탭 한도에 도달해 최근에 가장 적게 사용한 탭부터 닫히기 전에 더 많은 탭을 열어둘 수 있게 되었습니다. Settings(설정) | Editor(에디터) | General(일반) | Editor Tabs(에디터 탭)에서 이 설정을 관리할 수 있습니다.
IntelliJ IDEA에서 이제 Markdown 파일의 수식을 기본적으로 렌더링할 수 있습니다. Markdown으로 작업할 때 $
을 사용하여 인라인 수식을 삽입하고 $$
를 사용하여 수학 콘텐츠가 포함된 코드 블록을 삽입할 수 있습니다.
Version Control(버전 관리) 위젯에 태그 전용 노드를 제공하여 태그를 더 쉽게 확인할 수 있도록 했습니다. 노드는 기본적으로 표시되지만 숨기려면 톱니바퀴 아이콘을 클릭하고 Show Tags(태그 표시) 옵션을 선택 해제하면 됩니다.
Log(로그) 도구 창과 관련된 모든 설정이 하나의 전용 설정 페이지로 통합되었습니다. 이 페이지는 Settings(설정)/Preferences(환경 설정) | Version Control(버전 관리) | Log(로그) 또는 Log(로그) 도구 창 툴바의 새로운 드롭다운 메뉴를 통해 액세스할 수 있습니다.
시작 화면에 이제 브랜치 이름이 표시되어 여러 프로젝트 버전을 다룰 때 체계적으로 정리하고 작업 디렉터리 사이를 쉽게 전환할 수 있습니다.
브랜치 기록을 보다 간단히 볼 수 있도록 새로운 Git 옵션을 추가했습니다. 병합에서 개별 커밋을 숨겨 주요 변경 사항에만 집중하려면 First Parent(첫 번째 상위 항목) 옵션을 사용하세요. 또는 No Merges(병합 없음) 옵션을 사용하여 병합 커밋을 완전히 제외시킬 수 있습니다. 이제 두 옵션 모두 Git 도구 창의 Graph Options(그래프 옵션) 아이콘으로 사용할 수 있으므로 브랜치의 변경 사항을 더 쉽게 추적할 수 있습니다.
새로운 터미널은 향상된 명령어 처리를 제공하며, UI 배치도 세밀하게 조정되어 더 원활하고 직관적인 경험을 제공합니다. 이제 터미널이 더 신속하게 반응하고 프롬프트를 더 빠르게 처리합니다. 세션이 매끄럽게 전환되고, 여러 탭에서 일관된 상태가 유지되어 워크플로가 중단되지 않습니다. 자동 완성 기능 덕에 명령어, 플래그 및 경로에 더 빠르게 액세스할 수 있으므로 수동 입력이 줄어듭니다. 또한 프롬프트 스타일, 세션 이름, 환경 변수 등의 추가적인 사용자 지정 옵션도 도입되어, 터미널 환경을 더욱 효과적으로 제어할 수 있습니다.
주요 릴리스가 나올 때마다 JetBrains는 이전 버전의 MPS에서 마이그레이션하기 위한 지침을 준비하여 모든 부분이 원활하게 작동하도록 합니다. 이러한 지침을 주의 깊게 살펴보세요.