ReSharper 2025.1 delivers initial support for .NET 10 and C# 14 preview features. This release also brings new inspections targeting common C# pitfalls, along with several quality-of-life enhancements. Performance has been significantly improved with an overhauled string interning system and rebuilt support for Razor tag helpers and Blazor components. Additionally, this release unveils dotMemory integration in Visual Studio and introduces the new Qodana team code quality plugin for enhanced CI/CD pipeline integration.
ReSharper 2025.1 delivers initial support for .NET 10 and C# 14 preview features.
nameof
이전에 nameof
를 사용할 때는 모든 타입 인수를 지정해야 해서 불필요하게 장황해지기도 했습니다. C# 14 allows nameof(List<>)
without explicitly listing type arguments. ReSharper는 nameof
표현식에서 불필요한 제네릭 타입 인수를 탐지하고 이를 단순화하는 빠른 수정을 제공합니다.
Span<T>
변환 C# 14 introduces new implicit conversions between ReadOnlySpan<T>
, Span<T>
, and T[]
, making span-based code more intuitive. ReSharper는 이제 이러한 변환 규칙을 완전히 지원하여 사용자가 효율적이고 현대적인 C# 코드를 작성할 수 있도록 도와줍니다.
C# 14에서는 ref
, out
, in
및 scoped
와 같은 매개변수 한정자를 명시적 매개변수 타입 없이 람다 표현식에서 사용할 수 있습니다. ReSharper는 불필요한 타입 사양을 제거하는 빠른 수정을 제공합니다.
Learn all about the improvements to C# language support in ReSharper and Rider on our blog.
In addition to introducing support for C#14 features, this release also brings several new inspections targeting common pitfalls and inefficiencies across different C# versions:
A new context action lets you convert string interpolation back to concatenation. While ReSharper has long supported converting string concatenation ("Id = " + someId
) to interpolation ($"Id = {someId}"
) or string.Format("Id = {0}", someId)
, this update completes the cycle by allowing the reverse transformation, giving you more flexibility in structuring string expressions.
ReSharper now detects and highlights even more code duplication patterns appearing in conditional constructs like if
and switch
, and makes refactoring suggestions for cleaner, more maintainable code.
CancellationToken
ReSharper now detects cases where a method-level CancellationToken
is mistakenly used instead of a local token. It offers a quick-fix to replace the incorrect token or merge multiple tokens using CancellationTokenSource.CreateLinkedTokenSource()
.
nameof
to reference enum member name Calling .ToString()
on enum members can incur unnecessary runtime overhead. ReSharper now suggests replacing it with nameof(SomeEnum.Member)
, improving performance and clarity.
ReSharper 2025.1 suggests explicit tuple component names instead of generic ItemN
names, making your code more readable and self-documenting.
ReSharper now warns you when Stream.Read()
and ReadAsync()
methods are used without checking their return values, which can lead to incomplete data reads. It suggests replacing them with .ReadExactly()
to ensure correctness.
Debug.Assert
inspection Since Debug.Assert
calls are removed in RELEASE
builds, ReSharper warns you about assertions that modify state and could lead to unexpected behavior in production code.
ReSharper 2025.1에서는 C++ 지원이 다양하게 개선되었습니다.
Learn more about the C++ updates from the What's New in ReSharper C++ 2025.1 page.
<ImplicitUsings>
refactoring Implicit usings automatically include common namespaces, reducing boilerplate. ReSharper now provides an easy way to toggle implicit usings on or off across your project, removing redundant explicit usings when enabled or adding necessary ones when disabled.
ReSharper has modernized the Transform Parameters refactoring, adding support for value tuples, records, and async scenarios to improve code flexibility and maintainability.
A new formatting action applies chop formatting to various C# constructs, improving code readability and consistency.
//
. You can find some helpful screenshots inside these tickets: [RSRP-225809], [RSRP-78312]. We've refined Push-to-Hint behavior in ReSharper to prevent unintended activations caused by conflicts with other Ctrl-based shortcuts. Additionally, we've introduced a visual indicator to show when the mode is active.
ReSharper now visually highlights members that extend base classes or implement specific interfaces when you place the caret over a type name in the base types clause.
For this release, we've completely overhauled our string interning system. IDEs process an enormous number of strings, including source code, syntax elements, symbol names, and file paths, so efficient string handling is critical. Our new string interning system stores, on average, four times as many unique strings as its previous iteration and consumes about half as much memory to do so, freeing up resources in large-scale .NET projects.
Razor 태그 헬퍼 및 Blazor 구성 요소 지원이 2025.1에서 완전히 새로워졌습니다. 오랫동안 기다려온 이 개선으로 구성 요소 사용이 많은 대규모 ASP.NET 솔루션에서 분석 시간이 5~10% 단축됩니다. 또한 .cshtml
/.razor
파일을 편집할 때 재분석 이벤트가 줄어들고 잘못된 오류 보고가 크게 감소합니다.
We've been testing the latest out-of-process (OOP) implementation of ReSharper internally for the past four weeks, and we're truly excited about the results so far. While we're still working to support all features and fix known issues, the core functionality that makes ReSharper an essential part of your development workflow is coming together nicely.
Read our latest blog post for a complete status update on OOP ReSharper.
Qodana is a team code quality tool that leverages JetBrains inspections to help teams run checks and audits and establish quality gates in their favorite CI/CD pipeline. Now, you can download the Qodana Code quality extension via your ReSharper installer to bring Qodana Cloud or self-hosted Qodana projects into Visual Studio.
Identify code issues, bugs, and vulnerabilities, run the analyses directly in your pipeline, and then view issues in your IDE where you work for better contextual updates and learning. You also have the option to download it as a standalone tool using the ReSharper installer.
ReSharper 2025.1은 주요 게임 개발 워크플로를 모두 지원하는 Unity 플러그인을 번들로 제공합니다. 이 플러그인은 Unity 이벤트 함수 및 API에 대한 코드 완성, Unity 문서로 연결되는 툴팁 요약, 일반적인 문제를 탐지하는 전문 검사를 제공합니다. ShaderLab 파일에 대한 구문 강조 표시, 코드 완성 및 오류 탐지 기능도 포함되어 있습니다. 이 플러그인은 또한 .meta
파일을 자동으로 처리하고 Unity 장면, 프리팹 및 애셋에서 필드와 메서드의 묵시적 사용을 탐지합니다.
ReSharper C++ continues to provide dedicated support for Unreal Engine development.
ReSharper 2025.1 brings several improvements to the decompiler, enhancing support for the latest C# features and improving code readability. Here’s what’s new:
required
members. System.Threading.Lock
type introduced in C# 13. ref
fields and scoped
parameter modifiers. allows ref struct
generic anti-constraint. using
for ref struct
types. .inject
C# 12's primary constructors have simplified dependency injection. The new .inject
postfix template further streamlines constructor dependency injection by automatically introducing a parameter in the primary constructor and suggesting a meaningful name.
ReSharper now provides enhanced structured logging support, helping developers write and analyze logs more efficiently.
ReSharper now allows language injection annotations on method return values, extending previous support for parameters, fields, and properties.
Previously, multiline To-do comments required indentation for continuation. ReSharper 2025.1 removes this restriction, making it easier to write and manage multiline to-dos while still enforcing indentation where provided.