ReSharper Ultimate 2020.1은 C# 정수값의 데이터 흐름 분석 도구를 새롭게 선보입니다. 또한 null 가능 참조 타입 기능에 대한 향상된 지원과 신규 C++20 기능이 추가되었습니다. XAML 및 Unreal Engine 지원의 개선 사항과 탐색에 추가된 일부 신규 기능도 놓치지 마세요. 그뿐 아니라, 이제 Localization Manager에서 주석을 추가할 수 있습니다. 디컴파일러에서는 C# 7.x 및 8.0 기능이 한층 다양하게 지원됩니다.
30일 무료 평가 이용 가능
ReSharper의 이번 버전에는 애플리케이션에서 C# 정수값의 사용 위치를 추적하는 새로운 유형의 코드 분석 기능이 도입되었습니다. 이 새로운 유형의 분석은 모든 int
지역 변수의 값이 어떻게 변하는지 추적하고, 그러한 변수에 대한 모든 공통 연산의 정확성을 검증하여 쓸모없거나 오류가 있는 코드를 탐지합니다. 즉, 다음을 경고합니다.
true
또는 false
결과를 도출 int
값을 확인하는, 경험적으로 도달할 수 없는 switch
케이스 1
곱하기, 0
더하기 등과 같은 의미 없는 산술 연산 int
오버플로0
으로 나누기또한 분석의 정확성을 높이기 위해 int
유형의 유형 멤버 및 매개변수와 함께 사용하는 두 가지 새로운 JetBrains.Annotations 속성인 [NonNegativeValue]
및 [ValueRange(from, to)]
를 추가했습니다. 이러한 속성은 특정 int
멤버의 값이 런타임에서 어떻게 달라질 수 있는지 지정합니다.
C# 8 언어 기능에 대한 지원을 계속 추가 하고 있습니다. 그동안에는 null 가능 참조 타입(NRT)을 지원하기 위해 C# 언어 지원의 많은 부분을 새롭게 바꾸어 코드 분석, 리팩터링 및 ReSharper Build 등의 기타 기능을 준비해왔습니다. ReSharper 2020.1에서는 코드 분석 기능이 null 가능 참조 타입과 관련된 컴파일 경고를 보고하고 대부분의 경고에 대한 빠른 수정을 제공합니다.
또한 몇가지 새로운 검사 및 빠른 수정도 추가되었습니다.
sync
오버로드 대신 async
오버로드를 탐지하고 사용합니다. nameof
표현식을 사용하여 현재 유형의 이름을 가져옵니다. 이번 릴리스에 ReSharper 아키텍처 변경 사항이 다양하게 추가되었습니다. 이제 Visual Studio 프로세스 외부에서 모든 ReSharper 핵심 기능을 실행하고자 하는 목표에 더욱 가까워졌습니다. 모든 변경은 내부적으로 적용되어 ReSharper 2020.1 릴리스 빌드의 UI/UX상 변화는 눈에 띄지 않습니다.
ReSharper를 별도의 프로세스로 이전하는 과정의 최신 소식을 놓치셨다면 이번 기회를 통해 진행 상황을 확인하세요.
Navigation(탐색) 기능에 작지만 유용한 업데이트가 있습니다. 이번 업데이트는 ReSharper 작업 시 마우스와 키보드를 주로 사용하는 모든 사용자에게 도움이 됩니다.
2020.1 버전에서는 WPF, Xamarin.Forms, UWP, 및 Avalonia XAML이 포함된 XAML 지원에 수많은 개선 및 수정이 이루어졌습니다.
더욱 향상된 바인딩의 데이터 컨텍스트 추론 및 심볼 확인 기능을 확인해 보세요.
d:BindingContext
가 사용될 경우Picker.ItemDisplay
RelativeSource
바인딩ScrollViewer
제어의 템플릿 바인딩ItemsSource
가 중첩된 요소로 사용될 경우TreeView.ItemContainerStyle
UWP 프로젝트에는 다음 지원이 추가되었습니다.
CustomResource
바인딩 추가 수정 사항에는 다음 지원이 포함됩니다.
URN
) 사용 x:Static
지시문ReSharper 2020.1 버전부터 유닛 테스트 세션을 내보내거나 가져올 수 있습니다. 이에 따라 코드에서 무언가를 변경하고 두 브랜치에 대해 동일한 유닛 테스트를 실행/적용하고자 할 때 팀, 컴퓨터 또는 브랜치 간에 유닛 테스트 세션을 공유할 수 있습니다.
또한 ReSharper의 새로운 버전으로 업그레이드 한 후에도 이미 생성되어있던 유닛 테스트 세션은 계속 유지되어, 열려있거나 잠겨있는 세션을 잃고 싶지 않을때 유용합니다.
사용자 요청으로 도입된 신규 기능을 살펴보세요! 이제 그리드에 주석 행이 새롭게 추가되었습니다. 리소스 파일에서 가져온 모든 값에 대한 주석을 그리드 내부에서 바로 남길 수 있습니다(또는 기존 주석 편집도 가능합니다). 그뿐 아니라 주석 내보내기 및 가져오기도 가능합니다. 주석을 사용하지 않거나 현재 주석 기능이 필요하지 않다면 Show/Hide comments(주석 표시/숨김) 아이콘을 클릭하여 숨길 수 있습니다.
또한 몇 가지 성능 개선을 통해 그리드의 로딩 및 필터링 속도를 높이고, UI 멈춤 현상을 줄였으며 훨씬 부드러운 스크롤을 지원합니다.
한편 주요 UX 개선 사항은 다음과 같습니다.
코드 서식 지정 기능에서 C# 코드 스타일의 후행 쉼표를 포함하는 새로운 설정을 제공합니다. 이 설정은 ReSharper | Options(옵션) | Code Editing(코드 편집) | C# | Code Style(코드 스타일) | Trailing comma(후행 쉼표)에 있으며 StyleCop SA1413 검사와 호환 가능합니다(일부 코너 케이스 제외).
C++20 표준은 곧 공식 승인을 받을 예정이며 ReSharper C++에서도 최신 기준에 대한 지원을 추가로 제공합니다. 이제 제한된 유형의 플레이스홀더, 축약형 함수 템플릿 및 열거형 선언 사용을 비롯한 언어 기능이 새롭게 지원됩니다. 또한 ReSharper C++은 C++20 템플릿 구문이 포함된 람다 선언을 업데이트하는 빠른 수정 및 간편한 열거형 선언 사용을 위한 리팩터링을 제공합니다.
ReSharper C++ 2020.1 버전은 Unreal Engine 지원 업데이트로 이름 변경 리팩터링을 개선하고 가상 파일 경로가 포함된 SpatialOS GDK 및 USF에 대한 지원을 새롭게 선보입니다. 또한 ReSharper C++에서도 Use auto(자동 사용) 검사를 제외하고 콘솔 변수 및 로그 카테고리에 대한 이름 생성 규칙을 따름으로써 Unreal Engine 가이드라인을 철저히 준수합니다.
ReSharper C++ 2020.1 버전은 HLSL 조기 지원을 제공합니다. 비록 조기 지원이지만 기본 코드 강조 표시부터 스마트 코드 완성, 빠른 탐색 등에 이르는 다양한 기능이 포함되어 있습니다.
이제 Next Important Call(다음 중요 호출) 액션을 활용하여 호출 트리를 탐색할 수 있습니다. dotTrace에서 Ctrl+Shift+오른쪽 화살표를 누르면 추가 분석을 위해 연관성이 가장 높은 노드로 이동합니다(예: 실행 시간이 높은 노드).
이 기능은 dotTrace Standalone 버전(성능 뷰어 및 타임라인 뷰어), Visual Studio, JetBrains Rider에서 제공됩니다.
이번 릴리스에서는 C# 언어 기능 지원이 향상되었습니다.
30일 무료 평가 이용 가능