dotUltimate 2022.1.x

Released: Apr 19, 2022

2022.1.x 中的更新

2022.1.2

Updated Jun 3, 2022

Fixes

Rider

  • Fixed Windows Authentication for the SQL Server.
  • Fixed the metadata for the Unity plugin. The plugin’s DLL no longer returns errors.

ReSharper

  • Fixed the Ctrl+. hotkey for Visual Studio’s Show smart tag action, which had been affected by the previous version of ReSharper.
  • Updated ReSharper’s initial event buffer size in Visual Studio 2022, which helped get rid of some small hangs when canceling the build process.

2022.1.1

Updated Apr 29, 2022

Fixes

Rider

  • Fixed the JetBrains Runtime crash.
  • Fixed the issue that broke the Docker debug.
  • Fixed the issue that prevented the Azure functions debug from working properly.
  • Fixed the Code Vision context menu and the problem that prevented the user from hiding the Code Vision from the editor completely.
  • Fixed the Stack Trace Explorer that had difficulty working with multitarget projects.
  • Fixed an error that emerged when the test method’s name is the same as the value of [TestName] attribute.
  • Fixed the inconsistency between the states of the unit test session and tests generated with [DynamicData] attribute.

ReSharper

  • Fixed the Stack Trace Explorer that had difficulty working with multitarget projects.
  • Fixed an error that emerged when the test method’s name is set to the same as the value of the [TestName] attribute.
  • Fixed the inconsistency between the states of the unit test session and tests generated with the [DynamicData] attribute.
  • Fixed the issue that led to the inherited [Category] not being shown in the Unit Test Explorer.

2022.1

Updated Apr 19, 2022

Features

