What′s New in Rider

Rider 2018.1 adds support for Roslyn analyzers and Entity Framework, introduces XAML preview, takes Unity integration to a whole new level, improves debugger with Memory view and other updates, evolves F# and NuGet support. As usual, this release incorporates features from the latest ReSharper and IntelliJ Platform releases.

Free 30-day trial

Rider 2018.1

Roslyn analyzers support

Roslyn analyzers

Rider provides over 2400 code inspections in all supported languages to help you detect errors and code smells. In this release cycle, we have added even more power to improve your code quality – with Roslyn analyzers. If you have Roslyn analyzers installed in your projects via NuGet or .csproj references, Rider will highlight them in the editor and let you apply quick actions (if available) via the Alt+Enter menu.

Support for Roslyn analyzers is enabled and included in Solution-Wide Analysis by default. Related settings can be configured under Editor | Inspection Settings | Roslyn Analyzers. All analyzers have configurable severity levels, which can be adjusted to your needs via a context menu or the Alt+Enter popup. The light bulb in the gutter will show the Roslyn logo so you can distinguish between Roslyn's and Rider's code analysis.

To learn more, see Roslyn analyzer support in Rider 2018.1 EAP.

Entity Framework support in Rider

Entity Framework

Rider 2018.1 brings initial Entity Framework support in .NET Framework projects. It is available under Tools | Entity Framework and includes the following functionality:

  • Support for the most popular versions of Entity Framework: 6.0 to 6.2;
  • Initial Setup, Enable Migrations, Add Migration, Get Migrations, and Update Database actions available as dialog boxes;
  • Smart code completion for fields in the dialog boxes filters the suggestions list and shows only applicable projects, types, and names.

To learn more, see Entity Framework support in Rider 2018.1.

Unity game view toolbar and Unity Logs tool window

Deeper integration with Unity

Rider's support for Unity gets better with every release. In this release cycle, we've focused on reducing the time you spend on context switching between Rider and Unity Editor.

You can now switch into and out of Play mode, and pause and step a single frame without leaving Rider! A new toolbar includes game view buttons Play, Pause, and Step, which correspond to the same buttons in Unity Editor and control the same behavior as Unity Editor does. A new small Unity icon in the status bar will indicate whether Unity Editor is connected, refreshing, or in Play mode. Any changes applied in Rider in Edit mode will be instantly delivered to Unity Editor.

The new Unity Logs tool window with hyperlinked stack traces lets you explore the same events that are logged in the Unity Editor console. It allows filtering by category (error, warning, or message), hides events based on when they were logged (in Play or Edit mode), and lets you easily navigate to any source file, class, method, or property mentioned in the log entry. Unity Logs cleans its output automatically after every switch to Play mode.

Rider 2018.1 also provides seamless integration with Unity Test Runner. Explore the results of your Unity-specific tests, filter by result, and click on stack traces to navigate to your code — all from within Rider.

Last but not least, we've added a Unity Explorer view that duplicates Unity Editor's view of assets, to make you feel right at home.

To learn more, see:

XAML preview

XAML preview

The WPF Application project type implemented in Rider 2017.3 has received a missing fragment — a built-in mechanism to preview the results of any change you make in XAML code.

XAML Preview settings are available under Tools | XAML Preview. It is possible to turn the preview off, set the quality of the rendered image, and configure transparency.

To learn more, see XAML preview tool window for WPF in Rider.

Memory view in debugger

Memory view in debugger

A new debugger feature called Memory View allows you to look under the hood of an application and explore the managed heap while debugging, to understand the effect of code on the application's memory space.

When the debugger hits a breakpoint, you can open the Memory View in a separate tab of the Debugger tool window. Rider will show the total number of objects in the heap, grouped by type name and bytes consumed. Double click on a class item to see all instances in a separate window. You can also get there from the code editor by hitting Alt+Enter on any class declaration and selecting Show instances of class.

Memory View works with the full .NET Framework (4.5+) as well as .NET Core. Mono is not supported yet.

To learn more, see Memory View – Exploring .NET memory while debugging with Rider 2018.1.

Exception popup in action

More debugger updates

