ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (2024)

.NET ToolsEarly Access ProgramNewsReleasesReSharper Platform

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (1)

Sasha Ivanova

You can download the ReSharper 2023.2 EAP build 1 from www.jetbrains.com or via the JetBrains Toolbox App.

Now, let’s take a look at what the first EAP build has in store.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (2)

C# inspections for #nullable directives and NRT annotations

We’re kicking off the new cycle of C# language support development with the introduction of two new inspections that can counter the misuse of #nullable directives.

The new Redundant nullable directive inspection is designed to point out cases where the #nullable directive does not change nullable context and can be safely removed. The Unused nullable directive inspection deals with cases where there is no code affected by the #nullable directive. As always, both inspections come with corresponding quick-fixes for easy code cleanup.

Another C# inspection we’re introducing in EAP 1 is designed to alert you to cases where nullable reference type (NRT) annotations contradict JetBrains.Annotations attributes on a base member.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (3)

NRT annotations alone can verify signature mismatches on inheritance only when both the base and derived types use nullable reference types. This leaves a dangerous gap in the nullability safety net when a project is only partially migrated to NRT or when it uses a third-party library that has only JetBrains.Annotations or external JetBrains.Annotations (for example, if its authors don’t want to migrate it to NRT). The new inspection will cover such cases, catching signature mismatches at the border of two different nullability annotation systems and making it harder for NullReferenceException exceptions to creep into your code.

New options for formatting fluent API calls

ReSharper 2023.2 EAP 1 introduces a couple of new options for C# code formatting, designed to improve the readability of chained method calls.

The first code formatting option controls whether a line break comes before the first method call. The second option is for situations where method and property invocations are mixed, and it determines whether a line break should be inserted after the property invocation.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (4)

You can find and enable the formatting options by going to Resharper Settings | Code Editing | C# | Formatting Style | Line breaks and wrapping.

New inlay hints

The first EAP build for ReSharper 2023.2 comes with a set of brand new inlay hints to aid the readability of your code whenever tuples, discards, and deconstruction components in deconstruction patterns are involved.

When passing a value to a tuple argument or return type, C# allows you to skip component names. However, without the names it becomes more difficult to tell the meaning of each component without looking at its target type. For example, many software developers will have to check where a tuple (null, false) is assigned to understand what its components mean.

That’s where inlay hints can help you out! ReSharper 2023.2 will display inlay hints with tuple component names when those names aren’t already apparent from the component expression, making your code much easier to read and understand at a glance.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (5)

For null and default components, ReSharper 2023.2 will display hints about their target types even if the target component doesn’t have an explicit name. It will make an exception for string and object types, as those usually aren’t very informative.

Another common situation in which names can improve readability is deconstruction patterns where an explicit name is known either from the Deconstruct method or from source tuple components. These hints were developed to provide you with additional context when a pattern itself doesn’t contain enough data to understand what is matched, such as value is ({ }, true, null).

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (6)

Last but not least, ReSharper 2023.2 will allow you to quickly check names and types of discarded values with Push-to-hint. Sometimes, an object or method returns more variables than needed, and some are discarded with `_`. When returning to such code later, knowing what additional data could have been obtained is often beneficial. Perhaps, a bug you are looking for is caused by someone disregarding an additional bit of information instead of checking it? Hints for discards are not shown by default, but when you need to know what value is discarded, you can quickly check it by pressing and holding Ctrl to activate the Push-to-hint functionality.

C++ updates

Safe Delete comes to C++

The Safe Delete refactoring lets you remove symbols from the source code safely. It is now available in C++ for deleting a class, function, variable, namespace, or even a concept. What makes this refactoring safe is that before deleting a symbol, ReSharper C++ searches for usages and gives you a preview of the results, so you can be sure that all the removals are intended.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (7)

If you try to delete a complex entity, like a class or namespace, ReSharper C++ will recursively check usages for all its members.

More C++20 and C++23 features

In this EAP build, ReSharper C++ introduces support for if consteval and brings 3 new inspections to help you play around with recent language additions for constant evaluation:

  • consteval if is always constant
  • std::is_constant_evaluated will always evaluate to constant
  • if can be replaced by if consteval

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (8)

