010-68421378
sales@cogitosoft.com
Your location:Home>News Center >New release

WHAT′S NEW IN JETBRAINS RIDER?2017.3

发布时间:2018/03/29 浏览量:1568
WHATS NEW IN RIDER Rider 2017.3 enables debugging third-party code and extends the debugger in many other ways, introduc...

WHAT′S NEW IN RIDER

Rider 2017.3 enables debugging third-party code and extends the debugger in many other ways, introduces a new project wizard, adds C# Interactive, polishes unit testing UI, enables out-of-the-box TSLint and CoffeeScript support, evolves Unity integration, adopts features from the latest ReSharper and IntelliJ Platform releases.

Rider 2017.3

 

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.

 

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().

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.

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 — decimalfloatdouble — are now evaluated and presented as expected.

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.

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.

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.

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.

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.

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.

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  inVB.NET.

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.

MSBuild and NuGet

Rider's NuGet tooling learns to handle fallback folders, restore packages based onPackageReference 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.

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.

Settings

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.

 

下一篇:O&O SafeErase 12服务器和工作站版本今天发布! 安全地保护您的公司数据
上一篇:全新的UltraFTP v18.00让你意想不到的4点

© Copyright 2000-2023  COGITO SOFTWARE CO.,LTD. All rights reserved