Debugging in Rider gets quite a few more lovely improvements:

  • Exploring exception details gets easier with the new exception popup. It shows basic information about a thrown exception and helps you quickly navigate through the highlighted stack traces of the exception. In addition, you can change exception breakpoint settings right inside the popup.
  • Smart Step Into has been combined with Jump to Statement, which means that already executed calls can be executed again.
  • Symbol server support allows you to configure the behavior of symbols and symbol servers. Set this up in Build, Execution, Deployment | Debugger | Symbols.
  • Rider learns to display the source code for return value locals in the Variables view (a.k.a "locals") of the Debug tool window.
  • Debugger's Attach window displays process names and IDs and suggests elevating permissions when elevation is required. (Note: right now this works only for .NET Framework on Windows.)
  • Attaching to local process gets faster.

To learn more, see Exception popup, improved Smart Step Into, symbol servers, and more Rider 2018.1 EAP debugger updates.

NuGet improvements

We've improved support for authenticating against private NuGet feeds in several ways:

In a related change, we've added initial support for bulk NuGet operations. You can update all packages in solution with a click of a new button on the toolbar in the NuGet Packages tab. It is also possible to update any installed package for all or several projects up to a required version, as well as remove it in one click.

To learn more, see Credential providers for private NuGet feeds in Rider 2018.1 EAP.

Custom MSBuild in toolset and build settings

Better understanding of projects and solutions

In this release, Rider has learned to:

  • Let you develop and build full .NET framework applications without an existing Visual Studio or Visual Studio Build Tools installation on a Windows machine using JetBrains redistributable of MSBuild. You can specify the Custom MSBuild under Build, Execution, Deployment | Toolset and Build | Use MSBuild version.
  • Support Web References: view web references in the Solution Explorer, discover and add WCF web references by URL, and remove existing web references.
  • Open and run Web Site projects with full support, including navigation, refactoring, code analysis, and so on.
  • Provide UI for editing project properties in .NET Core solutions.
  • Discover and auto-detect MSBuild more accurately.

To learn more, see:

Solution Explorer for F# project in dependency order

Evolving F# support

In F# projects, files are now arranged in dependency order, and you can drag-and-drop to reorder files in Solution Explorer. File re-ordering works for multiple files, so you can also move files before or after an existing directory.

F# scripting has been improved, too:

  • Code Completion, highlighting, and analysis work as expected.
  • Navigation commands such as Search Everywhere, Go to Symbol, Go to File Member, Find Usages, and Viewing File Structure all support scripts.
  • Smart Code Completion for files in #r and #load directives provides all the applicable files from subdirectories and inserts the relative path.

To learn more, see:

Support for C# 7.2

More changes from ReSharper

Rider doesn't forget about its roots and continues in the footsteps of its big brother, ReSharper. The list of features adopted from ReSharper 2018.1 includes:

  • Full understanding of C# 7.2 and improved support for previous C# versions.
  • Using EditorConfig to set inspection severities for any scope: solution, project, or a specific file. Use the option Read settings from editorconfig and project settings available under Settings | Inspection Settings | Enable Code analysis.
  • Code formatting inspections: Rider can now highlight code formatting violations right in the editor as you code. Not everyone is a fan of this behavior, which is why these inspections are disabled by default; to turn some or all of them on, go to Editor | Inspection Settings | Inspection Severity.
  • StyleCop support configurable under Editor | Code Style | StyleCop. Note that StyleCop configuration may override Rider's own code style settings.

To learn more, see:

Docker compose services

Even more changes from IntelliJ platform

Features inherited from IntelliJ IDEA 2018.1 include:

  • Docker support is now aware of multiple Docker Compose files, including docker-compose.override.yml, and allows choosing the services right away after choosing the configuration files in the run configuration.
  • Preview of regex replacement in the Replace in Path dialog.
  • New compact and lightweight documentation popup.
  • Better HiDPI support on multiple displays for Windows.
More frontend development features

More frontend development features

Rider continues to expand the functionality that it inherits from WebStorm and provides out of the box.

This update supports the latest TypeScript 2.7 features, improves the Implement Members action, and adds a new Surround with type guard quick-fix for unresolved properties.