With improved completion for dependent code with C++20’s concepts, you will now get completion items when the type is restricted by concepts or traits. There are also handy new context actions to move a constraint to a requires-clause and to convert a clause to a parameter constraint.

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (9)

For more details on the ReSharper C++ updates, see the dedicated blog post.

For the full list of resolved issues, please refer to our issue tracker.

That’s it for now! Make sure you give ReSharper 2023.2 EAP 1 a try and leave your feedback in the comment section below or on our social media, and submit any issues you come across to our tracker.

C# C++23 EAP 2023.2 ReSharper

  • Share
  • Facebook
  • Twitter
  • Linkedin

Prev post JetBrains GameDev Day 2023 – Call for SpeakersRider 2023.2 Early Access Program Is Now Open Next post

Subscribe to a monthly digest curated from the .NET Tools blog:

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (10)

ReSharper 2023.2 Kicks Off the Early Access Program! | The .NET Tools Blog (2024)
Top Articles
14.31818 MHz | Andrey Akinshin
Hc-49s Oscillator Resonator Kit 4, 8, 12, 16, 20, 25Mhz 32.768Khz #A6-33 • EUR 6,25
Star Wars Mongol Heleer
The Blackening Showtimes Near Century Aurora And Xd
Ohio Houses With Land for Sale - 1,591 Properties
Was ist ein Crawler? | Finde es jetzt raus! | OMT-Lexikon
Skamania Lodge Groupon
Pieology Nutrition Calculator Mobile
What to Do For Dog Upset Stomach
Mychart Mercy Lutherville
1970 Chevelle Ss For Sale Craigslist
Ds Cuts Saugus
Santa Clara College Confidential
Us 25 Yard Sale Map
Geodis Logistic Joliet/Topco
Dr Doe's Chemistry Quiz Answer Key
Tripadvisor Near Me
Transformers Movie Wiki
The Weather Channel Facebook
1Win - инновационное онлайн-казино и букмекерская контора
Oscar Nominated Brings Winning Profile to the Kentucky Turf Cup
Oppenheimer Showtimes Near Cinemark Denton
How to Store Boiled Sweets
The most iconic acting lineages in cinema history
Classic Lotto Payout Calculator
Canvas Nthurston
Webcentral Cuny
Sprinkler Lv2
Weepinbell Gen 3 Learnset
Palm Springs Ca Craigslist
Wsop Hunters Club
College Basketball Picks: NCAAB Picks Against The Spread | Pickswise
[PDF] PDF - Education Update - Free Download PDF
Yugen Manga Jinx Cap 19
Disputes over ESPN, Disney and DirecTV go to the heart of TV's existential problems
Craigslist Pasco Kennewick Richland Washington
Dell 22 FHD-Computermonitor – E2222H | Dell Deutschland
Gopher Carts Pensacola Beach
Solo Player Level 2K23
Missing 2023 Showtimes Near Grand Theatres - Bismarck
Graphic Look Inside Jeffrey Dresser
Ramsey County Recordease
Craigslist Pets Plattsburgh Ny
How to Print Tables in R with Examples Using table()
Juiced Banned Ad
Collision Masters Fairbanks
Syrie Funeral Home Obituary
300+ Unique Hair Salon Names 2024
1Tamilmv.kids
Pronósticos Gulfstream Park Nicoletti
Phunextra
Heisenberg Breaking Bad Wiki
Latest Posts
Article information

Author: Carlyn Walter

Last Updated:

Views: 5936

Rating: 5 / 5 (50 voted)

Reviews: 89% of readers found this page helpful

Author information

Name: Carlyn Walter

Birthday: 1996-01-03

Address: Suite 452 40815 Denyse Extensions, Sengermouth, OR 42374

Phone: +8501809515404

Job: Manufacturing Technician

Hobby: Table tennis, Archery, Vacation, Metal detecting, Yo-yoing, Crocheting, Creative writing

Introduction: My name is Carlyn Walter, I am a lively, glamorous, healthy, clean, powerful, calm, combative person who loves writing and wants to share my knowledge and understanding with you.