Rider 2020.2

Prend en charge Localization Manager et Shader dans l'intégration Unity.
Août 17, 2020
Nouvelle Version

Fonctionnalités

Debugger

  • New Debugger API - The new release comes with the new debugger API which has been largely rewritten. Improved super-lazy value calculations with better interruption and custom value representations.
  • Data breakpoints - Data breakpoints are useful when you need to focus on a particular object’s properties. You typically use them in scenarios where you know what will change, but have no idea where the change comes from in your codebase. This will be accessible from the Watch tool window, and will even work with array elements. Due to current platform limitations, this feature is only available for Microsoft .NET Core 3+ on Microsoft Windows.
  • Pin-To-Frame - Added Pin-To-Frame, which lets you pin values across frames and see them in the list of stack frames. When debugging recursive functions, it lets you watch the state of values in different iterations.

Localization Manager

  • The Localization Manager is now available in Rider to help you localize your .NET application or website.
  • It allows you to view everything contained in all your project’s .resx files, or a specified selection of files, in a single grid.
    • You can easily find all resources that are missing localized values or are just not used.
    • You can add, edit, rename, search for, find usages of, and safely delete any localized resources.
    • You can easily add a new culture to your application using the predefined list of cultures in the completion list or hide locales you don't need right now.
    • You can export the whole grid to a CSV format to share with translators and import the final version back into the Localization Manager.
    • You can add and edit comments for any entity from resource files right inside the grid, and you can also export and import these comments.
    • You can view the whole structure of .resx files in your solution with different groupings.

GameDev

  • Shader support
    • Rider 2020.2 adds much-requested support for Cg and HLSL shaders. This includes syntax highlighting, code completion, semantic error highlighting, go to definition, find usages, refactorings, and more.
    • Rider fully understands the structure of shader files, including macros, and can navigate to macro definitions or unroll them directly in code.
  • Pausepoints
    • Set a breakpoint in code, convert it to a pausepoint, and when the debugger hits it, Unity Editor immediately switches to pause mode, allowing you to use the Inspector to view the state of your game.
    • This becomes an even more powerful tool when used in combination with conditional and dependent breakpoints.
  • Burst analysis
    • Burst-enabled code can greatly improve the performance of your Unity application, but it places constraints on what your code can do.
    • Rider 2020.2 adds smart analysis for all code called within a Burst context, and will highlight any incorrect code usage, such as boxing, use of foreach or try/catch, as well as reading/writing to static fields, and more.
  • USB debugging for Apple devices
    • Rider 2020.2 introduces USB-based debugging for Apple devices.
  • Bulk quick fixes
    • All quick-fixes that can be run on files, projects, and entire solutions have now been upgraded to be able to do so.
    • Remove redundant Unity attributes, replace string literal comparisons with CompareTag, improve performance by combining object creation with setting the parent transform, and more – all across your entire Unity project, with a single click.
  • Debugger value extensions
    • Rider’s debugger will show you extra contextual values for Unity projects. Get easy access to the active scene, child game objects, and all attached components.
    • Rider also displays improved summary information for certain types, such as Euler angles for Quaternion, full precision values for vectors, the enabled state of behaviors, and more.
  • Integrated UnityYamlMerge support
    • Rider will automatically use Unity’s Smart Merge tool to merge asset files when performing integrated version control operations.
  • More features
    • Significant reduction in memory usage and improved throughput while indexing text-based assets for code usages in scenes, prefabs, and other assets.
    • Common Unity API terms have been added as a custom dictionary to Rider’s spell checker.
    • Code cleanup now recognizes Unity types, and will no longer reorder serialized fields, which is important when showing these fields in the Unity Inspector.
  • Rider for Unreal Engine (Early Preview)
    • Native C++ support powered by the ReSharper C++ engine.
    • Performance optimized for Unreal Engine projects.
    • Integration with the Unreal Editor and Blueprints information in the Rider Editor.
    • Understanding UE reflection and RPC, and enforcement of UE naming rules.
    • Getting HLSL and C#, JSON, and uproject/uplugin dialects.