Courtesy of our great colleagues on the WebStorm team, configuring package managers in Rider is now much easier. In Node.js and npm preferences, you can select between npm and Yarn and then have Rider use the preference when installing dependencies and running scripts. If you open a new project with a yarn.lock file, Rider will use Yarn in it if it's installed.

The Rename refactoring for classes now offers renaming a file if it has the same name as the class.

Ctrl/Cmd-click on a class name in HTML will navigate to its declaration in Sass, SCSS, or Less source code. In addition, code completion will suggest classes and IDs from all style sheets if there are no matching symbols in the linked CSS file.

Support for partial Git commits

Version control improvements

Everyone knows that small commits make it easier to review and track changes, and roll them back if something went wrong. Partial Git commits (git add -p) let you easily commit only selected changes from a file. Use checkboxes in the diff view of the Commit Changes dialog to select chunks of code you want to commit. Also, change markers in the left gutter let you move a change to any existing changelist or create a new one.

There's now a new Group by icon available in the Local Changes tab in the Version Control tool window, which allows you to group local changes by their directory, module, or repository.

In addition, Rider now highlights hashes in the commit details, and allows you to one-click jump to this commit in the Log tab.

Finally, Abort Rebase, Continue Rebase, and Skip Commit actions are now available from the Git Branches pop-up.

Ideolog plugin

Other changes

Smaller changes in Rider 2018.1 include:

  • New MSTest settings dialog: File | Settings | Build, Execution, Deployment | Unit Testing | MSTest.
  • New customization settings for C# Interactive: set focus to tool window on open/Send Line, or move the caret down on Send Line (adjustable in Settings | Language & Frameworks | C# Interactive).
  • The Ideolog plugin is available for download from the IDE: go to Settings | Plugins | Install JetBrains plugins…
  • The Scratches view is working as expected with a fully-fledged context menu.
Free 30-day trial

Rider 2017.3

Debugging third-party code

Debugging third-party code

Sometimes, you want to debug an assembly that you don't own source code for: a control library or a legacy module that doesn't quite work as expected. Other times, you just want to know better how the .NET Framework operates.

Rider 2017.3 makes debugging external code an automatic, pain-free process. You can now step through and set breakpoints in assemblies that Rider decompiles on-the-fly. Rider already had both a .NET debugger and a .NET decompiler inside, we just had to make them interoperate seamlessly, which we did.

Whenever you're only interested in debugging your own code, you can change debugger settings to make it step over any library calls.

To learn more, see Debugging third-party code with Rider.

Smart Step Into

Smart Step Into

Debugging method chains and nested method calls gets way easier with a new debugger action, Smart Step Into.

The action helps you choose a particular call to step into, while stepping over all other calls in a line. For example, when debugging a line like Print(Filter(people, BuildPredicate(x => x.Feature, "smth")));, you can pick to specifically step into Filter().

To learn more, see Smart Step Into debugging in Rider.

Debugger shows return values in Variables view

Return values in locals

Following popular demand, Rider learns to display function return values in the Variables view (a.k.a "locals") of the Debug tool window as you step through your code.

This is useful when the result of a method call is not stored in a local variable, for example when the method returns another method's return value, or when using method chaining.

To learn more, see Async call stack and more debugger improvements in Rider 2017.3.

More debugger improvements

Debugging in Rider has improved in many other ways, such as the following:

  • You can now drag-and-drop the execution pointer to an earlier or later location in code, letting you retry or skip certain logic without having to restart the application.
  • Callers of async functions are now displayed in the Frames view, restoring the async causality chain.
  • Debugger actions like Force Run To Cursor and Set Next Statement are now available via Alt+Enter during debugging sessions.
  • Code completion items in Variables and Watches views get a refreshed presentation.
  • Lambda expressions and extension methods are now supported when you debug Mono-based applications such as Xamarin or Unity.
  • Values of numeric types — decimal, float, double — are now evaluated and presented as expected.

To learn more, see Async call stack and more debugger improvements in Rider 2017.3.

New project wizard

New project wizard

