RubyMine 2019.2의 새로운 기능

RubyMine 2019.2에서는 Rails 6 및 Ruby 2.7을 새롭게 지원하며 YARD 지원 및 디버거를 향상하고 다양한 플랫폼 개선 사항을 도입했습니다.

디버거

디버거 속도 비교 v2019.1 v2019.2

디버거 속도 향상

저희 디버거는 TracePoint :line을 사용하여 라인별로 프로그램 실행을 추적했습니다. v2019.2에서는 디버거가 어느 코드 조각에서 실행을 일시 중단할지 선택할 수 있도록 MRI에 대한 기본 확장 기능이 도입되었습니다. 이를 통해, 나머지 코드에 오버헤드가 발생하지 않게 합니다. 디버거의 속도가 크게 향상되었으며 다음과 같은 신규 기능이 추가되었습니다.

스마트 스텝인투

스마트 스텝인투

이전에는 디버그 세션에서 수많은 메서드가 포함된 한 줄에 도달하면 RubyMine은 그 줄의 첫 번째 메서드로만 스텝인투할 수 있었습니다. 새로 추가된 Smart Step Into(스마트 스텝인투)를 사용하면 그러한 제한을 넘어 같은 줄에 있는 특정 메서드나 블록을 스텝인투하거나 검사할 수 있습니다.

블록 중단점

블록 중단점

새 버전을 사용하면 줄뿐만 아니라 블록에서도 중단점을 설정할 수 있습니다. 왼쪽 여백을 클릭하여 블록이 있는 줄에 중단점을 설정하면 RubyMine에서 줄, 블록 또는 둘 다 중 어디에 중단점을 설정할 것인지 묻습니다.

RubyMine에서 디버깅하기를 읽고 RubyMine에서 Ruby 및 Rails 스크립트를 디버깅하는 방법을 자세히 알아보세요.

Ruby 2.7

패턴 일치

RubyMine 2019.2는 Ruby 2.7의 첫 테스트 버전에서 실험적 기능으로 소개된 Pattern Matching(패턴 매칭)을 지원합니다. IDE는 새로운 구문을 식별하여 해당 항목으로 이동하고 사용 위치를 검색하고 객체 이름을 변경할 수 있도록 돕습니다.

Ruby의 Pattern Matching 자세히 알아보기

숫자 지정 블록 매개변수

숫자 지정 블록 매개변수

새로운 버전의 RubyMine은 숫자 지정 매개변수의 구문을 인식하고 그 사용 위치를 표시/검색합니다. 이는 Ruby 2.7의 또 다른 실험적 기능으로, 블록에서 블록 변수를 정의하는 대신 매개변수 숫자를 기본 매개변수로 사용해 값을 지정할 수 있도록 합니다.

Rails 6

Action Mailbox 지원

Action Mailbox

RubyMine 2019.2는 Rails 6에 포함된 Action Mailbox를 지원합니다. IDE는 경로 메서드 및 콜백의 자동 완성을 제안하고 구현된 구문과 사용 위치로 이동할 수 있습니다.

Action Mailbox 검사 기능

또한 사용자가 ApplicationMailboxrouting 호출과 메일함의 process 메서드 추가를 잊은 경우 이를 알려주는 몇 가지 검사 기능도 추가되었습니다. 후자는 빠른 수정도 제안합니다.

자세한 GoRails 에피소드에서 Action Mailbox를 사용하는 방법을 자세히 알아보세요.

열거형 지원

ActiveRecord::Enum에 적합한 코드 분석 지원이 추가되었습니다. 이 지원에는 열거형 이름 및 메서드의 코드 자동 완성, 탐색, 사용 위치 검색이 포함됩니다. Rails 6에 도입된 enum의 네거티브 스코프도 지원됩니다.

YARD

향상된 YARD 지원

향상된 YARD 지원

YARD에 대한 지원이 점차 개선됨에 따라 YARD 태그를 만들고 관리하며 YARD 주석을 기반으로 RubyMine에서 향상된 코드 자동 완성 기능을 이용할 수 있습니다. 새 버전에서는 @overload@yieldparam 태그에 적절한 유형 주석 및 검사가 추가되었습니다.

RubyMine의 YARD 지원을 읽고 YARD 관련 RubyMine 기능과 새로운 개선 사항의 개요를 자세히 확인해 보세요.

Factory Bot

팩토리 이름 변경

팩토리 이름 변경

2019.2 버전에서는 팩토리, 시퀀스, 트레이트의 이름을 변경할 수 있습니다(Shift+F6). IDE는 해당 항목의 정의를 검색하여 항목 및 모든 사용 위치의 이름을 비롯해 팩토리 이름과 일치하는 파일 이름의 변경을 제안합니다.