Rider

  • Game development with Unreal Engine
    • Deeply integrated with Unreal Engine - Rider is ready for Unreal Engine development on all three major platforms: Microsoft Windows, Linux, and Apple macOS.
      • It works natively with the .uproject model, saving you time on intermediate project model generation.
      • The UnrealLink plugin enables advanced integration between Rider and Epic Games’ Unreal Editor. The plugin:
        • Brings Blueprints information to the editor.
        • Adds settings for managing game launch.
        • Provides a more convenient version of the Unreal Editor log.
    • First-class C++ support - Whether you’re working with the C++ code of your game, Unreal Engine code, or shaders, Rider helps you instantly navigate through it and explains it with inlay hints.
    • Unreal Engine reflection mechanism - Unreal Engine reflection macros and reflection specifiers are more than plain-text substitutions for Rider. Autocompletion and quick documentation are knowledgeable about these entities and help you code effectively. Similarly, Unreal Engine remote procedure calls are more than regular functions, and Rider matches them during code navigation and code generation.
    • Code analysis tuned for Unreal Engine - Rider is now integrated with UnrealHeaderTool and shows the same errors and warnings that you would normally see at compile time right in the editor while you are editing your code. The process has been optimized to have minimal impact on overall performance. Rider detects Unreal Engine projects and automatically uses the Unreal Engine naming convention rules when generating and analyzing code in these projects.
    • Debugger - The LLDB-based debugger with Unreal Engine Natvis support helps you dig up any issues in your game’s code or in the engine. You can set line, symbol, data, and conditional breakpoints. You can also step through the code, evaluate expressions, and even see the variable values right in the Rider editor during the debug session.
    • Unit Testing - Rider comes with out-of-the-box support for the Unreal Engine Automation Testing framework. Launch tests from the Unit Test tool window or directly from the editor, review their results, and rerun failed, all, or specific tests.
  • Remote development (Beta)
    • Rider now supports a Beta version of the remote development workflow - It allows you to connect to a remote machine running Rider’s backend from anywhere in the world.
      • All the processing happens on the powerful remote machine, and you can work on your project as seamlessly as if it were on your local machine.
      • This functionality can be initiated from Rider’s Welcome screen or from a new application called JetBrains Gateway, which is available in the Toolbox App.
    • You can create, prebuild, share, reproduce, hibernate, and manage dev environments with JetBrains Space - a unified platform for the entire software development pipeline.
  • Toolbar
    • Customize the new toolbar - You can now add new elements to both the left and right sides of the toolbar, as well as rearrange and remove widgets. There are two ways to open the toolbar customization page:
      • Preferences/Settings | Appearance & Behavior | Menus and Toolbars | Toolbar.
      • Right-click on the toolbar and select Customize Toolbar.
    • Profile from the new toolbar - The Profile with Timeline, Profile with..., and Profile running process... options are now available in the Run/Debug widget’s More menu (the ‘kebab’ icon).
  • Docker Fast Mode
    • Fast mode has come to Docker and Docker-Compose solutions, which should significantly reduce build times during development.
    • Building your projects within a container can be significantly slower than building the same project on your local machine. With Fast mode enabled, Rider will first create the base stage of your Docker image using docker build, but then it will build the project on your host machine, which is significantly faster. The project artifacts are then mounted to the Docker container as a volume. This mode is for Debug configurations only, and projects built under Release will be built using the steps found in your Dockerfile.
    • You can disable the Fast mode for any particular run configuration via Edit Run Configuration | Build | Modify options | Don’t use Docker fast debug.
  • Search text in Search Everywhere
    • Added the new Text tab, which shows all text occurrences in the solution that match the string while you are typing it. It runs full-text search through all code and text files, including .cs, .fs, .cshtml, .json, .js, .css, .editorconfig, .cvs, .dockerfile, .md, and .txt files.
    • As usual, all these results appear on the All tab as well. However, you can narrow the scope of files where you want to run this search:
      • By search area: All places, Recently viewed files, Local changes, or Data sources.
      • By file type, with a predefined list of values or with manually specified file masks.
    • This text search in Search Everywhere does not affect the existing Find in Files feature. You can use both of them.
  • UI/UX
    • New Notifications tool window - The Event Log instanсe has been replaced with a new Notifications tool window to more clearly highlight important and helpful notifications from the IDE.
      • All notifications that appear in the Notifications tool window are sorted into two types: Suggestions and Timeline.
      • The Suggestions section presents notifications that are considered useful or helpful in most use cases.
    • Zoom indicator - In the past, it was difficult to determine whether the content in the text editor was zoomed in or out. There was no visible indicator that explicitly showed the current zoom status. This release introduces the Zoom widget, which appears at the bottom of the current text editor. It shows you the actual font size of the editor and helps you reset it to the default.
    • Microsoft Visual Studio 2022 keymap - Added a new Visual Studio 2022 keymap that resolves all shortcut differences between the current Visual Studio keymap and that of the Visual Studio IDE (e.g. Alt+Up/Down) in favor of the latter’s shortcuts.
  • Language Support
    • C# support - Improved support for C# 10, particularly global usings. Added two new refactorings that are also available as context actions.
      • Extract Global Using can help you to introduce the concept of global usings in your project. You can invoke it on a regular using directive, and Rider will suggest extracting it to a designated GlobalUsings.cs file.
      • If you decide to refactor a global using into a regular using, Inline Global Using refactoring can help here as well. When called on a global using, it removes it from the GlobalUsings.cs and adds the corresponding using statement to the files in your project where required.
      • The global using feature is supported in Find Usages and in code analysis for extension methods.
    • Nullable reference types:
      • JetBrains have split warnings for null checks on expressions that should never be null into two categories. The first warning is for expressions that are never null because an NRT annotation says so. The second warning is for expressions where there's an actual runtime check for null.
      • Added a new setting for switching to runtime enforced not null warnings only mode. It is accessible from the configuration item group in the Alt+Enter menu for annotation-based warnings.
      • [MemberNotNull] and [MemberNotNullWhen] annotations are now supported in projects that don't use nullable reference types.
    • Razor and Blazor:
      • Added support for the new [EditorRequired] attribute from Microsoft .NET 6. The corresponding inspection and quick-fix are also available if you try to use a Blazor component without specifying the required parameters.
      • Added support for C# local functions inside Razor syntax.
      • Improved the Code Cleanup in .razor files with Blazor components. It no longer removes all @using declarations.
      • Added navigation through inheritance hierarchy to Razor code. The corresponding gutter marks are now shown for base and derived symbols.
    • F# support:
      • F# support has received more analyzers and quick-fixes that suggest using recently added F# features. A number of existing features have been improved, as well.
  • Adding web references
    • A number of improvements for adding web references to .NET projects have been made. The most notable ones are:
      • You can now add a web reference to .NET and .NET Core projects (previously, this was possible only for .NET Framework projects).
      • You can now add references from .wsdl files using the file path instead of the URL in the Add Web Reference dialog.
      • If you add a WCF web service reference to a project, this reference appears in the Services node in the Solution View tool window.
      • If the web service reference has basic authentication, Rider will display the dialog where you enter your credentials.
      • net.tcp and net.pipe URI prefixes are now supported.
  • Web development
    • Endpoints - Improve Endpoints support and Endpoints Viewer. The viewer is now also aware of and collects endpoints for Microsoft ASP.NET Core 6 minimal API routing and convention-based routing.
    • Improvements for Vue - This release comes with several improvements for Vue 3. If you define components as global, the IDE will now recognize them in your .vue files. Rider should also properly supports the createApp syntax. It will correctly match applications created using createApp with their related elements. This version also includes support for Nuxt 3, a new version of a popular Vue framework.
  • Unity support
    • Rider will now automatically update your .asmdef file whenever you add or remove a reference to a project. If you use a type from another project, Rider will add the reference to the .asmdef file and import the type.
    • Rider now supports .asmref Assembly Definition Reference files, as well as .asmdef files. You get syntax highlighting, schema validation and completion. Ctrl+Click on the reference name will navigate to the referenced .asmdef file, and .asmdef files will show up in Find Usages.
    • Each project gets a new default run configuration for running the Unity editor in bulk mode, which is perfect for running unit tests and saving the results in the Logs folder.
    • Now that Unity supports newer versions of C#, Rider has expanded its highlighting of Unity’s Color types to include target-typed new expressions.
    • Improved load times for very large Unity projects, especially with slower disks or file systems.
    • Added inspections to help you get the right method signature for [MenuItem] methods.
    • Added a new notification to make sure the Rider package is up to date in your project.
  • Plugins
    • Microsoft Azure Toolkit for Rider - Rider determines the version of the Azure Functions Core Tools to use based on your project’s AzureFunctionsVersion property. If you need to install a specific version of the Azure Functions Core Tools, you can use Chocolatey, Brew, or npm and point Rider to the correct path.
    • Markdown:
      • If a Markdown file contains instructions with commands that you need to execute in your terminal, you can run those commands directly from the Markdown file using the run icons in the gutter.
      • Added new options to the floating toolbar that will appear on text selection when you edit Markdown files. Using this toolbar, you can now quickly select header styles and create lists. You can customize this toolbar with the options you need.
      • Added a new Copy code snippet action to Markdown blocks so you can easily copy contents to the clipboard.
    • dotCover - Added an option to mark code as “not coverable”. You can use it to exclude code that doesn’t need to be tested from the coverage process and get clearer snapshots.
  • VCS (Version Control) support
    • Open Preview Diff in the Commit tool-window - The Preview Diff icon has been moved from the Commit toolbar to the menu, which is accessible by clicking on the Cog icon, and it has been renamed to Show Diff Preview on Single Click. Here you can specify the behavior you want to see when you click on a file in the Changes tree. The file can either be selected, or opened for diff preview.
    • Updated Annotate with Git Blame - Improved the functionality of Annotate with Git Blame to make it easier to investigate introduced changes. Rider highlights the difference in lines right in the editor when you hover over an annotation, and when you click on it, the IDE opens the Git Log tool window.
    • Updated Commit Details pane in Git tool window - The Commit Details pane now includes information about GPG signatures and build status. Previously, this data was shown only as a column in the Git log.
    • Git File History: new UI without index - The new UI for the Git File History tool window is now independent from the indexing process. The data is represented with a new interface, even if the Log index is off. Previously, for a file with an unindexed history, Rider would display a history view that was relatively slow and missing features.
  • Others
    • Renaming a solution - Added the ability to change the name of an entire solution. Call the context menu for the solution node in the Solution Explorer tool window, select Edit | Rename, and enter the new name for your solution.
    • SDK option in the New Project dialog - Added the SDK option as a dropdown list on the New Solution/Project dialog. It can help you create a project for older .NET SDK versions after installing the new one.
    • Run Static Method - The Run Static Method action works for projects that target .NET and .NET Core. You can execute any static method right from the code editor by clicking the green “run” triangle on the gutter margin.
    • Roslyn - Introduced several improvements for Roslyn analyzers and source generators:
      • Rider now supports .globalconfig files for configuring code analysis rules from Roslyn analyzers.
      • Improved the loading and launching process of source generators and analyzers. There is no need to restart the IDE to resolve the generated code from source generators.
    • Code Cleanup and Formatting - Reorganized all the items in the Alt+Enter menu related to Code Cleanup and Formatting. The Format selection, Cleanup selection, and Apply syntax style have been combined into one Reformat and Cleanup item to provide a single entry point.
    • NuGet support - Updated the package icon selector in the NuGet project properties page. It now uses new elements instead of obsolete ones.
    • Better support for the DebuggerDisplay attribute:
      • When presenting a derived type, the debugger now takes into account the DebuggerDisplay attribute even if it’s applied to the base.
      • The debugger now supports specifying the DebuggerDisplay attribute at the assembly level.

