ReSharper Ultimate 2017.1

Microsoft Visual Studio 2017を完全にサポート、C# 7に対応した新しいコード検査機能を追加、単体テストを改善
4月 6, 2017
新バージョン

機能

ReSharper

  • Microsoft Visual Studio 2017 RTM support - Full support for Visual Studio 2017 new features is finally here. You can now work with solutions loaded in a lightweight mode. When you use the Open Folder option, ReSharper sees all files in the folder and supports .xml and .js file types. Move to Folder refactoring works in this mode. ReSharper respects the current target framework context. This is set by the drop-down at the top of the editor window, and can change settings such as the assemblies being referenced, as well as symbols defined in the build and pre-processor.
  • C# 7 support - ReSharper receives a lot of new inspections to comply with the C# 7 compiler. For example, it can detect typos in tuple variable names when overriding a method or implementing an interface. ReSharper supports local functions with a new quick-fix to Convert a read-only delegate variable into a local function, as well as two new context actions:
    • Convert lambda expression or anonymous method into a local function
    • Convert local function into a regular method
    • The Join null check with assignment quick-fix makes the code more readable by combining the assignment, the null-coalescing operator, and throw. The existing context action Convert to '?:' operator and the .throw postfix template also support C# 7 throw expressions.
  • Unit testing - ReSharper’s unit testing works in both project.json- and .csproj-based projects in Visual Studio 2017 RTM. It discovers and runs MSTest and xUnit tests and supports code coverage and profiling as well as targeting multiple frameworks. NUnit tests that target .NET 4x frameworks are supported. There’s also DataRow support for MSTest v2. Note that ReSharper currently doesn't support continuous testing for .NET Core unit tests. This will be fixed in the next updates.
  • EditorConfig support - EditorConfig support is enabled by default. ReSharper understands standard EditorConfig properties, most of Roslyn EditorConfig properties, and provides a rich set of custom EditorConfig properties for much more granular configuration of formatting rules. This means that you can maintain the entire configuration of formatting rules in EditorConfig files. The File Formatting Info window displays the scopes and properties defined in all active .editorconfig files. This window also shows the source of indentation settings and its value, and the status of indent autodetection.
  • Code cleanup and formatting improvements
    • ReSharper’s Code Cleanup gets usability improvements. Now you can create and configure your custom task-specific profiles right in the Code Cleanup dialog box, simply by pressing Ctrl+E,C.
    • Contextual configuration of formatting rules is available in С#, C++, JavaScript and TypeScript. Press Alt+Enter over the selected block of code that you need to reformat, and then choose Format Selection | Configure in the actions list to see all formatting rules that affect the code.
    • Tabs and indents in all supported languages can now be configured on a corresponding options page and stored in ReSharper’s layered settings.
    • ReSharper applies its formatting rules to any code you paste. The Reindent option that affects only the indentation settings is set by default and you can change it on the Editor Behavior options page.
    • When you reformat a part of code in a file, or when code is auto-formatted on editing or pasting, ReSharper can calculate and apply indentation based on the existing indents in that file. This feature comes in handy when you want to contribute to existing projects where indentation differs from your settings.
  • New C# code style and formatting options - C# formatting styles were enhanced with several new options:
    • Code style settings for type members bodies: choose between always using a body block, with braces, or using the expression format.
    • The new wrapping engine now handles the alignment correctly, and comma-first wrapping style is supported.
    • Set spaces before and inside the parentheses of 'nameof'.
    • Choose preferred wrapping style for chained binary expressions.
    • Add line breaks in a single 'case' statement.
  • Navigation and search
    • The Find Results window gets a new option to group search results by kind of usage, new filters to select occurrences of a specific usage, and using quotes to search for exact matches.
    • ReSharper's Search & Navigation page adds a new option to open files in the preview tab from everywhere. This option is turned off by default.
    • The Go to Everything and Go to Text popups support inline commands for advanced filtering of search results.
  • Angular 2 templates syntax
    • ReSharper understands the following elements of Angular 2 templates syntax: template expressions, template statements, NgFor directive and template variables. Support is implemented for the template: property in Angular @Component decorator as well as for pure HTML referenced by templateUrl: property in @Component. Only relative paths are supported in templateUrl. For HTML pages, Angular markup is switched off by default and can be enabled in ReSharper Options (Code Editing | HTML | Editor).
    • Code completion works for Angular attributes and component tags, as well as for [attr., [style. and [class.. Component attributes receive support for the Go to Declaration (F12) command. The Rename refactoring works for component tags and for 'foo' in [class.foo].
    • Note that Angular 1 is not yet supported. You can use the AngularJS plugin for code completion and live templates, if Support Angular markup in HTML pages is set to 'None' in ReSharper options.
  • TypeScript and JavaScript support
    • Full support for TypeScript 2.1: mapped and indexed types, object rest and spread properties, updated logic for literal types, configuration inheritance, untyped imports, combined types normalization, partially annotated signatures, and control flow analysis for implicit any and implicit any arrays.
    • Initial support for TypeScript 2.2: 'object' type, JSX spread syntax and deriving (extends/implements) from signatures/tuples/intersections/mapped types.
    • Inspection and quick-fixes for unused imports in TypeScript ES6-style imports.
    • Postfix Templates in JavaScript and TypeScript.
    • Improved relevance of code completion items in TypeScript and JavaScript.
    • The Generate Code menu gets a new option to generate properties or read-only properties for TypeScript classes. The Generate Overriding Members command now calls 'super' whenever possible.
    • Navigate to Implementing Members in TypeScript.
    • Navigate to Function Exits in TypeScript and JavaScript.
    • The Rename refactoring in TypeScript works faster for local symbols and gets a new option to disable dynamic search for TypeScript.
  • Code analysis - ReSharper's File Status Indicator (the small icon at the top of the Error Stripe) receives a new context menu. With a right-click on the icon, you can quickly toggle not only ReSharper code analysis but also identifier highlightings and Visual Studio code analysis (lightbulb and squiggles). If there are code issues in the current file, you'll also see commands for navigating between issues of the highest severity level. Note that for large files ReSharper suspends code analysis automatically. In this case, you'll see a gray Pause icon in the Status Indicator.

ReSharper C++

  • Visual Studio 2017 RTM support - Completing the work started in the 2016.3 release, ReSharper C++ improves compatibility with the latest Visual Studio release. It supports Open Folder and CMake projects, as well as the Faster Project Load Visual Studio setting.
  • Inspections and code cleanup enhancements
    • The Update file header cleanup task and a set of tasks to fix common code issues are added.
    • Control flow inspections are updated to handle class fields in addition to local variables and function parameters.
    • The inspection Declaration and assignment can be joined is implemented, together with an accompanying quick-fix.
    • In order to improve inspection results, ReSharper C++ understands several custom C++ 11 attributes that can be used to mark printf-style functions, functions with side effects, and guard classes for which the Unused variable highlighting should be suppressed.
  • Postfix templates - The set of postfix templates is extended with beg..end, new, var, const_cast, dynamic_cast, reinterpret_cast, static_cast, make_shared, and make_unique. You can configure the availability of C++ postfix templates and some other settings on a Postfix templates page of the ReSharper options.
  • Code formatting
    • ReSharper C++ understands formatting rules defined in the EditorConfig files.
    • Indent size and style can be auto-detected.
    • Indenting of preprocessor directives is now supported.
    • New formatter options: Indent namespace members, Space after parentheses in cast expressions and Break line in simple 'case' statement.
  • Performance improvements
    • ReSharper C++ significantly lowers its memory usage, including both memory footprint after indexing and memory traffic during the indexing, thus reducing lags caused by GC pauses and overall indexing time. Moreover, the reindexing process should trigger less often during the normal workflow, as ReSharper C++ will not, by default, invalidate includers after preprocessing directives change in an included file. A number of issues that previously caused excessive memory usage due to the background editor and Find Results window tabs have also been resolved.
  • Other improvements
    • The Find Results window gets a new option to group and filter results by kind of usage.
    • Go to Everything and Go to Text popups support inline commands for advanced filtering of search results.
    • Context menu on the file status indicator provides quick access to a number of code inspections and commands.
Code cleanup and formatting improvements.

ReSharper Ultimate(英語版)

.NET開発の生産性が格段に向上

ご質問がありますか?

今すぐ JetBrains ライセンススペシャリストとライブ チャット