또한 File Structure(파일 구조) 뷰(Alt+F7) 및 팝업(Ctrl+F12) 에 팩토리, 시퀀스, trait가 추가되었으며 해당 항목을 안전하게 삭제할 수 있는 기능(Refactor(리팩터링) | Safe Delete(안전하게 삭제)) 도 추가되었습니다.

JavaScript

구조 분해 인텐션

새로운 인텐션 액션

새로운 Propagate to destructuring(구조 분해로 전달) 인텐션(Alt+Enter) 을 사용하면, 추가 변수를 또 다른 구조 분해로 대체할 수 있습니다. 구조 분해를 완전히 제거하려면 Replace destructuring with property or index access(구조 분해를 프로퍼티 또는 색인 액세스로 대체)라는 인텐션 액션을 사용하세요.

리팩터링 미리보기에서 동적 사용 위치 확인

이름 변경 리팩터링 개선

JavaScript 또는 TypeScript 파일에서 심볼의 이름을 변경할 때 IDE가 동적인 사용 위치를 하나로 그룹 지정하고, 기본적으로 리팩터링에서 제외합니다. 이를 통해 리팩터링이 더 정확해져서 Refactoring Preview(리팩터링 미리보기) 도구 창에서 정확하게 어떤 항목의 이름이 변경되어야 하는지 더 효과적으로 제어할 수 있습니다.

Vuetify 속성

Vue.js 구성 요소 라이브러리에 대한 지원 강화

이제 Vuetify, BootstrapVue, Quasar 및 기타 Vue 구성 요소 라이브러리의 구성 요소와 속성에 대한 코드 완성이 더 정확해졌습니다. 이는 IDE에서 이 라이브러리로 작업할 수 있도록 새로 적용한 접근 방식을 통해 구현되었습니다.

중복 코드 검사

중복 코드 검색

새로운 Duplicate code fragment(중복 코드 부분) 검사는 코드를 빠르게 검사하여 에디터에서 중복 가능성이 있는 항목을 즉시 강조 표시합니다. 이 기능은 JavaScript, TypeScript, CSS, Sass, SCSS 및 Less에서 작동합니다.

RubyMine 2019.2에서 제공하는 JavaScript의 개선 사항을 자세히 알아보려면 WebStorm의 새로운 기능을 참조하세요.

코드 스타일

코드 스타일 설정 편집

EditorConfig 지원 개선

2019.2 버전에서는 여러 개의 .editorconfig 파일을 추가하여 프로젝트 내 다양한 부분에서 서로 다른 코드 스타일을 유지할 수 있습니다. 이제 오랫동안 지원되어온 표준 EditorConfig 옵션뿐만 아니라 사용할 수 있는 모든 IDE 코드 스타일 옵션을 지원하는 IDE별 프로퍼티를 사용할 수 있습니다.

셸 스크립트

셸 스크립트 편집

셸 스크립트 편집

새로운 버전에서는 셸 스크립트에 대한 완벽한 지원이 추가되었습니다. 여기에는 .sh.bash 파일의 코드 완성, 빠른 문서, 텍스트 이름 변경 지원과 셸 스크립트용 실행 구성 지원이 포함됩니다. 또한 IDE가 ShellCheckshfmt와 통합되어 각각 린팅 및 코드 서식 지정을 지원합니다.

Git

.gitignore 자동 완성 지원

.gitignore에서 코드 완성 제공

.gitignore 파일에서 파일과 폴더에 코드 완성 제안이 제공됩니다. 이름을 Ctrl-클릭하면 Project(프로젝트) 도구 창에서 파일 또는 폴더로 이동할 수 있습니다. 또한 Project 뷰 및 Local Changes(로컬 변경 내용)에서 대상 파일을 마우스 오른쪽 버튼으로 클릭하여 Add to .gitignore(.gitignore에 추가)를 선택하면 .gitignore로 파일을 빠르게 추가할 수 있습니다.

데이터베이스 도구

데이터베이스 도구 개선 – 전체 텍스트 검색

전체 텍스트 검색으로 데이터 찾기

이제 데이터의 정확한 위치를 모르더라도 데이터베이스에서 데이터를 검색할 수 있습니다. 검색할 데이터 소스를 마우스 오른쪽 버튼으로 클릭하고 Full-text Search<0>(전체 텍스트 검색, Ctrl+Alt+Shift+F)를 선택하세요). 쿼리 결과가 필터링되어 해당 데이터가 있는 문자열만 표시됩니다.

RubyMine 2019.2에서 제공하는 기타 데이터베이스의 개선 사항을 자세히 알아보려면 DataGrip의 새로운 기능을 참조하세요.

기타 개선 사항

  • 표준 젬 지원
  • Action Text(액션 텍스트) 지원
  • Cucumber 4 지원
  • Version Control(버전 관리) 도구 창 내 UI의 사소한 개선 사항