Code Analysis

  • Nullability code analysis is now aware of more cases and can trace incorrect nullability through deconstruction and the foreach cycle. It also provides a corresponding quick-fix.
  • Code analysis now takes into account JetBrains.Annotations attributes (both NotNull and CanBeNull) for the API, even in code where nullable reference types are disabled.
  • Context actions for converting "foreach to LINQ" and "LINQ to code" are also available on IAsyncEnumerable if you have the System.Linq.Async NuGet package installed for your project.
  • Now it’s possible to easily generate IEqualityComparer and IComparer implementations with the appropriate quick-fixes.
  • Code Analysis now takes compiler annotations into account when verifying the nullability of implemented or overridden members.
  • There are new inspections and quick-fixes to make variables and return types “not nullable” if they have never held or returned nullable values.
  • Code analysis is now able to follow the dotnet_diagnostic rules from the .editorconfig file. Specify the severity of inspections in the .editorconfig file.
  • Support for the default implementations in interfaces feature has been enhanced in this release. The left-hand gutter in the code editor shows that a method is implemented or overridden, and our refactorings and navigation are aware of this C# language feature.
  • Inlay hints are now available in XAML code. It provides hints for markup property names and DataContext, as well as for margins and paddings.
  • The Suppress nullable warning with ! quick-fix can be disabled for a solution via the Alt+Enter menu.

Unit Testing

  • The unit test runner has been rebuilt from scratch for both .NET Framework and .NET Core to have the same runner for both runtimes which run out of the Microsoft Visual Studio process.
  • The new unit test runner introduces the following important improvements:
    • Built-in support for MSFakes for NUnit, xUnit, MSTest v2 unit test frameworks.
    • Built-in support for TypeMock Isolator for NUnit, xUnit, and MSTest v2.
    • MSTest v2 tests can now be run without Visual Studio installed.
  • Rider now supports the DisplayName attribute in .NET Core tests for xUnit and NUnit frameworks.
  • You can select multiple unit test statuses simultaneously to filter them in the unit test tree.
  • There are two different counters for each status when a search or target framework filter is applied to show the overall number of unit tests, and the number of tests that match the filter criteria.
  • Added support for ANSI escape codes in the Output window, so you can colorize the unit test output if you want.
  • There is a new action in the Alt+Enter menu to open the Settings dialog if you get a "Visual studio installation folder is not set" status for your MSTest unit test.

Version control

  • GitHub pull requests - You’ll be able to browse, assign, manage, and even merge pull requests, view the timeline and inline comments, submit comments and reviews, and accept changes.
  • The new support includes:
    • A new layout for the pull requests viewer.
    • Viewing the results of pre-commit checks in the Timeline.
    • Support for reviews.
    • Interaction with comments.
    • Merging pull requests from within the IDE.
  • Other VCS features
    • Support for Git installed in WSL2.
    • Improved the way the result of the Compare branches action is presented.
    • You can now select a number of local commits in the Log tab of the Git tool window and squash them into one.

NuGet

  • You can use the NuGet tool window to see all the transitive packages of a solution or project in the new Implicitly Installed Packages section.
  • Hovering over an implicit package reveals a tooltip that contains information about the implicit package’s version and the referencing package. If the package is referenced in multiple versions, they will all be shown.
  • Added a new context popup menu that can be invoked via right-clicking or pressing Alt+Enter on a NuGet package.
  • There is also a new Quick NuGet Documentation action to bring up the implicit reference paths to a package.
  • The search box for packages also received an update. You can either click the magnifier icon or use Alt+Down Arrow to open the history of recent package searches.
  • You can also now edit values for two of the most commonly changed properties – globalPackagesFolder and repositoryPath.
  • In the Feeds tab, you can now immediately see whether a feed path is invalid as the path will be highlighted with a red rectangle.
  • A warning message will also be shown in the search list if you search for a package and it is not found in any of the feeds.
  • A new warning in the details pane is a visual indication of which packages are still in maintenance or have been deprecated.

F# support

  • Refactorings
    • The Introduce Variable refactoring is now available for expressions.
    • Rename now works on underscore wildcards.
  • Quick fixes and context actions
    • Import Type has been significantly improved. It now works in more cases and keeps the parameter count in mind when suggesting a type. Rider can now also suggest referencing a module or another project from your solution and import the type from it.
    • Several new quick-fixes have been added as well: adding parentheses to an application of a function in the list of parameters, adding the Extension attribute to a containing type or module, fixing syntax errors, converting let to use, and others.
  • Analyzers - Implemented a fast redundant qualifiers analyzer, as well as a corresponding quick-fix to remove the redundancies.
  • Editor
    • There's now more options for highlighting various symbols differently. In addition, type abbreviations are highlighted as the types they abbreviate, and functions can be highlighted as methods. Both are external contributions, and we thank Igor Bagdamyan for them.
    • Rider now has type hints for expressions. They help you keep track of what’s happening without having to follow the whole chain in your mind.
    • Color references are now highlighted in the code, making them more visible.
  • Finally, wite now has an F# Compiler Service monitor.

