RubyMine 2021.2의 새로운 기능

Ruby 및 RBS 작업을 위한 새로운 기능, 개선된 코드 완성, 검색 및 리팩터링, 에디터 개선, VCS 지원, Space, Code With Me 등.

Ruby 및 RBS

더 스마트해진 검색과 리팩터링

더 스마트해진 검색과 리팩터링

선언으로 이동, 사용 위치 찾기이름 변경 리팩터링 모두가 RBS를 사용하는 프로젝트에서 이제 더 정확하게 작동합니다. RubyMine은 모든 잠재적 사용 위치를 표시하는 대신 .rbs 선언을 바탕으로 프로젝트 엔티티가 서로 관련되는 방식을 정의합니다.

Ruby와 RBS 간 탐색

Ruby와 RBS 간 탐색

이제 새로운 탐색 액션을 사용하여 해당 .rb.rbs 파일 간 탐색을 할 수 있습니다. 클래스 또는 메서드와 같은 프로젝트 엔티티를 마우스 오른쪽 버튼으로 클릭하고 Go to(이동)/Type Signature(타입 시그니처) | Associated Declaration(관련 선언)을 선택하세요. Ctrl+Alt+Home 단축키를 사용할 수도 있습니다.

Ruby 코딩 지원 개선

Ruby 코딩 지원 개선

RubyMine은 RBS 시그니처를 사용하여 Ruby 요소의 타입을 결정하고 보다 관련성 높은 코드 완성을 제공합니다. RubyMine은 이제 타입 변수, 블록 매개변수, 튜플 타입, proc 타입 등을 포함하여 기존 RBS 엔티티의 대부분을 지원합니다.

관련된 RBS 타입 시그니처가 없는 코드 부분의 경우에도 RubyMine은 여전히 자체 타입 추론을 사용합니다.

새로운 검사 기능

새로운 검사 기능

.rbs 파일에 저장된 정보에 액세스하면 RubyMine이 Ruby 코드에 있을 수 있는 오류를 더 많이 확인할 수 있습니다. RubyMine은 RBS와 Ruby 코드가 일치하지 않으면 타입 오류를 표시합니다. 이 버전에서는 또한 잘못된 코드 및 확인되지 않은 참조를 포함하여 .rbs 파일 자체에 대한 새로운 검사도 추가되었습니다. RubyMine은 또한 Run Anything(무엇이든 실행)을 사용하여 Steep 명령 실행을 지원합니다.

향상된 RBS 편집

향상된 RBS 편집

이 버전에는 구문 강조 표시, 서식 지정, 자동 들여쓰기, 코드 접기, 구조 뷰 및 Ctrl+/ 단축키를 사용한 주석 처리와 같이 RBS 코드를 더 읽기 쉽게 만들어주는 모든 필수 기능이 포함되었습니다.

RBS 파일에 대한 코딩 지원

RBS 파일에 대한 코딩 지원

이제 RubyMine은 코드 완성, 사용 위치 검색, 코드 탐색, 이름 변경 리팩터링 등 RBS 파일 작업을 위한 코딩 지원을 제공합니다. RBS에 대한 .rbs 프로토타입과 고유한 라이브 템플릿을 만들 수도 있습니다.

에디터

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

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

RubyMine이 수행할 수 있는 모든 검사 및 빠른 수정에 대한 설명을 업데이트했습니다. 업데이트된 설명에서는 검사에서 제안하는 변경 및 그 이유에 관해 설명합니다. 일부 검사에는 사용 예가 함께 제공됩니다.

저장 시 액션

저장 시 액션

이제 RubyMine은 코드 서식 재지정과 같이 변경 사항이 저장될 때 특정한 액션 수행을 지원합니다. 저장 시 트리거되는 모든 액션은 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Actions on Save(저장 시 액션)에서 확인할 수 있습니다.

자세히 알아보기

스크래치 파일의 빠른 생성

스크래치 파일의 빠른 생성

스크래치 파일에서 프로젝트 컨텍스트 외부에서 메모 또는 코드 초안을 작성할 수 있습니다. 이번 릴리스부터 일부 코드를 선택하고 Alt+Enter를 누른 다음 Create new scratch file from the selection(선택 항목에서 새 스크래치 파일 만들기)를 선택하여 해당 코드가 포함된 새 스크래치 파일을 빠르게 만들 수 있습니다.

사용자 경험

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

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

Local History(로컬 기록)을 사용하면 버전 관리와 상관없이 프로젝트의 모든 변경 사항을 지속적으로 추적할 수 있습니다. 이번 릴리스에서는 Local History(로컬 기록)에 검색 기능을 추가했습니다. 이제 찾고 있는 변경 사항에서 몇 가지 키워드를 알고 있다면 더 쉽게 찾을 수 있습니다.

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

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

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

고급 설정

고급 설정