Rider's UI for creating projects and solutions has been improved in many ways.

  • Project templates are now grouped by framework, with languages, flavors and target framework versions selectable in properties of each framework template.
  • Git or Mercurial repositories can be created along with new solutions.
  • You can search the wizard for a particular type of application or programming language.
  • More project templates are available by default, such as WPF Application and Unity Class Library.
  • Additional project templates based on dotnet new can be easily installed.

To learn more, see Project templates in Rider 2017.3.

Unit testing improvements

Unit testing improvements

Rider's .NET unit test runner gets a serious usability boost, as well as a set of new functionality:

  • Two new actions are available: Repeat Tests Until Failure and Rerun Failed Tests In Current Session.
  • All actions now respect the currently selected filter (such as Failed tests only). Filters themselves are now presented in a more compact manner: if a test status doesn't occur in the current test session, the filter for that status is not displayed.
  • Local shortcuts for unit test trees are introduced: for example, Del removes selected tests from a session, and Alt+Shift+Insert creates a new session.
  • When you search for tests in the unit test tree, you can now find results in collapsed nodes.

To learn more, see Unit testing improvements in Rider 2017.3.

C# Interactive

C# Interactive

We have added a new C# Interactive tool window that helps you run C# statements without having to wait for compilation. This is a quick REPL-based way to draft code and get immediate feedback on what a given expression will return.

To start a new interactive session, open the tool window directly, or send a code selection from the code editor via Alt+Enter.

To learn more, see C# Interactive in Rider.

Unity support improvements

Unity support improvements

In addition to the new Unity Class Library project template mentioned above, the Unity plugin receives an array of all-around improvements:

  • New context actions to annotate fields as serializable or not serializable, as well as to convert auto-properties to properties with serialized backing fields.
  • New code inspections around Unity attributes, such as signature checks in methods marked with [PostProcessScene] and other Unity attributes.
  • Code completion starts to show Unity event functions at the top of the list, and works again before attributed fields.
  • Syntax highlighting and coding assistance are available in compute shaders in addition to regular shaders.
  • Unity debugger learns to break on user-unhandled exceptions, evaluate locals in coroutines and tasks, and reliably hit breakpoints when attached to local Unity processes. pdb2mdb is now integrated to enable the Mono debugger to handle assemblies that come with Windows-specific PDB files.
  • Quick Documentation pop-up provides links to external documentation for Unity symbols.
Config transformations

Web.config and App.config transforms

Rider learns to execute Web.config and App.config transformations that are commonly used to modify settings when packaging applications.

From the context menu, you can add a transformation, select a configuration that it is applied to (Debug or Release), and choose whether you want the resulting transform file to be nested under its parent in Solution Explorer.

To learn more, see XDT configuration transformations in Rider.

Reworked formatter

Reworked formatter

Similar to ReSharper, Rider's code formatting engine receives a major update. As a result, Rider learns to align code in columns and apply other new code styles. It also gets a way to disable or enable formatting for selected blocks of code with comments, or for entire files with EditorConfig.

To learn more, see:

More changes from ReSharper

Other updates that Rider received from ReSharper 2017.3 include:

  • Reworked Extract Method refactoring that supports returning tuples instead of out parameters when you're using C# 7.
  • New C# typing assists to add multiline comments, indent methods in chains, and surround code selections.
  • Support for tuples and documentation inheritance via <inheritdoc/> in VB.NET.
Running Karma tests

More frontend development features

Rider continues to expand the set of WebStorm functionality that it provides out of the box.

This release bundles a set of plugins for frontend developers that were formerly only available on demand, and weren't easily discoverable. This set of plugins includes support for TSLint, CoffeeScript, LiveEdit, Polymer and web components, Pug (ex. Jade), Handlebars, Karma, Stylus, AngularJS, spy-js, Gherkin, and Cucumber. (In related news, Vagrant plugin is now also available by default.)

Thanks to recent updates made by the WebStorm team, support for JavaScript, TypeScript, CSS and Vue.js gets a boost as well, and a preview panel is now available whenever you edit SVG files.

Finally, we have improved detection of package.json files in projects, which lets Rider suggest installing or updating npm packages in more cases.

Properties for .NET Core projects

