RustRover 2024.2의 새로운 기능

이 버전에서 가장 주목할 점으로 프런트엔드 개발 및 데이터베이스 지원과 전체 줄 코드 완성이 있습니다.

다운로드

비영리용으로는 무료. 30일 평가판 사용 가능.

프런트엔드 개발 및 데이터베이스 지원

사용자 피드백을 반영하여 RustRover에서 웹 기술데이터베이스에 대한 지원을 다시 구현했습니다.

Rust에 대한 전체 줄 코드 완성

이번 릴리스에서는 Rust 언어에 대한 전체 줄 코드 완성 기능을 도입했습니다. 이 기능은 어떤 데이터도 IDE 외부로 전송하지 않고 로컬에서 실행되는 딥 러닝 모델을 사용하여 전체 코드 줄을 제안합니다. 현재 파일의 컨텍스트를 바탕으로 완전한 문장이 회색의 한 줄 텍스트로 제안됩니다. 전체 줄 코드 완성 기능은 RustRover 구독에 추가 비용 없이 포함됩니다.

실행 중인 프로세스에 디버거를 연결하는 기능

이제 활성화된 애플리케이션을 다시 시작하지 않고 디버그할 수 있습니다. 그 덕분에 외부 관리 프로그램에서 동적 라이브러리나 플러그인을 작업하기가 더 쉬워집니다.

Cargo.toml에 대한 다양한 개선 사항

  • 다른 타입의 프로퍼티에 대한 완성 제안을 수락할 때 캐럿이 같은 자리에 그대로 유지됩니다.
  • 이제 최상위 프로퍼티의 타입이 객체인 경우 해당 프로퍼티는 []로 묶이고, 타입이 객체 배열인 경우 [[]]로 묶입니다.
  • 헤더에서 프로퍼티가 단순한 타입이나 객체의 배열일 수 있는 경우, 해당 프로퍼티에 완성 제안을 사용해도 이중 괄호가 추가되지 않습니다.
  • lints에 완성 기능을 사용할 수 있습니다.
  • 배열을 테이블 배열로 선언하는 것을 방지하는 검사가 새로 추가되었습니다.

Cargo 프로파일 전환기

이제 실행/디버그 구성을 사용할 때 전용 Cargo 프로파일 전환기를 사용하여 프로파일을 지정할 수 있으므로 더 이상 수동으로 지정할 필요가 없습니다.

? 연산자에 대한 지원 개선

? 연산자의 타입 검사를 크게 개선했습니다. 이제 체인 메서드 호출을 포함한 다양한 경우에 자동 완성에서 이 연산자가 제안됩니다. ? 사용을 허용하는 unwrap() 호출을 강조 표시하는 새로운 검사도 있습니다.

폴더 개선 사항

이제 모듈 폴더가 Project(프로젝트) 뷰에서 패키지로 편리하게 표시되어 일반 폴더와 쉽게 구분됩니다.

또한, 파일을 끌어서 놓아도 더 이상 상위 디렉터리의 Move(이동) 대화상자가 표시되지 않습니다.

Proc_macro 개선 사항

작업 공간 내 선택적 종속성의 매크로 확장

이제 Cargo에서 코드 분석이 제대로 작동하는 데 필요한 모든 종속성의 proc_macro와 빌드 스크립트를 컴파일링합니다. 드물지만 명시적으로 충돌하는 기능을 비활성화해야 할 수도 있습니다.

속성에 대한 빠른 수정

새로운 빠른 수정이 이제 절차적 매크로 크레이트의 pub fn#[proc_macro], #[proc_macro_derive]#[proc_macro_attribute] 속성을 ​​추가할 것을 제안합니다.

함수형 매크로 호출에서 인텐션 액션 사용 가능

이제 매크로 확장에 일치하는 요소가 하나만 있는 토큰에도 인텐션 액션을 사용할 수 있습니다.

해결되지 않은 이름 참조에 완성 기능 사용 가능

함수를 선언하기 전에 그 사용 위치를 생성하면 IDE에서 해당 이름과 함께 완성 제안을 제공합니다.

기타

이번 업데이트에는 다른 많은 개선 사항도 도입되었습니다.

  • 테스트를 실행해도 더 이상 프로젝트가 두 번 빌드되지 않습니다.
  • 이제 async 메서드 체인에서 인레이 힌트를 사용할 수 있습니다.
  • IDE에서 이제 Option<...> 타입 반환 값을 Some()으로 래핑합니다(E0308).
  • 새로운 경고에서 {variables:?} 구문에 있는 거짓 음성을 알려줍니다(E0277).
  • 해결되지 않은 메서드에 대한 강조 표시가 개선되었습니다(E0599).
  • 이제 return이 불필요할 경우 IDE에서 알림을 표시합니다.
  • 컴파일러가 제안한 수정 방법을 사용하여 식별자를 변환하면 이제 관련된 모든 식별자 사용 위치에 영향을 미칩니다.
  • extern location for crate does not exist on sync(동기화 시 크레이트의 외부 위치가 존재하지 않습니다) 오류가 수정되었습니다.
  • 내장된 서식 지정 도구가 20개 이상의 문제에 대한 수정을 거쳐 훨씬 더 잘 작동합니다.
  • 불안정한 postfix-match 기능에 대한 지원이 제공됩니다.
  • Unix LLDB로 디버그할 때 Option/Result(옵션/결과) 배후의 값이 이제 Threads & Variables(스레드 및 변수) 뷰에 표시됩니다.
  • format! 매크로 인수에 대한 지원이 개선되었으며, 이제 IDE에서 해결되지 않은 메서드를 강조 표시합니다.

한국어, 일본어 및 중국어 UI 옵션

이제 한국어, 중국어 및 일본어 UI 언어 팩이 IDE 설치 시 기본적으로 포함됩니다. Settings(설정) | Appearance & Behavior(모양 및 동작) | System Settings(시스템 설정) | Language and Region(언어 및 지역)에서 언어를 전환할 수 있습니다.

언어를 인식하는 고정된 줄

이제 고정된 줄 표시에 사용할 언어를 선택할 수 있습니다. Settings(설정) | Editor(에디터) | General(일반) | Sticky Lines(고정된 줄)에서 이 기능을 사용자 지정하거나 에디터에서 고정된 줄을 마우스 오른쪽 버튼으로 클릭하면 나타나는 컨텍스트 메뉴를 통해 사용자 지정할 수 있습니다.

Search Everywhere(전체 검색)의 미리보기 옵션

이제 Search Everywhere(전체 검색) 대화상자에 검색 중인 코드 베이스 요소를 미리 볼 수 있는 옵션이 포함됩니다. 대화상자 툴바의 Preview(미리보기) 아이콘으로 이 기능을 활성화하면, 검색 결과 아래에 미리보기 패널이 나타나 추가적인 컨텍스트를 제공하여 프로젝트 탐색이 수월해집니다.

AI Assistant

현재 AI Assistant와 Rust의 통합을 구현하기 위해 작업 중이지만, 아직은 개발 초기 단계입니다. 새로운 소식을 기다려 주세요!

또한 RustRover는 플랫폼 릴리스에서 원격 개발 및 협업버전 관리 시스템 기능을 이어받았습니다.