ReSharper

  • C# support
    • Improve support for C# 10, particularly global usings. Added two new refactorings that are also available as context actions.
    • Extract Global Using can help you to introduce the concept of global usings in your project. You can invoke it on a regular using directive, and ReSharper will suggest extracting it to a designated GlobalUsings.cs file (if there’s no such file in your project yet, it will be created). The regular using that is no longer needed will be removed from the files in your project.
    • If you decide to refactor a global using into a regular using, Inline Global Using refactoring can help here, too. When called on a global using, it removes it from the GlobalUsings.cs and adds the corresponding using statement to the files in your project where required.
    • The global using feature is supported in Find Usages and in code analysis for extension methods.
  • Nullable reference types
    • Warnings for null checks on expressions that should never be null into two categories have been split. The first warning is for expressions that are never null because an NRT annotation says so. The second warning is for expressions where there's an actual runtime check for null.
    • Added a new setting for switching to runtime enforced not null warnings only mode. It is accessible from the configuration item group in the Alt+Enter menu for annotation-based warnings.
    • [MemberNotNull] and [MemberNotNullWhen] annotations are now supported in projects that don't use nullable reference types.
  • Endpoints
    • Endpoints support now works for Microsoft ASP.NET Core 6 minimal APIs and convention-based routing. It includes navigation, code analysis, and code completion.
  • Razor and Blazor
    • Added support for the new [EditorRequired] attribute from Microsoft .NET 6. The corresponding inspection and quick-fix are also available if you try to use a Blazor component without specifying the required parameters.
    • Added support for C# local functions inside Razor syntax.
    • Improved the Code Cleanup in .razor files with Blazor components. It no longer removes all @using declarations.
    • Added navigation through inheritance hierarchy to Razor code. The corresponding gutter marks are now shown for base and derived symbols. You can click them to navigate to the code.
  • Code Cleanup and Formatting
    • Reorganized all the items in the Alt+Enter menu related to Code Cleanup and Formatting.
    • The Format selection, Cleanup selection, and Apply syntax style have been combined into one Reformat and Cleanup item to provide a single entry point.
    • In addition to these changes, the syntax style settings are now available in the Configure code style and Autodetect code style settings actions. The Preview code style panel shows changes in syntax style as well.
  • Unreal Engine unit tests
    • The Unreal Engine testing framework is now supported. ReSharper C++ discovers Unreal Engine unit tests and adds the corresponding action indicators next to each test in the editor to run or debug the test or the whole test suite. In the Unit Test Sessions window, you can review the results of the tests, and rerun failed, all, or specific tests.
  • Even better C++ support
    • ReSharper C++ is now better at handling implicit constructor calls, allowing you to find usages and navigate to the called constructor in more cases, including the following:
      • Standard (make_unique/make_shared) and Unreal-specific (MakeShared/MakeUnique) smart pointer creation functions.
      • emplace-like container methods.
      • static_cast and c-style cast expressions.
    • This release also shows you an overloading warning when an emplace-like function is called with incorrect arguments.
  • Source generators
    • Increased the delay between requests when fetching source-generated documents from the compiler. The source generators are not run before the compiler and the total amount of CPU work is reduced.
  • ReSharper Command Line Tools
    • The InspectCode tools can now generate output files compatible with Static Analysis Results Interchange Format (SARIF).
    • Command line tools now support Alpine Linux.
  • Decompiler
    • The integrated decompiler now shows XML doc comments for platform assemblies, including assemblies whose names differ from the names of the XML documentation files, for example, System.Private.CoreLib. The path to the XML documentation is now displayed in the decompiled file’s header.
    • Turned off navigation retargeting in the Metadata view.
    • Added decoded / raw blob presentations in the properties for blob nodes.
    • The Assembly Explorer now supports forwarded types (the [TypeForwardedTo] attributes). The Locate in Metadata action also works for forwarded types, assembly and module references, and resources.
    • Improved the PDB navigation for types without sequence points, for example, interfaces and enums.
  • Other updates
    • Improved the Move type to file refactoring, which also includes a context action and quick-fix. Preprocessor directives are now moved along with the type in common cases.
    • Added the Metadata tree view into ReSharper (only for Visual Studio 2022). It allows you to browse all the items inside the assembly metadata and provides search, navigation to sources, and more.

