RubyMine 2022.1의 새로운 기능

새로운 Ruby 및 RBS 언어 기능, 새로운 검사 및 빠른 수정, UX 개선 등을 지원합니다.

Ruby

신규 언어 기능 지원

RubyMine 2022.1은 Ruby 3.1에 도입된 Ruby 및 RBS 신규 기능을 지원합니다. 바운드 제네릭, RBS 컬렉션, 익명 블록 인수 전달, 제네릭 타입 별칭 등의 지원이 포함됩니다.

새로운 검사 기능

이 버전에는 RBS에서 타입 변수의 사용 위치를 확인하는 몇 가지 신규 검사가 추가되었습니다. 이러한 검사는 타입 시그니처 누락, 잘못된 타입 인수 사용 위치, 충돌하는 타입 변수 변화, 부적절한 타입 인수 변화 등 다양한 오류를 보고합니다.

빠른 문서의 오버로드

RubyMine은 빠른 문서 검색에서 오버로드를 표시합니다(Ctrl+Q). 메서드에서 빠른 문서를 호출하면 현재 일치하는 오버로드가 표시됩니다.

RBS 기반 Ruby 메서드에 대한 인레이 힌트

RubyMine은 해당하는 RBS 파일의 타입 시그니처를 기반으로 Ruby 코드에 관한 인레이 힌트를 표시합니다. 힌트를 클릭하면 해당 타입 시그니처로 이동합니다.

일치하지 않는 타입 시그니처 빠른 수정

RubyMine은 RBS의 필요한 타입과 일치하지 않는 Ruby 코드의 추론 타입을 보고합니다. 2022.1 버전부터는 해당 RBS 파일로 즉시 이동할 수 있습니다.

YARD @overload 태그의 자동 완성 개선 사항

RubyMine은 @overload 태그를 이해하여 매개변수 정보를 표시할 때 선언된 모든 오버로드를 제안합니다. 이 버전부터 @overload 태그의 자동 완성 기능은 사용자가 설명하려는 메서드의 이름을 추가합니다.

사용자 경험

새 프로젝트 대화상자 개편

신규 사용자와 숙련된 사용자 모두 한층 간편하게 새 프로젝트를 생성할 수 있도록 New Project(새 프로젝트) 대화상자 인터페이스가 개편되었습니다.

새로운 Rails 7 generate 옵션 지원

이 빌드에서는 Rails 7에 추가된 프로젝트 생성을 위한 JavaScript 프레임워크 신규 옵션이 지원됩니다. 이제 New Project(새 프로젝트) 대화상자를 사용하여 새 프로젝트를 생성할 때 해당 옵션을 선택할 수 있습니다.

새로운 알림 도구 창

Event Log(이벤트 로그)가 새로운 Notifications(알림) 도구 창으로 변경되었습니다. 이 창을 활용하면 중요 정보를 놓치지 않도록 IDE의 알림을 간편하게 파악할 수 있습니다. 도구 창에 표시되는 모든 알림은 이제 Suggestions(제안)Timeline(타임라인)이라는 두 가지 카테고리로 분류됩니다.

파일 또는 프로젝트 열기 대화상자 업데이트

Open File or Project(파일 또는 프로젝트 열기) 대화상자에서 트리를 제거했습니다. 이제 IDE를 열 때 모든 중간 디렉터리 노드가 계산되지 않습니다. 이 변경 사항은 데드엔드 경로 계산으로 인한 지속적 중단을 방지하여 IDE의 전반적 성능을 개선합니다.

디버거의 숨겨진 탭 라벨

Debugger(디버거) 도구 창의 가용 공간을 극대화하고자 기본적으로 탭 라벨이 숨겨집니다.

업데이트된 구조 검색 및 바꾸기 대화상자

Structural Search and Replace(구조 검색 및 바꾸기) 대화상자에 모든 템플릿 목록이 표시되어 템플릿을 더 쉽게 탐색할 수 있습니다.

에디터

가시성 제어자 들여쓰기를 위한 새로운 서식 지정 옵션