x:Bind support

  • Rider resolves x:Bind code correctly and offers several inspections and corresponding quick-fixes. It warns you about missing property setters, BindBack attributes, and when there are overload collisions. In addition, there is a set of Create from Usage quick-fixes to generate a proper field, property, or method inside C# code-behind.
  • There is code completion and parameter info for propertyPath, BindBack, and UpdateSourceTrigger attributes inside an x:Bind expression.
  • Change Signature and Safe Delete refactorings are now aware of method usage in XAML code and update them accordingly. Also, Make Static/Const and Encapsulate Field refactorings work directly from XAML code and update XAML usages correctly if you call them from C# code-behind.
  • Nullability awareness is integrated into the x:Bind code analysis. Rider now shows you null-related inspections directly inside the XAML code if there are CanBeNull and NotNull attributes in C# code.
  • Other Rider features like Find Usages and Go to Declaration are also aware of x:Bind bindings.

Plugins

  • Dynamic Program Analysis - Now, you can filter by process/module/class/method in Settings/Preferences | Build, Execution, Deployment | Dynamic Program Analysis | Filtering to narrow the scope of Dynamic Program Analysis.
    • If you need to analyze only some specific method/class/etc., add it to the Analyze code only in list.
    • If you need to hide some specific method/class/etc. from analysis, add it to the Do not analyze code in list.
  • Azure Toolkit for Rider
    • After you install Azurite storage emulator using npm (npm install -g azurite), an Azurite node will be added to the Services tool window. From here, you can start, stop, and clear the storage emulator.
    • When you’re using timer triggers in Azure Functions, you have to enter a valid NCrontab expression that defines when the function will be executed. The Azure Toolkit for Rider now helps you edit the crontab by providing code completion with several example expressions from which you can start working.
    • Rider now validates whether an NCrontab expression is valid or not, and gives you extra information about what may be wrong.
  • Markdown plugin - Rider 2020.2 comes bundled with the Markdown plugin. It recognizes Markdown files in your solution, provides a dedicated editor for them, and shows the rendered HTML in a live preview.
  • Godot support
    • Godot run configurations have been reworked. You can run, debug, and run with profiling Player and Editor run configurations. In addition, you can edit the command line parameters which is used to run both player and editor.
    • Also, you can now launch run or debug for individual scenes right from the context menu in the Solution Explorer view.

Database support

  • Separate editor for cell values - Now if you have a huge value in your cell, you can view and edit it in a separate panel. You can also toggle soft wrap mode using the right-hand toolbar. Use all the power of Rider’s code editor for your data!
  • A new UI for boolean values - There’s now a more user-friendly way to view and edit boolean values. True values are now marked with a bullet point to distinguish them from all the others.
  • DML preview in the data editor - Starting with this version, you can review the query that represents your changes in the data editor.

Web development

  • Save time with new features for JavaScript - New smart intentions (Alt+Enter) will help you perform some actions faster.
  • Make Prettier the default formatter in your JavaScript projects - Install the plugin from the JetBrains Marketplace and then, on the Settings/Preferences | Plugins page, tick the new On code reformat checkbox and the IDE will use Prettier whenever you reformat your .js, .ts, .jsx, and .tsx files. Other file types can be easily added, too.
  • Enjoy best-in-class support for Vue - Added Nuxt.js support, Vue-specific code style settings, improvements around Vue in TypeScript projects, and a lot of other updates.

Refactorings

  • In this release, the Conflicts dialog has been redesigned as a separate step in the Refactorings interface. The plain list from before has been replaced with a tree grouped by file. To return to the plain list, click on the Flatten icon on the right toolbar.
  • When calling Introduce parameter or Introduce field refactorings on an expression, Rider asks which part of the expression the refactoring should be applied to.

Other updates

  • Xamarin
    • File Templates are available in both Apple Mac and Apple iOS Xamarin projects.
    • Improved XCode synchronization – when there's no “.Designer.cs file”, Rider now generates one instead of displaying an error.
  • New presentation of the search results in Search Everywhere.
  • Now supports attaching the debugger to .NET Сore runtime hosting configurations and running them with debug.
  • Run configurations are generated for all runnable projects.
  • ProjectReferences for website projects are now supported.
Localization Manager

Rider

Développez des applications .NET, ASP.NET, .NET Core, Xamarin ou Unity sous Windows, Mac ou Linux.

Rider est également disponible en :

Vous avez une question ?

Discutez en direct avec l'un de nos spécialiste des licences JetBrains .