ReSharper C++

  • Unreal Engine
    • This release brings a brand new way to quickly consult the Unreal Engine documentation about the details of a class, symbol, or function. You can now click Read more in the Quick Documentation pop-up (Ctrl+Shift+F1) to open the corresponding page in your browser.
    • The Rename refactoring now handles the Unreal Engine interface classes better. When renaming interfaces, both the U and I classes will be renamed accordingly.
    • ReSharper C++ can now substitute the parameter names when you generate a member function signature from the Unreal Engine delegate. You can now also generate such functions when the ThisClass typedef is used.
    • The Unreal Engine 5 built-in preprocessor macros are now supported in the .Build.cs and .Target.cs files.
    • ReSharper C++ now reads the list of valid reflection specifiers directly from the version of Unreal Engine which is currently in use, so it only offers you applicable items in code completion and displays up-to-date documentation.
  • Unit Testing
    • The Unreal Engine testing framework is now supported - ReSharper C++ discovers Unreal Engine unit tests and adds the corresponding action indicators next to each test in the editor to run or debug the test or the whole test suite. In the Unit Test Sessions window, you can review the results of the tests, and rerun failed, all, or specific tests.
    • The new version of the Catch2 unit test framework brings significant changes - It is now split into multiple headers and has a statically compiled library as its distribution model. It means you now have to include several headers, but the compilation time is improved. This release has full support to help you with the updated Catch2 unit test framework.
    • This release also includes updates for the latest releases of GoogleTest and doctest, as well as various unit testing fixes.
  • C++ support
    • ReSharper C++ is now better at handling implicit constructor calls, allowing you to find usages and navigate to the called constructor in more cases, including the following:
      • Standard (make_unique/make_shared) and Unreal-specific (MakeShared/MakeUnique) smart pointer creation functions.
      • emplace-like container methods.
      • static_cast and c-style cast expressions.
    • ReSharper C++ now also shows you an overloading warning when an emplace-like function is called with incorrect arguments.
    • This release improves the multiline generation of boilerplate code for aggregate initialization using C++20 designated initializers. You can now invoke completion on the next line if you’d like to see each initializer on a new line.
  • Formatting
    • ReSharper C++ now treats the C++20 requires-expressions correctly, allowing you to configure spaces formatting via the Around ‘->’ in trailing return types option. Use the new Line feed at the end of file option to control adding or removing a blank line from the end of files.