이제 가시성 제어자(public, protected, private) 및 그 내부의 코드 들여쓰기를 설정할 수 있습니다. Preferences(환경 설정)/Settings(설정) | Editor(에디터) | Code Style(코드 스타일) | Ruby | Tabs and Indents(탭 및 들여쓰기)에서 이 설정을 찾아 Indent visibility modifiers(가시성 제어자 들여쓰기) 체크박스를 선택하세요.

LightEdit 모드로 코드 서식 다시 지정

LightEdit 모드를 사용하면 전체 프로젝트를 생성하거나 불러오지 않고도 파일을 편집할 수 있습니다. 이제 LightEdit 모드에서 코드의 서식을 다시 지정할 수 있습니다. 이 기능을 사용하려면 Ctrl+Alt+L을 누르거나 메인 메뉴의 Code(코드) | Reformat Code(코드 서식 지정)로 이동하세요.

Markdown 파일의 명령어 실행

셸 명령어 옆에 Markdown 파일용 여백 아이콘이 새롭게 추가되었습니다. 이 아이콘을 클릭하면 RubyMine의 기본 제공 터미널에서 명령어를 실행할 수 있습니다. 셸 명령어가 포함된 경우가 많은 README 파일 등의 매뉴얼을 따를 때 유용한 기능입니다.

Markdown용 코드 스니펫 복사

이제 새로운 Copy code snippet(코드 스니펫 복사) 액션을 사용하여 블록 콘텐츠를 클립보드에 복사할 수 있습니다.

다양해진 Markdown 에디터 툴바 액션

Markdown 파일을 편집할 때 텍스트 선택 시 표시되는 플로팅 툴바에 새로운 옵션이 추가되었습니다. 이 툴바를 사용하여 이제 헤더 스타일을 빠르게 선택하고 목록을 만들 수 있습니다.

테스트

RSpec의 공유 컨텍스트 및 예시 탐색

이제 사양에서 공유 컨텍스트 및 컨텍스트에 사용된 공유 예시로 이동할 수 있습니다. 이동하려면 공유 리소스를 추가하는 구문(include_context, include_examples, it_behaves_like 또는 it_should_behave_like)을 Ctrl+클릭하세요.

Docker

새로운 서비스 뷰 UI

Services(서비스) 도구 창의 Docker UI가 대대적으로 개편되어 컨테이너, 이미지, 네트워크 및 볼륨에 대한 개선 사항이 구현되었습니다.

Docker 레지스트리 V2 지원

Docker 1.6 이상에서 사용 가능한 Docker 레지스트리 HTTP API V2 지원이 추가되었습니다. 간단하거나 비밀번호로 보호된 Docker V2 레지스트리를 생성한 후 이미지 보기, 푸시/풀 등의 일반적인 액션을 모두 수행할 수 있습니다.

버전 관리

Git Blame으로 어노테이션 추가 기능 업데이트

도입된 변경 사항을 더 쉽게 살펴볼 수 있도록 Annotate with Git Blame(Git Blame으로 어노테이션 추가) 기능을 개선했습니다. 어노테이션에 마우스를 올리면 에디터에서 줄의 차이점이 강조 표시되고 어노테이션을 클릭하면 Git Log 도구 창이 열립니다.

Git 파일 기록: 색인이 없는 새 UI

Git File History(Git 파일 기록) 도구 창의 새 UI는 이제 색인 생성 프로세스와 별도로 작동합니다. 새 인터페이스에서는 Log(로그) 색인이 꺼져 있어도 데이터가 표시됩니다.

웹 및 프레임워크

개선된 Next.js 지원

RubyMine은 React를 기본으로 지원하므로 Next.js 프로젝트에서 모든 주요 기능이 작동합니다. RubyMine 2022.1에는 페이지와 같이 일부 프레임워크 기능에 대한 지원이 추가되었습니다. IDE에서 Link 구성 요소의 href 프로퍼티와 기타 태그에 사용된 경로를 확인합니다. 또한 이제 코드 완성, 탐색 및 리팩터링도 작동합니다.