MSBuild and NuGet

Rider's NuGet tooling learns to handle fallback folders, restore packages based on PackageReference directives in .csproj files, and ignore disabled NuGet package sources.

Speaking of its project system, Rider now provides UI to edit .NET Core project properties, and applies additional heuristics when dealing with linked files: it lets you choose between copying, moving files and adding links to them when you add an existing item, and suggests to exclude linked files from a project instead of deleting them from file system.

In a related change, we have enabled IntelliSense in .NET Core project files.

Reworked Docker run configurations

IntelliJ platform changes

Rider continues to take full advantage of its IntelliJ platform roots. In this release cycle, changes inherited from IntelliJ IDEA include:

  • Editor-based REST client based on scratch files with the .http extension. (The UI-based version of the REST client continues to be available, and even gets a few cosmetic updates.)
  • Version control updates including interactive rebase from Git log, preserving workspaces when switching between branches, and improved handling of Git and Mercurial merge commits.
  • Database updates: grouping data sources, XQuery/XPath coding assistance in .sql files via language injections, and more.
  • Docker support updates, most importantly revised Docker run configurations.
Null checking preferences


Rider's settings have been reworked in several ways:

  • You can now reliably export and import Rider settings via Import Settings, Export Settings and Manage Layers dialogs.
  • C# code style settings were extended with a Null Checking tab that helps choose a default null checking style in code that Rider generates for you.
  • Inspection severity configuration is now separated into per-language pages.
  • A new page with JetBrains Annotations settings was added under Inspection Settings.

Even more changes

  • Find Usages learns to work asynchronously to show available results while a search is still running, and offers a new grouping by usage type.
  • We have introduced a new Xcode keymap for long-time Mac users.
  • Designer files are now automatically regenerated on saving the associated .resx files.
  • Context menu on Solution Explorer nodes has been restructured for a clearer, more compact presentation of actions.
  • JetBrains annotations were ported to .NET Core, which makes entire categories of code inspections (nullability, LINQ, purity inspections) work more reliably.

Performance improvements

We have improved performance in many aspects, including:

  • Loading and reloading projects: thanks to a new asynchronous handling of MSBuild tasks, the synchronization stage of loading projects is now up to 5 times faster on large solutions that we used for testing.
  • Code completion performs faster on huge solutions.
  • In terms of debugging, the debugger launch time in some scenarios has been optimized, as well as rendering of large call stacks.
Free 30-day trial

Rider 2017.2

.NET Core 2.0

.NET Core 2.0

Rider 2017.2 adds support for .NET Core 2.0 in addition to .NET Core 1.1.

All Rider's code inspections, navigation actions, quick-fixes and refactorings are now available for .NET Core 2.0. Rider can run and debug your .NET Core 2.0 projects, manage NuGet packages that are used in them, as well as run unit tests based on xUnit, NUnit or MSTest.

Inspect This menu for call and value tracking in Rider

Call and value tracking

We've implemented some of the most insightful features that ReSharper has to offer: Call Tracking and Value Tracking.

Where does this value come from? Where is this value used? What are the call trees that this method is involved in? Using the new Inspect This action (Ctrl+Alt+Shift+A) in Rider, you can now figure this out. On member and parameter declarations, Call Tracking and Value Tracking actions are even directly available from the Alt+Enter menu.

Both features are currently available in C# and VB.NET.

Running MSTest-based unit tests from the editor

MSTest support

Rider's unit test runner already supported running and debugging xUnit and NUnit tests. With Rider 2017.2, based on popular demand, we are adding MSTest to the list of supported frameworks. This includes classic MSTest (a.k.a Visual Studio Testing Framework) as well as the emerging cross-platform MSTest V2.

MSTest V2 will work out of the box on Windows, Mac or Linux. As to classic MSTest, due to the way it's licensed, you need to have a Visual Studio instance installed on your machine in order to run classic MSTest-based tests in Rider. The path to Visual Studio needs to be configured in Rider settings under Build, Execution, Deployment | Unit Testing | MSTest.

Open folder or file with Rider

Open folder or file