dotCover

  • Support for musl-based Linux distributions - The dotCover command-line runner now supports Alpine versions 3.13–3.15. The following CPUs and frameworks are supported:
    • x64: Microsoft .NET Core 3.1, .NET 5.0–6.0.
    • arm64: .NET 5.0–6.0.
  • New coverage report types - Added new report types that include per-test coverage information: FileCoverageXml, DetailedFileCoverageXml, FileCoverageJson, and DetailedFileCoverageJson. New reports include three sections:
    • Files - Includes information about covered source code files. Detailed reports also provide information about covered ranges per file.
    • TestLists - Offers information about tests aggregated by test set.
    • Tests - Contains detailed information about each test.
  • Excluding code from coverage analysis using comments - You can now use comments to exclude certain lines or blocks of code from coverage analysis.
  • Performance improvements - Improved the post-processing of coverage data. For example, the console runner (with IncludePerTest=true) takes significantly less time to generate reports.

dotMemory

  • Support for musl-based Linux distributions - The dotMemory command-line tool now supports Alpine versions 3.13–3.15. The following CPUs and frameworks are supported:
    • x64: Microsoft .NET Core 3.1, .NET 5.0–6.0.
    • arm64: .NET 5.0–6.0.
  • Improved Profiling API  - When getting a snapshot with the help of the profiling API, you can now specify a snapshot name using DotMemory.GetSnapshot("snapshot name");. The name will be shown on the dotMemory Home | Snapshots page.
  • Attaching to applications with drag and drop - You can now attach the profiler to an already running application by simply dragging the special icon onto the application window.
  • Command-line tool improvement - The dotMemory command-line tool now shows its progress when saving a snapshot.
  • Improved performance of the Similar Retention view - The Similar Retention view now processes data much faster.