Preferences(환경 설정) | Settings(설정) – Advanced Settings(고급 설정)에 새 노드를 추가했습니다. 여기에는 특정 사용 사례에 대한 몇 가지 옵션이 IDE의 도구별로 편리하게 그룹화되어 있습니다 예를 들어 Project View(프로젝트 뷰), Startup(시작), Terminal(터미널) 등과 관련된 설정이 있습니다.

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

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

이제 해당 HTML, CSS 및 JavaScript 파일에 대한 변경 사항을 저장할 때 브라우저에서 페이지를 자동으로 다시 로드할 수 있습니다.

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

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

이제 도구 창을 드래그 앤 드롭하여 기본 IDE 창 내에서, 또는 별도의 창에서 원하는 위치로 쉽게 이동할 수 있습니다.

환경 설정/설정의 새로운 탐색 옵션

환경 설정/설정의 새로운 탐색 옵션

이제 Preferences/Settings(환경 설정/설정)에서 열려 있는 섹션 사이를 앞뒤로 탐색할 수 있습니다. 창의 오른쪽 모서리에 있는 화살표를 사용하면 됩니다.

디버거

디버거의 미리보기 탭

디버거의 미리보기 탭

이제 미리보기 탭이 디버그 중에 열리는 파일에 대해 작동합니다. 이러한 파일은 하나의 미리보기 탭에 하나씩 나타납니다. 이 기능을 사용하려면 Preferences(환경 설정)/Settings(설정) | Editor(에디터) | General(일반) | Editor Tabs(에디터 탭) | Opening Policy(열기 정책)에서 Enable preview tab(미리보기 탭 활성화) 체크박스를 선택하세요.

터미널

새로운 터미널 옵션

새로운 터미널 옵션

커서 모양을 선택하는 기능과 Use Option as Meta key(옵션을 메타 키로 사용)할 수 있는 새로운 두 가지 옵션을 포함하여 기본 제공되는 터미널을 개선했습니다. 두 가지 옵션 모두 Preferences(환경 설정)/Settings(설정) | Tools(도구) | Terminal(터미널)에서 이용할 수 있습니다.

버전 관리

커밋 전 변경 내용 검사

커밋 전 검사에 적용된 변경 내용

커밋 전에 수행할 수 있는 새로운 액션인 Run Tests(테스트 실행), Analyze code(코드 분석)Cleanup(정리)를 추가했습니다. 모든 커밋 전 검사의 진행 상황과 결과는 Commit(커밋) 영역에 나타나므로 추가 모달 창의 표시로 방해받을 일이 없습니다.

자세히 알아보기

GPG 서명

GPG 서명

이제 GPG 키로 커밋에 서명하여 보안을 유지할 수 있습니다. 이 기능은 Preferences(환경 설정)/Settings(설정) | Version Control(버전 관리) | Git을 통해 활성화할 수 있습니다. If it’s your first time using a GPG key, you’ll need to configure it. 기존에 사전 구성된 GPG 키를 사용하려면 드롭다운 목록에서 선택하세요.

Dff 표시 액션에 대한 통합된 동작

Dff 표시 액션에 대한 통합된 동작

이제 RubyMine은 에디터에서 초기 파일과 변경된 파일의 차이점을 표시합니다. 그러나 Show Diff(Diff 표시) 액션을 호출하면 IDE가 기본적으로 에디터에서 Diff를 엽니다. 별도의 창에서 변경 사항을 추적하려는 경우, 에디터에서 원하는 파일을 드래그하면 됩니다. 이렇게 하면 IDE가 이를 기억하고 향후 Diff를 별도의 창에서 엽니다.

Space

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

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

커밋 목록만 보고 작업 진행 상황을 빠르게 추적할 수 있도록 Git 도구 창의 Log(로그) 탭에 Space job statuses(Space 작업 상태)에 대한 아이콘을 추가했습니다. 아이콘을 클릭하면 해당 작업에 대한 자동화 정보가 포함된 팝업이 열립니다.

이 상태 정보를 켜고 끄려면 Log(로그)에서 눈 아이콘을 클릭하고 Show Columns(열 표시) | Space Automation(Space 자동화)을 선택하세요.

검토에서 팀원 언급

검토에서 팀원 언급

이제 RubyMine에서 바로 Space 코드 검토 중에 간단히 팀원을 언급하여 팀원에게 정보를 제공할 수 있습니다. 타임라인이나 코드 주석에서 @ 다음에 사람 이름을 입력한 다음 목록에서 멘션을 원하는 사람을 선택하세요.

코드 검토에서 브랜치 표시

코드 검토에서 브랜치 표시

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

Code With Me

동기화된 코드 완성 기능

동기화된 코드 완성 기능

Code With Me를 사용하는 동안 문제를 설명하거나 팀 구성원에게 프로젝트의 다른 부분을 보여주어야 할 때가 있습니다. 이러한 경우에 Force Others to Follow You(모든 사람이 나를 팔로우하도록 강제) 모드를 사용할 수 있습니다. 나를 팔로우하는 사람들은 내가 사용하고 있는 코드 완성 제안을 볼 수 있습니다.

웹 및 프레임워크