Not all code is in a solution or project. With that in mind, we added a command to open an individual file or folder from the Rider start screen and the File | Open menu.

When you open a file or folder, you can use a lot of Rider features, including HTML/JavaScript/TypeScript support, version control, Go to File, Search Everywhere, as well as Find in Path.

Attach existing folder to solution

Attach folder to solution

Along with opening folders or files, Rider can now do something extra: attach any folder to a solution. This doesn't modify any project or solution files; instead, it simply makes the folder visible in Solution Explorer alongside your current solution.

This can be useful if you're working with a web application that has distinct frontend and backend parts, and they're maintained in separate repositories. In this case, attaching the frontend part to your .NET backend solution will let you edit both parts in Rider, without integrating the frontend into your solution structure.

Parallel stacks, lambda evaluation and more debugger updates

The Debug tool window gets a new tab: Parallel Stacks. When debugging multithreaded applications, it lets us visualize the various threads that are active while debugging, as well as their call stack. Hovering over a thread displays all child threads. From the toolbar, you can jump to the active frame. Double-clicking an entry in the call stack will jump to source. And when stepping through code, the diagram will be updated depending on threads that are being started/joined.

Rider's debugger now lets you add lambda expressions as watches. The debugger will evaluate and execute the expression, visualizing the results.

When debugging applications that have lots of variables, you may want to mark variables with custom colors. This can now be done using the context menu or with a shortcut. Marking a variable makes it really easy to discover where it's used, for example in fields of other objects.

Finally, we enabled adding watches for nested items, such as properties of a property of an object, or an element in a collection.

Transform Parameters refactoring

New refactorings

We keep adding more items from the broad set of refactorings originally available in ReSharper.

One of them is Transform Parameters. It lets you create a new class or struct and converts parameters of the selected method into encapsulated fields of the newly created type. After applying the refactoring, usages of parameters are converted into usages of properties of the type being created. This refactoring also allows getting rid of out parameters by introducing a tuple object return type.

Another new refactoring is Invert Boolean. It helps automatically invert a boolean member and transform true to false and rewrite all usages to invert the boolean logic.

Enabling C# 7.1 support in Rider

Code analysis updates from ReSharper 2017.2

Rider 2017.2 comes with ReSharper 2017.2 as its engine for providing .NET support. This means a number of features announced with ReSharper 2017.2 are now available in Rider.

Examples include improved support for C# 7.0 (including pattern matching and out variables), and initial support for C# 7.1. Rider now supports the default literal, tuple projection initializers, async main and pattern matching with generics. Simply reference the latest compiler package and make sure to set the language level in your project file. By the way, Rider can also detect if language features from a higher language level are used, and provide a quick-fix to make a switch.

Rider also adds some new code inspections around IEnumerable, and will check XML documentation inheritance to make sure it is valid. This ensures documentation in the IDE as well as generated API documentation is correct.

Code folding and documentation tooltips in F#

Evolving F# support

Rider 2017.2 comes with a series of new features and improvements around F#.

For example, it's now possible to work with .NET Core F# projects, for both SDK 1.0 and 2.0. For F# projects that use Paket instead of NuGet, Rider now disables its automatic NuGet restore on loading such projects. This ensures that projects like Fable load properly in Rider.

We've addressed a set of issues that you faced working with mixed C# and F# code bases, ensuring that F# code is exposed correctly in C# projects.

Rider now enables code folding in the editor. Pretty much any multi-line expression/statement can now be folded or unfolded.

We've also implemented the Comment with Block Comment action, which comments out the current selection with (* and *).

Looking up the documentation never hurts when writing code, and Rider now displays XML doc comments in a tooltip when hovering over documented code.

When you debug, Rider now supports evaluating expressions on hover, allowing us to inspect a variable from within the editor.

Bettere code highlighting in Unity shaders

Unity development

For game developers, we added support for debugging different Unity processes. You can now create a Mono Remote configuration to remotely debug standalone games, such as those running on an Android device. The IDE and debugger now also support working with modularized UnityEngine dll's.

In other notable Unity support news, we've significantly improved our ShaderLab parser, which results in better code highlighting in .cginc files and injected Cg fragments in .shader files. As an additional nice touch, Rider now highlights color values in ShaderLab files, and if you press Alt+Enter, you can modify the color using a color palette picker.

