C# 7.0 and 7.1 support in ReSharper – How this affects other ReSharper features

ReSharper support for C# 7 and C# 7.1Over the past days, we have been blogging about ReSharper support for C# 7.0 and C# 7.1.

Today, let’s conclude with a final part around how ReSharper understands the new syntax and constructs that C# 7.0 and C# 7.1 bring, and ties them into existing and new inspections, quick-fixes, navigation and refactorings.

In this series:

Continue reading

Posted in How-To's | Tagged , , , , , | 4 Comments

C# 7.0 and 7.1 support in ReSharper – Pattern matching with generics

ReSharper support for C# 7 and C# 7.1Pattern matching with generics (spec) is another great topic for our blog series about support for C# 7.0 and C# 7.1 in ReSharper (and Rider)! Using pattern matching, we can combine a type check with a cast, removing some language ceremony. Let’s see how ReSharper can help us with its inspections, quick-fixes and context actions.

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , | Leave a comment

ReSharper Ultimate 2017.3 Early Access Program kicks off

ReSharper Ultimate tools have just entered yet another pre-release cycle: please welcome ReSharper Ultimate 2017.3 EAP!
ReSharper Ultimate 2017.3 EAP

Here’s a few things that the first 2017.3 EAP build adds:

  • Updated code formatter, including new formatting options and fixes, notably for C# and HTML, as well as control of formatting settings via file masks from .editorconfig and via comments.
  • New typing assists for multi-line comments and chained method calls in C#.
  • C# 7 support extended with a code generation action that creates deconstructors from selected fields or properties.
  • Better presentation of Find Usages results with regard to multi-line method invocations.
  • New context actions, code inspections, and formatting options, as well as language support improvements in ReSharper C++.
  • Support for async/await and Tasks, as well as reworked backtrace presentation in dotTrace.

For your reference, here are lists of issues fixed in ReSharper and ReSharper C++.

We’ll keep you updated as new builds are published, and we’ll talk about significant updates in more detail. Meanwhile, please download ReSharper Ultimate 2017.3 EAP.

Posted in How-To's | Tagged , , , , , , , | 5 Comments

C# 7.0 and 7.1 support in ReSharper – Tuples

ReSharper support for C# 7 and C# 7.1ReSharper 2017.1 and 2017.2 bring better support for C# 7.0 and C# 7.1, with a number of new inspections, quick-fixes and context actions. In this 6th part of our blog series, let’s cover how ReSharper (and Rider) work with tuples and how they help with inferring tuple names (spec) in our code. Tuples have been around for a while, and keep evolving in both C# as well as in ReSharper’s features that you know and love.

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , | Leave a comment

C# 7.0 and 7.1 support in ReSharper – Default literal

ReSharper support for C# 7 and C# 7.1As part of our blog series about ReSharper support for C# 7.0 and C# 7.1, let’s talk about the default literal (spec) which was added to C# 7.1. It lets us initialize variables in our code regardless of these variables being value types or reference types. ReSharper adds inspections, quick-fixes and context actions around this new language feature.

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , | Leave a comment

C# 7.0 and 7.1 support in ReSharper – Async main

ReSharper support for C# 7 and C# 7.1Many developers have been wishing for an async main method to be able to use async/await constructs in console-based applications. The good news is that C# 7.1 introduces support for this (spec)! ReSharper (and Rider) do so, too.

Let’s continue our blog series about ReSharper support for C# 7.0 and C# 7.1 with an episode that covers how ReSharper handles this new keyword.

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , | Leave a comment

C# 7.0 and 7.1 support in ReSharper – Expression-bodied everything

ReSharper support for C# 7 and C# 7.1Today, we continue our blog series on ReSharper support for C# 7.0 and C# 7.1. The previous post touched on throw expressions (spec) and ReSharper’s inspections, quick-fixes and context actions around these language features.

Today, let’s talk about expression-bodied methods, properties, local functions, constructors, destructors and event accessors. Or in short: expression-bodied “everything”!

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , , , | 2 Comments

C# 7.0 and 7.1 support in ReSharper – Throw expressions

ReSharper support for C# 7 and C# 7.1Let’s continue our blog series about ReSharper support for C# 7.0 and C# 7.1! We’ve already blogged about how ReSharper (and Rider) handle out variables, today we’ll look at throw expressions (spec) that are available in C# 7.0.

Throw expressions allow us to throw exceptions from almost any expression, making our code more concise and readable. ReSharper adds inspections, quick-fixes and context actions around these language features.

In this series (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , , , | Leave a comment

C# 7.0 and 7.1 support in ReSharper – Out variables

ReSharper support for C# 7 and C# 7.1Back in February, we wrote a State of the union about ReSharper C# 7 support, based on ReSharper 2016.3. Since then, a number of improvements have been made, both to C# as well as ReSharper (and Rider, which gets language support updates from ReSharper for free).

ReSharper 2017.1 and 2017.2 both bring better support for C# 7.0 and C# 7.1, with a number of new inspections, quick-fixes and context actions. ReSharper understands the new syntax and constructs that C# 7.0 and C# 7.1 bring, and ties them into existing and new inspections, quick-fixes, navigation and refactorings:

  • Binary literals (spec) and digit separators (spec) – see here for ReSharper features (C# 7.0)
  • Local functions (spec) – see here for ReSharper features (C# 7.0)
  • out variable declarations (spec) (C# 7.0)
  • throw expressions (spec) (C# 7.0)
  • Expression-bodied “everything” (C# 7.0)
  • async main methods (spec) (C# 7.1)
  • default literal (spec) (C# 7.1)
  • Inferring of tuple names (spec) (C# 7.1)
  • Pattern matching with generics (spec) (C# 7.1)

Let’s start a blog series on how these language features translate to ReSharper and Rider (we will update the table of contents as we progress):

Continue reading

Posted in How-To's | Tagged , , , , , , | 3 Comments

JetBrains Rider 2017.2 is released

Please welcome Rider 2017.2 RTM: this year’s second major update to the new .NET IDE.

JetBrains Rider 2017.2 is released

For a recap, here are the highlights of this Rider update:

  • Support for .NET Core 2.0: you can now edit, run, debug, test, navigate and refactor your shiny new .NET Core applications.
  • Call and value tracking: inspect where a value originates and where it’s passed next, or what call trees a method is part of.
  • MSTest support: Rider can now run unit tests that target both the classic MSTest and the newer cross-platform MSTest V2.
  • Opening individual folders or files, because not all code is in a solution or project. Alternatively, you can attach a folder to an exiting solution.
  • Multiple debugger updates including the Parallel Stacks view, lambda evaluation, and marking variables.
  • New refactorings ported from ReSharper: Transform Parameters and Invert Boolean.
  • Updates from the latest ReSharper, including improved support for C# 7.0, initial support for C# 7.1, and an assortment of code inspections.
  • Evolving F# support, including code folding, XML doc comment tooltips, and evaluating expressions on hover.
  • Unity support improvements, such as new file templates and better ShaderLab code highlighting.
  • Updates from the latest IntelliJ Platform in terms of VCS integration, JavaScript and TypeScript support, and better textual search.

Learn more about Rider 2017.2 and download the update!

Posted in How-To's | Tagged , , , , , , , , , | 5 Comments