require()에 대한 자동 import 문

require()에 대한 자동 import 문

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

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

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

더 이상 React 훅에서 useState 값과 함수를 하나씩 리팩터링하느라 시간을 낭비할 필요가 없습니다. 이제 RubyMine이 이름을 자동으로 바꿔줍니다. 이렇게 하려면 상태 값에 캐럿을 놓고 Shift+F6을 사용하거나 컨텍스트 메뉴에서 Refactor(리팩터링) | Rename(이름 변경)으로 이동하여 Rename(이름 변경) 리팩터링을 호출하세요.

기타 개선 사항

  • macOS에서 활성화된 스크린 리더 모드로 코딩하기가 더 쉬워졌습니다. 이제 코드 완성에 사용할 수 있는 제안 목록을 음성으로 들을 수 있습니다. 또한 선택한 콤보 박스의 내용과 콤보 박스 목록도 음성으로 지원합니다. Search Everywhere(전체 검색) 액션 결과를 음성으로 들을 수 있습니다.
  • 코드 분석이 올바르게 작동하며 파일 시스템 새로 고침이 실행 중일 때 강조 표시가 더 이상 일시 중지되지 않습니다.
  • 이제 RubyMine은 로컬 Ruby 인터프리터를 사용하는 외에도 SSH 및 Vagrant를 사용하는 프로젝트에 대해 커버리지 테스트 실행을 지원합니다.
  • RubyMine은 마지막 업데이트 후 180일이 지난 캐시와 로그 디렉터리를 자동으로 정리합니다. 이 프로세스는 시스템 설정 및 플러그인 디렉터리에 영향을 주지 않습니다. Help(도움말) | Delete Leftover IDE Directories(남은 IDE 디렉터리 삭제)에서 프로세스를 수동으로 시작할 수도 있습니다.
  • 이제 JetBrains Toolbox App의 중요 제품 업데이트를 놓치지 않도록 알림을 받을 수 있습니다. RubyMine은 다운로드할 수 있는 새 버전이 있으면 이를 알려주고 업그레이드를 제안합니다. 이를 위해서는 JetBrains Toolbox App 1.20.8804 이상이 필요합니다.
  • JetBrains는 UI 반응 속도를 개선하고 예기치 못한 멈춤 현상을 줄이는 방법을 계속해서 모색하고 있습니다. 예를 들어, 다른 상황에서 멈춤 현상을 없애는 데 도움이 되도록 색인이 필요한 특정 작업을 UI 스레드 밖으로 이동했습니다.
  • 프로젝트 아이콘을 변경할 수 있는 대화상자를 보다 직관적으로 만들었습니다.
  • 이 버전부터 RubyMine UI가 중국어, 한국어일본어로 완전히 현지화되어 보다 편리하게 이용할 수 있습니다. 현지화된 UI는 번들로 포함되지 않은 언어 팩 플러그인으로 제공되며, IDE에 쉽게 설치할 수 있습니다.
  • Default Changelists(디폴트 변경 목록)은 커밋되지 않은 모든 변경 내용을 저장하는 노드의 이름이었습니다. 2021.2 버전에서는 더 정확하고 읽기 쉽도록 기존의 Default Changelists(디폴트 변경 목록)을 Changes(변경 내용)이름을 변경했습니다. 이 업데이트는 모든 새 프로젝트에 영향을 미칩니다.
  • RubyMine은 Git 작업에 대해 더 이상 자동으로 변경 목록을 추가하지 않습니다. 예를 들어, Cherry-Pick은 변경 목록 생성을 트리거하지 않습니다.
  • 현재 IDE에서 지원하는 가장 오래된 Git 버전은 v2.17입니다. 2.17은 여전히 보안 업데이트를 받는 가장 오래된 버전이기 때문에 지원되는 최소 버전을 높였습니다.
  • Code With Me는 최근 미국 서부 해안과 남아프리카에서 각각 하나씩 두 개의 새로운 중계 서버 운영을 시작했습니다. 그 덕분에 응답 시간이 거의 3배 더 빨라졌으며 해당 위치에서 작업하던 팀은 지체 없이 JetBrains IDE에서 공동 작업을 할 수 있게 되었습니다.
  • 이제 Power Save Mode(절전 모드)를 빠르게 실행하여 Notebook의 배터리 사용 시간을 늘릴 수 있습니다. 간단히 상태 표시줄을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 Power Save Mode(절전 모드)를 선택하면 됩니다.
  • 코드 완성이 이제 비공개 npm 패키지에서도 작동합니다.
  • 이제 RubyMine은 .js 파일의 JSDoc 주석 내에서 사용되는 TypeScript 구문을 제대로 지원합니다.
  • RubyMine에서 이제 주요 classnamesclsx 라이브러리가 지원되므로 CSS 클래스 이름을 보다 효율적으로 처리할 수 있습니다.
  • RubyMine은 이제 Tailwind CSS 구성 요소에서 클래스 이름과 동적으로 평가된 className 속성 값을 자동으로 완성합니다.