dotPeek

  • Preview tab  - Added the ability to show files in a single Preview tab, as you are used to in Microsoft Visual Studio. It helps when you are looking for something specific and don't want to keep these files open as separate tabs. If you want to keep the file in a separate tab, click the Keep open icon on the Preview tab. To disable the Preview tab, go to Tools | Options | Tabs and select Allow new files to be opened in the preview tab.
  • Quick Find pane inside the text editor - Moved the Quick Find feature from a separate tool window to the text editor tab. Now, when you call Quick Find (Ctrl+F) for a file, the Quick Find pane appears inside the text editor tab for the file. F3 and Shift+F3 shortcuts have also been added, which allow you to quickly navigate to the next or previous occurrence when you are looking for something using the Quick Find pane.
  • XML doc comments - dotPeek now shows XML doc comments for platform assemblies, including assemblies whose names differ from the names of the XML documentation files, for example, System.Private.CoreLib. The path to the XML documentation is now displayed in the decompiled file’s header.
  • Updates to Assembly Explorer - The Assembly Explorer now supports forwarded types (the TypeForwardedTo attributes). The Locate in Metadata action also works for forwarded types, assembly and module references, and resources.
  • Other updates:
    • Turned off navigation retargeting in the Metadata view.
    • Added decoded / raw blob presentations in the properties for blob nodes.
    • Improved PDB navigation for types without sequence points, for example, interfaces and enums.