Generating Unity code is now easier, with file templates for new MonoBehaviour scripts, shaders and tests. Additionally, code completion and generation of event functions are now available in recent versions of Unity.

For mode details on Unity updates, see Rider blog.

JavaScript code arrangement settings in Rider

Better JavaScript and TypeScript support

Courtesy of a newer version of bundled WebStorm, Rider 2017.2 now offers richer support for JavaScript and TypeScript:

  • When you hover over an object while holding Ctrl, the inferred type for the object is displayed in a tooltip.
  • Reworked JavaScript code style settings allow configuring how to order members of a class, such as constructors, fields and methods. To apply these settings, use the Code | Rearrange Code command.
  • When using CSS modules and importing them into a JavaScript file, Rider provides code completion and navigation support for class names in that module.
  • Rider now detects tsconfig.json and takes it into account when analyzing TypeScript files.
  • Code completion and navigation for Angular Material attributes is now available.
  • When using webpack, Rider better understands complex configurations and properly resolves paths in import statements and import suggestions.
Reword a local Git commit

Version control improvements

When you work with Git, Rider now lets you revert and reword local commits. To do this, use the context menu under the Log tab in the Version Control tool window.

From the settings under Version Control | Commit Dialog, you can now customize commit message rules and inspections. Do you put a blank line between the subject and the body? Should the maximum length of a commit message be defined? You can set these and similar rules. In addition, Rider provides quick-fixes for these rules, and reformatting code can also be done inside the commit message.

Make code changes directly from search results

Make changes from search results

In Rider 2017.2, we improved the way you work with results of a textual search using Find in Path (Ctrl+Shift+F).

Search results from the same lines are now merged together. Also, the Preview pane now has a left-hand gutter that displays line numbers, navigation icons, context actions and local change markers. This makes it easy to make small changes directly from a search!

Unit test framework settings

More unit testing improvements

There's more than MSTest support in terms of unit testing in this release. Here's a few more highlights:

  • NUnit tests are now supported for full .NET Framework, .NET Core 2.0, and .NET Core 1.1.
  • All unit test providers now have their own settings pages where framework-specific settings can be tweaked. In addition, it's possible to disable frameworks that are not in use.
  • We've also made performance improvements for solutions that contain large test sets, as well as tests that produce a lot of output (including word wrap).
NuGet tool window in vertical layout

NuGet updates

A number of updates went into Rider's NuGet client. We're now using NuGet 4.3 under the hood, which brings full support for SemVer2 and .NET Core 2.0. Rider adds support for wildcard versions in package references, too.

When referencing packages that are not targeting .NET Core 2.0 (but are known to work with it), the AssetTargetFallback property can be used to define "fallback" target frameworks for project's dependencies. By default, .NET Core 2.0 projects will have this property set to net461, meaning that any NuGet package that is compatible with .NET Framework 4.6.1 or higher can be used without additional configuration. Rider now also includes initial support for this.

You can now install CLI tools packages right from within the NuGet client, without manually editing the .csproj file. For example, this is useful with Entity Framework Core's database migration commands from Microsoft.EntityFrameworkCore.Tools.DotNet.

We made some UI changes as well: for example, you can now toggle position of the package details pane, which is useful if you prefer to keep the NuGet tool window vertically oriented. And when possible, package icons will be rendered in high DPI making everything look more crisp.

Descriptions of base members in the Generate dialog

Even more changes

Here's a short list of other notable changes in this Rider release:

  • More and better code completion suggestions in CSS, JavaScript, TypeScript, .config, .csproj and XML files.
  • Improved Multi-line completion: for instance, import completion in C# is now available when you invoke code completion with multiple text carets set.
  • When generating code, such as overriding or missing members, Rider now shows descriptions of base members that are being overridden or implemented.
  • Import and export of all global settings is available, including both settings coming from ReSharper and the IntelliJ platform.
  • Solution-wide analysis (SWEA) is automatically paused during NuGet restore when running it doesn't make a lot of sense.
Free 30-day trial