Volta 지원

이번 릴리스에서 JavaScript 도구 관리자인 Volta가 적절히 통합되었습니다. RubyMine은 Volta를 사용하여 설치된 Yarn 및 npm을 자동으로 인식합니다.

기타 개선 사항

  • Log(로그) 탭의 더 간편한 탐색을 위해 이제 스크린 리더가 브랜치 트리의 이름과 설명을 음성으로 지원합니다.
  • macOS 사용자를 위한 접근성 지원도 개선되었습니다. 목록 요소가 여러 번 불필요하게 반복되는 VoiceOver 이슈를 해결했으며, 이제 VoiceOver를 통해 콤보 박스 목록을 음성으로 지원합니다. 외부 디스플레이에서 작업 중일때 VoiceOver 커서가 잘못된 위치에 있는 문제도 수정했습니다.
  • 이제 제안된 변경 사항을 더 쉽게 활용할 수 있습니다. IDE에서 바로 변경 사항을 로컬로 적용하거나 커밋하는 기능이 추가되었습니다.
  • 데이터베이스 작업 시 여러 테이블을 선택하여 다른 스키마에 복사할 수 있습니다.
  • 데이터베이스 쿼리 작업을 위한 신규 인텐션인 Convert To Subquery(하위 쿼리로 변환)가 추가되었습니다. 이제 쿼리를 선택하지 않고도 Alt+Enter | Convert To Subquery(하위 쿼리로 변환)를 누르면 됩니다.
  • Ruby와 일관성을 위해 업데이트된 RBS 상위 클래스에 대한 해결 논리가 지원됩니다. - RUBY-29164.
  • Rails 3 지원이 제거되었습니다.
  • extend 키워드는 싱글턴 클래스에 메서드를 추가하며, 타입 변수에 액세스할 수 없습니다. 이제 RubyMine에서 extend와 함께 타입 변수를 사용하려는 경우 오류가 표시됩니다. RUBY-29099
  • Git 도구 창의 Commit Details(커밋 세부정보) 패널을 업데이트했습니다. 이제 해당 패널에 GPG 서명 및 빌드 상태에 대한 정보가 포함됩니다. 이전에는 이 데이터가 Git 로그에서 하나의 열로만 표시되었습니다.
  • Yarn 및 pnpm을 설치하지 않고도 사용할 수 있게 해주는 실험적 Node.js 도구인 Corepack 지원이 추가되었습니다. 이 기능은 기본적으로 활성화되지 않으므로, 사용하려면 기본 제공 터미널에서 corepack enable을 실행해야 합니다.
  • Tailwind CSS 코드 완성 기능을 FreeMarker 템플릿에서 사용할 수 있습니다.
  • 사용 빈도가 낮은 HTML4 및 XHTML 파일 템플릿은 제거했습니다.
  • 2022.1 버전부터 webpack.config.js 파일에서 webpack 코딩 지원 기능을 ES 모듈과 함께 사용할 수 있습니다.
  • 명령줄 서식 지정 도구는 이제 테스트 실행 모드를 지원하여 프로젝트 파일의 유효성을 검사합니다.
  • 이제 분할된 탭의 너비를 동일하게 구성할 수 있습니다. 이 기능을 사용하려면 Preferences(환경 설정)/Settings(설정) | Advanced Settings(고급 설정)에서 새로운 옵션인 Equalize proportions in nested splits(중첩된 분할의 비율을 동일하게 변경)을 활성화하세요.
  • 이제 UML 다이어그램을 yEd .graphml, JGraph .drawio, Graphviz .dot, 위치 정보 포함 Graphviz .dot, Mermaid .md, Plantuml 및 IDEA .uml 파일로 내보낼 수 있어 타사 도구와 호환성이 개선되었습니다. 파일을 내보내려면 마우스 오른쪽 버튼으로 클릭 시 표시되는 컨텍스트 메뉴에서 해당 액션을 사용하세요.