dotTrace

  • Support for musl-based Linux distributions - The dotTrace command-line tool and dotTrace in Rider now support Alpine versions 3.13–3.15. The following CPUs and frameworks are supported:
    • x64: Microsoft .NET Core 3.1, .NET 5.0–6.0.
    • arm64: .NET 5.0–6.0.
  • Support for the .NET Core NetTrace file format - You can now open NetTrace files collected with dotnet-trace collect: from the dotTrace Home menu, click Open Snapshot and choose a .nettrace file.
  • Improved support for Microsoft SQL Server events - dotTrace now supports SQL Server events from the Microsoft.Data.SqlClient provider on Microsoft Windows (.NET Core, .NET 5+), as well as Apple macOS and Linux (.NET Core 3.0+, .NET 5+).
  • Keyboard navigation in dotTrace Home - You can now navigate the dotTrace Home window using only keyboard combinations. No mouse is needed. Each UI element is assigned to a key or key sequence. There are two ways to view the assigned keys and interact with UI elements:
    • Hold Alt and press a key or key sequence (default).
    • Press the mode-toggle key, then press a key or key sequence.
  • Attaching to applications with drag and drop - You can now attach the profiler to an already running application by simply dragging the special icon onto the application window.
  • Improved Snapshots page in the dotTrace Home window:
    • You can now edit the names of snapshots.
    • You can now open snapshots by dragging the corresponding files onto the dotTrace Home window.
    • The snapshots list now preserves the sorting state between dotTrace launches.
    • The snapshots list now uses the system date format.
  • Other improvements:
    • You can now disable snapshot auto-saving. If you do, when you close the Timeline or Performance Viewer, dotTrace will ask you whether you want to save the collected snapshots.
    • It’s now possible to pin threads in the Threads filter in the Timeline Viewer.
    • The Configuration2Xml tool now uses the same UI as the dotTrace Home window.

Fixes

Rider

  • Language Support
    • Razor and Blazor:
      • Fixed the If To Switch and Invert If context actions in Razor code with references to Blazor components.
      • Rider now uses the correct naming style for Blazor injected properties.
      • The Comment with Line Comment action now comments only the part of the Razor code you’d expect it to.
    • F# support:
      • Fixed various project model issues that could lead to freezes while projects were loading and updating, as well as issues that were causing analysis to ignore changes to projects or other files.
      • Addressed the problems causing F# scripts to lead to non-working package references and other files’ include directives.
      • C# projects now properly see InternalVisibleTo attributes defined in F# projects, so internal symbols can be accessed without resulting in errors in the IDE.
      • Fixed some issues with type providers, such as analysis errors that previously appeared in code with the same type provider instantiation.
      • Fixed the problem with the Rename refactoring as it didn’t work on some symbols.
  • Unity support
    • Fixed issues such as sluggish behavior when typing with the Unity Explorer tool window open, and the slow down when displaying long log entries in the Unity tool window.
    • Fix for finding the location of installed documentation on Linux.
  • Others
    • Roslyn:
      • Rider now passes the correct language version to Roslyn analyzers.

ReSharper

  • Razor and Blazor
    • Fixed the If To Switch and Invert If context actions in Razor code with references to Blazor components.
    • ReSharper now uses the correct naming style for Blazor injected properties.
    • The Comment with Line Comment action now comments only the part of the Razor code you’d expect it to.
  • Performance
    • Fixed a number of performance issues already and laid the groundwork for more. This includes dealing with performance snapshots from our customers, in-house profiling sessions, and gathering data to hopefully implementing automatic checks for performance degradations in the future.
  • Other updates
    • Fixed the “massive file system change” problem. It turned out to be an event buffer overflow. It caused ReSharper to review all files in the solution without any real cause, and that led to high CPU usage and, in some severe cases, UI freezes.
    • Fixed the issue that hampered ReSharper’s functionality in .sqlproj files in localized Visual Studio.
    • Addressed several long standing problems with “ReSharper shows red code on switching Git branches”.

ReSharper C++

  • Unreal Engine
    • ReSharper no longer suggests the recent C# features that are not applicable in the .Build.cs and .Target.cs files on Unreal Engine 4.
    • There are no more issues caused by the DOREPLIFETIME_WITH_PARAMS_FAST and MARK_PROPERTY_DIRTY_FROM_NAME push model macros – ReSharper C++ now is aware of entities generated by the replication system, such as ENetFields_Private enum.