향상된 클라우드 기반 코드 완성, 인라인 AI 프롬프트, Kamal 2 지원, RBS 컬렉션과의 기본 통합, Ruby 3.4 업데이트, Grazie 기반의 철자 및 문법 검사
RubyMine 2024.3은 JetBrains AI Assistant 플러그인을 통해 더 빠르고 컨텍스트를 인식하는 클라우드 기반 코드 완성 기능을 제공하며, 품질과 속도를 개선하고, 여러 줄 완성 기능을 지원합니다.
Mellum 대규모 언어 모델(LLM)로 구동되므로, 완성 지연 시간이 이전 버전에 비해 약 1/10로 줄어 제안이 거의 즉각적으로 제시됩니다. 이전 버전에 비해, 완성 제안에 대한 수락률은 약 2배로 증가하고, 취소율은 절반에서 3분의 1로 줄었습니다.
AI Assistant의 클라우드 기반 코드 완성 기능은 AI Pro 구독이나 활성화된 무료 평가판을 통해서만 이용할 수 있습니다.
RubyMine은 이제 AI Assistant에 Rails 애플리케이션에 대한 더 많은 컨텍스트를 제공하여 유닛 테스트 생성을 개선합니다.
RubyMine 2024.3에는 인라인 AI 프롬프트가 도입되어 에디터에서 바로 AI Assistant와 원활하게 상호 작용할 수 있습니다. 자연어로 요청을 입력하면 AI Assistant가 즉시 해석하여 코드 변경으로 변환하며, 변경 내용을 쉽게 추적할 수 있도록 여백에 보라색으로 표시합니다. 인라인 AI 프롬프트는 컨텍스트를 인식하여 관련 파일과 심볼을 자동으로 포함하므로, 코드 생성의 정확도가 올라갑니다.
이 기능은 현재 *.rb
파일에서 사용할 수 있습니다.
Rails 8이 Kamal 2를 사용한 애플리케이션 배포를 지원함에 따라, RubyMine 2024.3에는 Kamal 2 구성에 대한 코드 완성이 구현되었습니다.
schema.rb
의 nil 가능 여부 어노테이션 이제 RubyMine에서 마이그레이션 속성에 대한 not-null
타입 제어자를 인식하고 잘못된 nil
대입을 강조 표시 및 경고합니다.
RubyMine 2024.3에서는 queue_schema.rb
와 cache_schema.rb
파일에 특정 아이콘과 구문 강조 표시 기능이 추가됩니다.
RubyMine은 이제 시그니처가 포함되지 않은 gem에 대한 커뮤니티 관리 RBS 파일 컬렉션인 RBS 컬렉션과 기본적으로 통합됩니다.
프로젝트에서 RBS를 사용하지 않더라도 별다른 설정 없이 RBS 컬렉션에 포함된 타입 시그니처의 이점을 누릴 수 있습니다. RubyMine은 프로젝트 종속성에 대한 타입 시그니처를 자동으로 다운로드하고 관리합니다.
it
사용 RubyMine은 이제 매개변수가 없는 블록에서 it
을 _1
의 별칭으로 인식하여, 이러한 사용 위치에 타입 지원과 변환 인텐션을 제공합니다.
번호가 매겨진 일반 매개변수가 있는 블록에서 it
을 사용하지 못하도록 하는 새로운 오류 어노테이션이 추가되었습니다.
RubyMine은 이제 Ruby 3.4에서 문자열 리터럴의 새로운 전환 상태인 'chilled' 문자열을 인식합니다. frozen_string_literal
프래그마가 없는 프로젝트에서는 문자열이 'chilled' 상태가 되어, 오류가 발생하지 않고 경고와 함께 수정이 가능해집니다.
사용자가 모호한 중첩 컨텍스트에서 익명 블록, REST 및 키워드 REST 인수를 사용하려고 하면 RubyMine에서 오류를 표시합니다.
Find in Files(파일에서 찾기) 기능이 새로운 검색 범위인 Project Files Excluding Git-Ignored(프로젝트 파일에서 Git 무시 파일 제외)로 향상되었습니다. 이 옵션을 사용하면 .gitignore
파일에서 무시된 모든 파일이 검색 결과에서 제외되므로 프로젝트를 검색할 때 관련 코드에만 집중할 수 있습니다.
이제 Settings(설정) | Version Control(버전 관리) | Commit(커밋)에서 새로운 Run advanced checks after a commit is done(커밋 완료 후 고급 검사 실행) 옵션을 사용하여 커밋 프로세스 중에 백그라운드 검사를 관리할 수 있습니다. 이 설정을 사용하면 커밋한 후 테스트와 검사를 실행할지 여부를 결정할 수 있습니다. 커밋하기 전에 이러한 검사를 완료하려면 이 기능을 비활성화하면 됩니다.
Grazie 플러그인을 이제 RubyMine에서 바로 사용할 수 있습니다. 이 플러그인은 단순한 철자 오류와 오타는 물론 지능적인 검사 기능을 제공하며, 문법 규칙을 이해하고 부적절한 스타일을 경고할 수 있습니다.
Grazie 검사는 문자열, heredoc, 주석, 블록 주석 및 RDoc 파일에 사용할 수 있습니다.
Settings(설정) | Editor(에디터) | Natural Languages(자연어) | Grammar and Style(문법 및 스타일) | Scope(범위)에서 Grazie 검사를 관리할 수 있습니다.
디버그 중에 콘솔이나 Evaluate Expression(표현식 평가) 필드를 사용할 때 첫 번째 완성 제안이 미리 선택되도록 할지 여부를 제어하는 새로운 옵션을 추가했습니다.
이제 디버그 중에 Evaluate Expression 필드에 self
타입이 정확하게 반영되고, 추론된 타입이 있는 지역 변수와 매개변수가 인식되며, 현재 스택 프레임 세션 내에 삽입된 새로운 지역 변수에 대한 완성 기능이 지원됩니다.
콘솔 세션은 이전에 실행한 명령어를 기억하고 지역 변수에 대한 타입 추론과 완성 기능을 제공합니다.
에디터 내 디폴트 탭의 한도를 30개로 늘렸습니다. 즉, 탭 한도에 도달해 최근에 가장 적게 사용한 탭부터 닫히기 전에 더 많은 탭을 열어둘 수 있게 되었습니다. Settings(설정) | Editor(에디터) | General(일반) | Editor Tabs(에디터 탭)에서 이 설정을 관리할 수 있습니다.
에디터 요소와 Project(프로젝트) 도구 창에서 Rename(이름 변경) 액션을 효과적으로 호출할 수 있게 컨텍스트 메뉴에서 이 액션의 배치를 최적화했습니다. 이 액션이 이제 최상위 수준에 배치되어 마우스를 자주 사용하는 사용자도 파일, 변수 및 기타 요소의 이름을 빠르게 바꿀 수 있습니다.
안쪽 여백을 줄여 화면 공간을 극대화하는 더 콤팩트한 디자인으로 새로운 터미널 UI를 업데이트했습니다. 줄어든 안쪽 여백 덕에 공간이 절약되어, 명령어를 사용할 때 가독성이 유지되면서 가시성은 높아집니다.
이제 RubyMine은 기본적으로, 파일 내에서 선택한 텍스트의 모든 인스턴스를 자동으로 강조 표시합니다. 이에 따라 선택한 텍스트가 코드 전체에서 어디에 나타나는지 추적하기가 더 쉬워집니다.