ReSharper の新機能

ReSharperの新機能

ReSharper Ultimate 2018.2EditorConfigのサポートをスピードアップし、ソリューションのロード時間を短縮し、統合されたスペルチェッカーを取得し、C# 7.3を完全にサポートし、JSLintESLint、およびTSLintを使用してJS / TSコードを埋め込みます。また、初期のブレザーサポートを紹介し、色付きのパラメーター情報ポップアップを追加し、ナビゲーションとリファクタリングのUIを改善し、フォーマッタエンジンを強化します。

さらに、このリリースでは、C++ / CLIのサポートが強く求められ、C++17および今後登場するC++20の新機能の多くを理解しています。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2018.2

Performance Improvements

パフォーマンスの向上

すべてのリリースで、Visual Studioに対するReSharper'sの影響を制限し、応答性を高め、UIのフリーズを解消するために、多くのパフォーマンス改善とバグ修正を行っています。 ReSharper 2018.1に戻り、現在の状況、現在の状況、最新のリリースサイクルでの修正内容、およびより良いものを作成する計画について、ブログ記事(英語)のパフォーマンスに関する現状について公開しました。

2018.2リリースでは、EditorConfigのサポートのスピードアップからソリューションのロード時間の短縮まで、ReSharperのさまざまな部分で約30のパフォーマンスの修正を行いました。より詳細な情報はReSharper 2018.2リリース専用の新しいブログ投稿シリーズ(英語)にあります。

Integrated spell checking with ReSpeller

ReSpellerによる統合スペルチェック

このリリースにはReSpeller拡張機能が付属しており、スペルチェック機能をそのまま使用できます。コード解析と同様に、ReSpeller識別子コメント文字列リテラルなどのスペルミスやタイプミスをスキャンし、検出された各問題を解決するためのクイックフィックスを提供します。デフォルトでは、ReSpellerReSharperがサポートする多くの言語で有効です。個々のインスペクションを有効/無効にし、重大度を変更する簡単な方法は、設定で「typo」を検索することです(コード・インスペクション | インスペクション重大度になります)。

次に、 Alt Enter メニューを呼び出して、ReSpellerが私たちの間違いを修正するいくつかのオプションを提供します。メニューでは、タイプミスを修正するか、リスペラ辞書に新しい単語を追加することができます。

デフォルトでは、スペルチェッカーには英語(米国)用のビルトイン辞書が付属しています。 Hunspell(英語)に基づいた辞書を使用しています。これは、必要に応じて追加言語(英語)をインストールできることを意味します。

詳細は、 ReSharperとRiderのReSpellerによる統合スペルチェック(英語)を参照してください。

C# 7.3 support

C# 7.3サポート

ReSharperは、最新のC# 7.3のすべての機能をサポートするようになりました。

  • イニシャライザーおよびクエリ宣言式
  • タプル等価。
  • Ref の割り当て。
  • UnmanagedSystem.Delegate、および System.Enum の制約があります。
  • Stackalloc 配列初期化子。
  • パターンベースの fixed ステートメント。
  • 可動 fixed バッファの索引付け。

構文をサポートするだけでなく、新しいインスペクションと適切なクイックフィックスを追加して、コードをC# 7.3と互換性を持たせました。

詳細は、RiderのC# 7.3とReSharper(英語)を参照してください。

Initial Blazor support

初期ブレザーのサポート

実験プロジェクトブレザーは、WebAssemblyを使用してブラウザで動作する.NET上に構築された単一ページのWebアプリケーションフレームワークです。 Blazorは今のところ実験的に宣言されていますが、この有望なフレームワークの初期サポートはReSharperに追加されました。たとえば、コード補完には、ページ(ルーティング)、注入する(サービスインジェクション)、関数(コンポーネントメンバ)など、すべての可能なディレクティブが含まれています。

詳細は、 ReSharperおよびRider 2018.2での初期ブレザーのサポート(英語)を参照してください。

Navigation improvements

ナビゲーションの改善

いくつかの小型で便利な新機能がナビゲーションに追加されています。

ReSharperは、検索ナビゲーションオプションの待望の機能を紹介しています。環境 | 検索&ナビゲーションでマスクを使用して無視されたファイルを指定できるようになりました。ファイル拡張子またはフォルダに基づいて、すべての検索機能とナビゲーション機能からファイルを除外できます。

StackTraceエクスプローラ解析エンジンがどこでも検索に追加されました。 ReSharper 2018.2を使用して、ドットトレース / Visual Studioのコールスタックウィンドウから関数シグネチャをコピーし、どこでも検索を使用して、コードベースで正しいメソッドオーバーロードに直接ナビゲートできます。

最後に、ファイル構造宣言を含む次/前のメンバーなどのReSharperのいくつかの機能がローカル関数を考慮に入れています。

Colored Parameter Info popup and Summary tooltip for IntelliSense

IntelliSenseのカラーパラメータ情報のポップアップおよびサマリーツールチップ

このリリースでは、ReSharperが参照項目ポップアップでパラメータ情報を提示する方法が更新されています。例:C#またはVB.NETでコード補完を使用する場合、ReSharperパラメーター型メソッド戻り値の型を異なる色で表示するので、メソッドのオーバーロードを視覚的に簡単に識別できます。

The formatter engine update

フォーマッタエンジンの更新

フォーマッタエンジンにはいくつかの新機能(英語)があります。

  • フォーマッタ設定を上書きするためのコードファイル内のコメントは、フォーマットを設定するダイアログから直接生成できます。
  • ファイルの書式設定情報ツールウィンドウには、StyleCopルールの影響を受ける設定が明示的に表示されます。
  • StyleCopルールがコードスタイル/書式設定を上書きすると、オプションダイアログにStyleCopルール名が表示されるようになりました。
JSLint, ESLint, and TSLint

JSLint、ESLint、およびTSLint

ReSharperは、JSLintESLintTSLintの3つの静的解析ツールをサポートし、組み込みのコード解析ルールを拡張します。これらのすべてのリンターは、JavaScriptとTypeScriptコードが読みやすくメンテナンス可能であることを保証します。また、ReSharperコード分析に含めることができるカスタムルールを追加することもできます。

マシンに既にNode.jsインタプリタが設定されている場合、ツール| Web Linters。の下でReSharper設定でlintersを有効にすることができます

Refactorings UI update

リファクタリングUIアップデート

今回のリリースでは、いくつかのReSharperリファクタリングが新しいプレゼンテーションフレームワークに移行しました。改良の大部分はボンネットの下で行われ、UIでは表示されません。この動きは、ReSharperとRiderのコントロールの振る舞いを統一するのに役立ちます。

表示される主なUIの変更点は次のとおりです。

  • シグネチャーの変更ダイアログには、パラメータタイプのコード補完ポップアップがあります。
  • メソッドの抽出には、メソッドまたはローカル関数を結果として作成するかどうかを指定する曖昧さのないポップアップがあります。
More ReSharper updates

より多くのReSharperアップデート

その他のReSharper 2018.2のアップデート内容は次のとおりです。

  • スコープを修正クイックフィックスには、より細かい固定スコープメソッドを修正クラスで修正が追加されています。
  • ビルトイン・タイプのコードスタイルが改善されました。メンバアクセス式と "フィールドパラメーター変数"宣言の独立した設定を取得します。
  • ReSharperビルドのスキップされたプロジェクトに対してBeforeBuildAfterBuildターゲットを実行する新しいオプションがあります。
  • XAMLの間違ったテキストを強調表示する新しいインスペクション。
  • XML / XAMLのサポートでは、別の行の終了タグの前に Enter を押すと、入力支援によって、終了タグの前に空白行が挿入され、閉じタグに移動する代わりに空白行にキャレットが残ります。
C++/CLI

初期のC++ / CLIサポートUltimate

C++ / CLIは、マネージドコードとネイティブコード間の容易な相互運用性のために、マイクロソフトのC++言語拡張のセットです。管理言語とC++の両方を幅広くサポートしているので、ReSharperはC++ / CLIでもコードを記述することができます。

しかし、C++ / CLIを扱うC++言語のセマンティクスには構文上の追加や特有の変更が多すぎるため、簡単な作業はありません。 ReSharper C++ 2018.2は、C++ / CLIのサポートを公開し、この言語の方言をサポートするために多くの主な機能(コードインスペクション、タイピング支援、フォーマット、コード補完など)を公開しました。

C++20 features

C++17およびC++20の機能Ultimate

ReSharperС++ 2018.2は、現代のC++言語の理解を深めています。クラステンプレートの引数の控除、ユーザー定義の控除ガイド、式の折り畳み、自動非型テンプレートのパラメータなどのサポートが追加され、C++17の主要な機能のほとんどがReSharper C++によってサポートされています。

C++20標準がすでに整形されているので、ReSharper C++ 2018.2は、メジャーなコンパイラ、特にコルーチン、初期化、機能テストマクロなどですでに利用可能な数多くのC++20機能を理解することを学びます。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2018.1

Full understanding of C# 7.2

C# 7.2の完全な理解

このリリースでは、ReSharperがC# 7.2の機能を理解していることは間違いありません。 ReSharperは、パズルを完成させるために次の不足している部分を取得します。

  • 非末尾の名前付き引数。
  • private protected アクセス修飾子。
  • 数値リテラルの先頭のアンダースコア。
  • in パラメータ。
  • ref readonly 戻り値とローカル変数;
  • readonly struct 型;
  • ref struct 型;
  • 条件付き ref 演算子。

関連事項

Navigation improvements

ナビゲーションの改善

ファイルメンバーに移動には、1つのファイルに複数のクラスをよりよく表示するための新しいグループ化機能があり、メンバーはファイル内で宣言されたとおりにソートされます。

最近使ったファイルで検索すると、最近検索したアイテムの検索直後にファイル検索結果が表示されます。これは最近のファイルのリストにしなかったファイルを探している場合に便利です。

どこでも検索には、単体テストプロジェクトのコードエンティティに焦点を当てる新しい単体テストフィルタがあります。

最後に、クラスで使用箇所の検索を呼び出すときに、クラスにコンストラクタが定義されていない場合、検索結果をデフォルトコンストラクタの使用に制限することができます。

詳細は、 ReSharper 2018.1でのナビゲーションの改善(英語)を参照してください。

Formatter-related inspections

フォーマッタ関連のインスペクション

書式設定ルールに従わないときは、コードごとに直ちに通知する必要があります。このことを念頭に置いて、ReSharperのコードフォーマットエンジンでは、字下げ、改行、スペース、空白行などのフォーマッタ関連の問題についてインスペクションとクイックフィックスが導入され、コードエディタで直接確認および修正できます。

デフォルトでは、入力中に書式設定を気にしない人を気にしないように無効になっています。使用可能なすべてのフォーマッタインスペクションを表示し、通知したいフォーマッタの重大度を選択するには、ReSharper | オプション | コード・インスペクション | インスペクション重大度を選択します。

詳細は、 フォーマットインスペクションで一貫したコードスタイルを維持する(英語)を参照してください。

Enhanced C# 7 support

拡張C# 7サポート

ReSharperは、最新のC#言語バージョンをサポートするほか、以前のC#バージョンのサポートを継続的に改善しています。今回のリリースでは、新しいコードスタイル、コードインスペクション、クイックフィックス、コンテキストアクションを追加して、宣言の分解と varの選択、明示的および暗黙的な破棄の作業を行いました。

さらに、変数を導入するリファクタリングと .var ポストフィックステンプレート、 .foreach ポストフィックステンプレートの反復子変数を分解するオプション、および2つの新しいコンテキストアクション展開された宣言をマージする変数を分解する値を解体するための新しいオプションが追加されました。

続きを見る:

More ways to specify code styles/inspection severities

コードスタイルとインスペクションの重大度を構成するその他の方法

今回のリリースでは、ReSharperは .editorconfig ファイルからコードスタイル設定(ReSharper | コード編集 | C# | コード・スタイル)の読み込みを開始し、 Roslyn言語の規則(英語)のサポートを拡張しました。

.editorconfig は、ソリューション全体、プロジェクト、または特定のファイルに対して、インスペクションの重大度を任意の範囲に設定するためにも使用できるようになりました。同時に、プロジェクトの .dotSettings ファイルからインスペクションの重大度設定を引き続き読み取ることができます。つまり、プロジェクトには、さまざまな重大度を持つ有効/無効インスペクションの異なるカスタマイズされたセットを持つことができます。

この混合ソースインスペクション設定モードを有効にするには、ReSharper | コード・インスペクション | 設定 | 一般に移動し、editorconfigとプロジェクト設定から設定を読み込むを選択します。

関連事項

StyleCop support

StyleCopのサポート

ReSharperがRoslynコーディング規約を扱うのと同じ方法で、StyleCop設定ファイルから直接StyleCopルールを読み込みます。この機能を有効にするには、ReSharper | コード編集 | 一般的なフォーマッタスタイルの下でStyleCopサポートを有効にするを選択します。

EditorConfigファイルとStyleCop設定ファイルを同時に使用する場合、EditorConfigファイルは常にStyleCop設定ファイルよりも優先され、ReSharper独自の設定よりも優先されます。

詳細は、 StyleCopコードスタイル設定とインスペクション(英語)を参照してください。

C# 7 features comes to value tracking

C# 7の機能がトラッキングに役立つ

バリュートラッキングは、C# 7の主な機能のいくつかをサポートするためにレベルアップしています。 ref-returningメソッドパターン・マッチング、またはアウト変数を使用していても、価値起源/目的地は特定の変数の値を追跡するのに役立ちます。

詳細は、 ReSharper 2018.1での値追跡の更新(英語)を参照してください。

More love to comments

コメントをもっと愛する

ReSharperには、コード内のコメントを処理するための新機能がいくつか用意されています。

コードのコメントアクションで使用されるコメント位置は、ReSharper | コード編集 | C# | スタイルの書式設定 | タブ、インデント、アライメントの下の設定最初の列からコメントをインデントしないでくださいによって異なります。

以前は、行コメントの中で Enter を押すとコードはコンパイル不可能な状態になりました。これから Enter キーを押すと、1つのコメントが2つのコメントに分割されます。これにより、コメントをすばやく任意の数のコメントに分割することができます。

More ReSharper updates

より多くのReSharperアップデート

ReSharperのその他のアップデートは次のとおりです。

  • ReSharperビルドエンジンのビルド前/ビルド後タスクサポート。
  • メソッド呼び出し/宣言、改行、およびLINQ式の折り返しにおける括弧の新しい設定。
  • ISetの意図しない線形探索のための新しいインスペクション。
  • 現在、ナビゲーション機能のオプション前回の検索がデフォルトで有効になっています。オプションライブラリの種類を含めるの状態も保存されます。
Continuous testing in any session

どのセッションでも継続的なテストUltimate

もはや別々の連続テストセッションはありません!すべてのユニットテストセッションで、連続テストモードをオンにできるようになりました。 dotCover 2017.3以前では、継続的なテストの範囲は、単一の連続したテストセッションによって制限されていました。これで、必要なだけ連続したテストを行うことができます。

ソリューションをビルドまたは保存した後、以前のバージョンのdotCoverは常にカバレッジモードでテストを自動起動しました。 2018.1で、カバレッジはもはや必要なくなりました。dotCoverに、新しいテストと古いテストをカバーすることなく単に実行するように指示できます。これは、最新のカバレッジスナップショットを既にお持ちの場合、これは素晴らしい時間節約になる可能性があります。

dotCover 2018.1の詳細

Unit Test Coverage window

単位テストカバレッジウィンドウUltimate

カバレッジ情報は、セッションごとのカバレッジタブではなく、別のユニットテストカバレッジウィンドウに表示されるようになりました。これにより、1つの場所ですべての単体テストセッションのカバレッジデータを集約することができます。

dotCover 2018.1の詳細

Debug step filters

デバッグステップフィルタUltimate

ステップ・フィルターは、デバッグ用にReSharper C++が提供する機能のホストへの最新の追加機能です。 ステップ・インを呼び出すと、Visual Studioデバッガは通常、現在のステートメントから呼び出されるすべての関数にステップインします。しかし、機能のいくつかは、自明であるか、または十分にテストされているため、それらにステップインしたくないことがあります。これはステップ・フィルターが入っている場所です:デバッガによって常にステップオーバーされるべき関数を指定することができます。

ReSharper C++には標準ライブラリのステップフィルタがあらかじめ定義されていますが、いつでも新しいライブラリを追加することができます。

ReSharper C++ 2018.1の詳細

Includes analyzer

分析装置を含むUltimate

コンパイル時間は、現実世界の大規模なC++プロジェクトにおける最大の問題の1つです。 ReSharper C++ 2018.1には、プロジェクトのどのヘッダーファイルがコードの行に最も寄与しているかをコンパイル作業の総量に合わせて測定するのに役立つ新しいコードインスペクションツール分析装置を含むが導入されています。これを使用するには、ReSharper | インスペクション | 分析に含まれる...アクションの1つを呼び出すか、ソリューション・エクスプローラーのコンテキストメニューからIncludesを分析するを選択します。 ReSharper C++は、指定されたスコープ内のファイルを分析し、専用ツールウィンドウでレポートを作成します。

ReSharper C++ 2018.1の詳細

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2017.3

Debugger features in ReSharper

デバッガの機能

ReSharperはRiderのデバッグ機能の1つをVisual Studioに提供します:ローカル変数、現在の行の式、関数の戻り値がエディタに表示されるようになりました。これにより、コードエディタを動かすことなく、デバッグセッション中に即座にフィードバックが得られます。

ReSharperには、任意の値を検索できる独自のデバッガDataTipsも付属しています。入力を開始して、すぐに検索結果を取得してください。

関連事項

Performance Guide

パフォーマンスガイド

ReSharperのパフォーマンスガイドは、パフォーマンスに悪影響を与える可能性のあるVisual StudioとReSharperの設定を収集し、全体的なIDEの応答性を向上させるために集中的に調整するのに役立ちます。

パフォーマンスガイドはReSharperのオプション環境 | パフォーマンスガイドにあります。

この機能は、既知のパフォーマンス改善レシピを収集し、優先順位を付ける広範なReSharper Webヘルプ記事からインスピレーションを受けています。

関連事項

Huge code formatting engine update

巨大なコードフォーマットエンジンの更新

コードの書式設定エンジンは、より柔軟な書式設定とより多くのユースケースをカバーするための多くの新しい設定で拡張されました。

  • 内部に余分なスペースを確保するオプション(既存の =の周りのユーザーアライメントを尊重する
  • バイナリ演算子、ドット、カンマを処理するオプション
  • オプション "ネストされた三項式スタイル"
  • 内容に応じて、空白行を前後の文に挿入するオプション
  • ネストされたバイナリ式と連鎖されたメソッド呼び出しの整列を改善する
  • 行改行と折り返しオプションを使用して、同じ行/前の行に属性を配置し、属性の配列を指定します。
  • 式ボディメンバーの単一行/複数行の書式を指定するオプション
  • 埋め込みコードブロックのオプション
  • HTMLフォーマッタには、複数行の要素の前に、またはすべての要素の前に改行の新しいオプションがあります。
Aligning code in columns

列内のコードの整列

コードを整列させるための一般的な機能リクエストを実装しました。等しいオペランドの整列、3進演算子の見栄えの向上、コードの読みやすさの向上を目的としたいくつかの要求を使用して、アウトデントを実装してコードを作成する要求がありました。

一部の開発者は、クラス内のプロパティを列内で整列させることを望んでいます(例: { get; set; } は同じ列で開始します。他の人は、列内の課題を整列させるのが好きです。 ReSharper 2017.3はこれらすべてのフレーバーをサポートします!

詳細は、 ReSharperとRiderを使用した列内のコードの整列(英語)を参照してください。

Enable/disable formatter on selected blocks

選択したブロックでフォーマッタを有効/無効にする

今回のリリースでは、ReSharperは特定のコメントで囲まれたコードブロックでコードの書式設定を実行することを防ぎます。さまざまなコードブロックに異なる書式スタイルを使用したり、書式設定を完全に無効にしたいと思っていたユーザーが多数いました。独自の手作業による書式の変更を防ぐことができます。

また、ブロックをコメントで囲むことで、フォーマッタ全体を無効にするのではなく、コードブロックの特定の設定を上書きする方法もあります。

詳細は、 ReSharperとRiderの異なるコードブロックの異なるコードスタイル(英語)を参照してください。

改善された抽出メソッドのリファクタリング

修正された抽出メソッドリファクタリングは、C# 6とC# 7のサポートレベルを上げます。具体的には、ローカル関数のサポートが追加されました。出力パラメータではなく値タプルを返すオプションが追加され、リファクタリングが式ボディメンバーで機能するようになりました。

詳細は、より良いC# 6とC# 7サポートによるReSharperのExtract Methodリファクタリング(英語)を参照してください。

Create and navigate to breakpoints/tracepoints easily

ブレークポイント/トレースポイントを効率的に作成してナビゲートする

ReSharper 2017.3では、検索結果ウィンドウの検索結果からブレークポイントやトレースポイントを作成することができます。デバッグしたいコードエンティティのすべてのブレークポイントをすばやく生成することができます。

また、新しいリリースでは、新しいブレークポイントメニューが追加され、ソリューション内の使用可能なすべてのブレークポイント/トレースポイントが表示されます。メニューは、それらのいずれかを直接検索/削除するか、別のツールウィンドウでリストを開くことができます。

新しいR#ブレークポイントツールウィンドウは、ブレークポイント/トレースポイントで多くのアクションをサポートしています:

  • さまざまな方法でグループ化します(ファイル/フォルダ/プロジェクト/タイプ/メンバー)。
  • 単一のアイテムまたはアイテムのグループの削除/無効化/有効化。
  • それらを検索します。

使用箇所の検索 /コールトラッキングアップデート

検索結果ツールウィンドウでは、複数行の出現回数を増やすことができます。プレゼンテーションが変更され、結果ツリーにコンテキストが1行で表示されます。これで、検索結果のリストに複数の書式で表示された出現を簡単に確認できます。

更新されたコールトラッキングツールウィンドウは、すでにレビューした通話を削除することで、フォーカスを維持します。

Linking to external resources in to-do items

ToDo項目の外部リソースへのリンク

To-doパターンはURLフィールドを取得します。コードにリンクを作成して、To-doアイテムの Ctrl Click または Alt Enterを介して外部リソースにナビゲートします。これは、コメントを短くて簡単に保つのに役立ちます。完全なURLはなく、問題IDだけです。

To-doアイテムのリンクは、ピークプレビュー機能をサポートし、リンクされた問題をエディタにインラインで表示します。また、 Alt Enter メニューを使用して、To-doエクスプローラの作業項目を簡単に見つけることができます。

最後に、To-doエクスプローラの新しいフィルターを使用すると、複数のパターンを選択できます。

New C# typing assists

新しいC#タイピング支援

C#にタイピング支援を追加しました。

  • Enter を押して新しい行に * を挿入することにより、新しい複数行コメントのための */ を自動的に生成します。
  • ドットを入力した後、連鎖したメソッド呼び出しにメソッドをインデントします。
  • 波括弧または括弧を入力してコード選択を囲みます。

関連する変更では、 Enter のスマートインデントが、ReSharperによって計算され、ReSharperオプションで定義されたインデントと配置の設定を尊重します。

Tuples in VB.NET

VB.NETのタプル

ReSharperは、VB.NET 15で導入されたタプル構文を理解しました。使用すると、偽の赤いコードはなくなり、IntelliSenseは入力に干渉しません。

Enhanced Preview panel in tool windows

ツールウィンドウ内の拡張されたプレビューペイン

このリリースでは、検索結果オプションなどのほとんどのReSharperウィンドウに、更新されたプレビューウィンドウが組み込まれています。

検索結果では、キーワードと文字列が強調表示され、識別子の色が適用され、フォント設定とスケーリングがVisual Studioのテキストエディタ設定から継承されます。

ReSharperオプションのフォーマッタページでは、選択した書式設定スタイルについて知る必要があるすべてのものを表示するための空白とタブが常に表示されます。

More ReSharper updates

より多くのReSharperアップデート

ReSharperのその他のアップデートは次のとおりです。

  • Alt Enter メニューは、ファイル解析が完了するのを待たず、直ちに表示されます。
  • TypeScriptでは、タイプガードのサポートのパフォーマンスが向上し、npmモジュールの変更が追跡され、インポートされたパスの自動補完機能が利用できるようになりました。
  • ピーク定義はVisual Studio 2015および2017でサポートされています。
  • 新しいコード生成アクションを使用して、C# 7.0を使用すると、選択したフィールド/プロパティからデコンストラクタを作成できます。
  • <inheritdoc/> のサポートはVB.NETにあります。
Support for async calls

非同期コードのプロファイリングUltimate

非同期コードの欠点は、プロファイルを作成してそのパフォーマンスを分析することは非常に難しいことです。

dotTrace 2017.3は、非同期コードの解析を大幅に簡素化します。 async 内のすべての async コールノードをマークし、対応する await 時間とそのノードの下にある継続コードをグループ化します。これは、異なる呼び出しスタックを検索するのではなく、非同期呼び出しのすべての「パーツ」をすばやく1か所で見つけることができることを意味します。

dotTrace 2017.3の詳細をご覧ください。

Clang-Tidy integration and more ReSharper C++ updates

ReSharper C++のアップデートUltimate

ReSharper C++ 2017.3は、メインラインReSharperと同じデバッガ機能を持ち、C++17とC++14仕様を含む言語理解を向上させ、Clang-tidyを統合し、インスペクションのコードを追加し、コンテキストアクションとフォーマットオプションを追加し、ユニットテストランナーでCatch2をサポートします。

ReSharper C++ 2017.3の詳細

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2017.2

ReSharper and Razor Pages

.NET Core 2.0

プレビュー期間の後、.NET Core 2.0はVisual Studio 2017 15.3。のリリースで公開されました

ReSharper 2017.2では、.NET Core 2.0プロジェクトでお気に入りのコードインスペクション、ナビゲーションアクション、リファクタリングを安全に使用できます。 Web開発者の方は、ReSharperがASP.NET Core Razor PagesプロジェクトやMVCベースのWebアプリケーションで動作することを期待してください。

以前のReSharperリリースで.NET Coreアプリケーションをユニットテストする際に問題があった場合は、ユニットテストランナーが.NET Coreプロジェクト(1.1と2.0の両方)でNUnitをサポートし、MSTestとxUnitの両方を実行できることに注意してください。 .NET Core 2.0プロジェクトではネット。

最後になりましたが、ReSharperのソリューションビルダーは.NETコアプロジェクトをサポートし、アプリケーションの再コンパイルに費やす時間を削減できます。

Transform multiple if-statements into single switch statement with patterns

改良されたC# 7.0サポート

C# 7.0に対するReSharperのサポートは、すべてのリリースで改善されています。このリリースサイクルでは、ReSharperがパターン・マッチングを処理する方法を洗練しました。

  • 切り替え後置テンプレートは、非密封参照型の変数で使用できるようになりました。
  • 新しいコンテキストアクション型パターンを生成するは、選択したタイプのスイッチケースを簡単に生成するのに役立ちます。
  • スイッチに変換のクイックフィックスは、複数の if ステートメントをパターン付きの単一の switch ステートメントに変換するために完全に修正されました。

ReSharperは、アウト変数var (または、コードスタイルに応じて、明示的な型の使用)を提案することができます。さらに、インスペクションとクイックフィックスを追加して、outパラメータを使用したメソッド呼び出しでのみ使用される変数ではなく、変数を導入しています。

Default literal

C# 7.1について

Visual Studio 2017 15.3ではC# 7.1が導入され、ReSharperはその言語機能にすばやく追いついています。例:C# 7.1では、 default(T) 式の代わりに使用できる default リテラルが追加され、使用状況に基づいてターゲットタイプが推測されます。 ReSharperは default のリテラル構文を認識し、 default(T) が使用されているときはインスペクションを提供し、重複した型指定を削除するためのクイックフィックスを提案します。

ReSharperはまた、初期化子から推論できるときに冗長なタプル値のコンポーネント名を明らかにするインスペクションでタプル投影イニシャライザ(英語)をサポートしています。

最後に、ReSharperは async mainジェネリックス(英語)とのパターンマッチングを(英語)理解しています。

Adding the explicit .AsEnumerable() to the call

新しいIEnumerable インスペクション

ReSharperの一連の IEnumerable インスペクションは、新しいシナリオに対応するように拡張されました。

  • 可能な複数の列挙コードインスペクションは、 IOrderedEnumerable および ParallelQueryから派生したタイプを検討できるようになりました。
  • 新しいコードインスペクションは、 IQueryable から IEnumerableへの意図しない変換を検出します。
Checking redundant value tuple component name

より多くのコードインスペクションとコンテキストアクション

C# 7.1では、値タプルの要素名が推測され、ReSharperは冗長値タプルコンポーネント名の特定に役立ちます。

パラメータから自動プロパティを導入するクイックフィックスにより、プライベートsetterの追加やパブリックの変更可能なプロパティの作成など、広範なオプションを持つget-only自動プロパティを導入することができました。これで、パラメータから自動プロパティを初期化するコンテキストアクションはクイックフィックスと並行して、同じ広範なオプションセットを提供します。

ヌルチェックの設定

null の値をチェックする方法はたくさんあるので、ReSharperがコード生成時にヌルチェックを導入する方法が気に入らない場合はどうすればよいでしょうか?

ReSharper 2017.2では、新しいオプションページヌルチェックを追加しました。ここでは、クイックフィックス、コンテキストアクション、コード生成アクションで使用される null チェックパターンの優先順位を設定できます。独自のカスタムチェックを作成することもできます。 パラメータnullを確認するコンテキストアクションを使用している場合、ReSharperのオプションダイアログを掘り下げずにこの新しいページにアクセスするのに役立つ新しいサブメニュー項目ヌルチェックパターンを設定するをチェックしてください。

Match elements containing words in the target query in any order

ナビゲーションと検索の改善

すべてに行くなどのナビゲーションアクションは、ターゲットクエリ内の単語を含む要素を任意の順序で照合できるようになりました。たとえば、完全一致の検索は isMatchingExactlyと一致します。

一方、正確な検索Collection を返しますが、 IterateCollection()FilteredCollectionIterateCollection() などを返します。しかし、正確な検索を使用して複合名をフィルタリングしている間は、ワイルドカードシンボル * および ? を使用して、必要なだけの変化を可能にします。

別の注意点として、テキストに移動すべてに行くCtrl T)に統合されました。検索タームに対応するコードがない場合、ReSharperは代わりにテキストを探し始めます。

さらに、 Class.ExtensionMethodのドット区切り文字を使用して拡張メソッドを検索できるようになりました。

最後に、ReSharper 2017.2は、検索結果ウィンドウで検索結果を探索するための新しいショートカットを提供します。テンキーパッドの + の代わりに Shift Enter を押してください。

Navigate to file nearby

近くのファイルに移動する

ReSharper 2017.2のコンテキストナビゲーションも同様に向上しました:次にナビゲートメニューを使用すると、プロジェクトの構造内の現在のファイルに隣接するファイルを見たり、そのディレクトリに移動したりすることができます。これらのファイルに簡単にジャンプしたり、新しいファイルを作成したりすることができます。

Generate cref attribute in the inheritdoc tag

<inheritdoc />サポートの改善

新しいインスペクションがXMLドキュメントの <inheritdoc/> の使用をサポートするために導入されました。

ReSharperは、継承されたドキュメントの候補が複数存在するときを検出し、警告を表示し、 cref リファレンスを挿入するためのクイックフィックスを提案します。生成された cref 属性では、ReSharperは参照可能なすべての型の補完リストを便利に表示します。

また、派生クラスが基本クラスのドキュメントをオーバーライドするときに警告が表示されるようになりました。

Сonvert an expression bodied member into a block body

新しいC#タイピング支援

  • ReSharperでは、属性名全体を実際に入力することなく、引数を NotNull および CanBeNull 属性ですばやくマークすることができます。タイプ名、パラメータ名またはメンバー宣言の後に ! または ? を入力すると、それぞれ NotNull または CanBeNull 注釈が挿入されます。すでに名前が NotNullでマークされている場合は、 ! を入力すると、メソッド本体の先頭にヌルチェックが自動的に追加されます。
  • => の後に { を入力すると、式を中速の波括弧のコードブロックにすばやく変換します。
  • 波括弧を閉じる波括弧の前に Enter を押すと、同じ行にキャレットが残されますが、1つのインデントで右に移動します。
Inline type alias refactoring in TypeScript

TypeScript、JavaScript、JSONサポートの改善

  • 非同期イテレータ、オプションジェネリック、ステートレスJSXコンポーネントのオーバーロード解決、オブジェクトリテラル用のコンテキスト this 、および --strict オプションを含む、TypeScript 2.3の完全サポート。
  • TypeScript 2.4:文字列値と文字列/数値の混在した列挙型のサポート、文脈型の戻り値と一般的なコンテキスト署名からの一般的な推論のサポートの改善。
  • TypeScriptのマッピングされた型メンバーの使用箇所の検索名前変更の改善。
  • TypeScriptの新しいタイプエイリアスを導入するおよびインライン型エイリアスリファクタリング
  • 純粋なJavaScriptでコード補完のパフォーマンスが向上しました。
  • JSONのクイックドキュメント、 package.jsonのスコープ付きパッケージのサポートを含むJSONサポートの改善:コード補完、ツールチップ、クイックドキュメントがこれらのパッケージで利用可能になりました。
  • リテラルの言語注入:注入されたXML、C#とJavaScript / TypeScriptの注入パス参照。
Support for Angular 2 components in HTML

Angularのサポート

ReSharper 2017.2は、Angularの入出力エイリアスと属性ディレクティブをサポートしています。 Angular NPMを介して追加された2つのコンポーネントもサポートされています。

ReSharperはコード補完を提供し、クイックドキュメントを表示し、コンポーネントの宣言にナビゲートするのに役立ちます。これが機能するには、HTML | JavaScriptとフレームワークのReSharperオプションでHTMLページでのAngularマークアップのサポートを設定する必要があることに注意してください。

Angular 4では、ReSharper 2017.2は、 *ngIf; else 、および *ngIf*ngForの両方の変数割り当て(たとえば people as person)のサポートを追加しています。

ReSharper interactive tutorials

ReSharperインタラクティブチュートリアル

最新のリリースに入っている新しいクールなReSharperの機能がクラックを滑り落ちて、コーディングルーチンに入ることができない可能性が常にあります。

ReSharper 2017.2は、ReSharperチュートリアルプラグインを統合することによって、アップデートについてできるだけ多くのことを学ぶのに役立ちます。機能だけを読むのではなく、簡単に機能を試してみるには、ReSharper |ヘルプ|チュートリアル...にアクセスし、利用可能なチュートリアルの1つを選択してください。

Make properties mutable

より多くのReSharperアップデート

ReSharperのその他のアップデートは次のとおりです。

  • 検索結果ツールウィンドウの非同期リフレッシュ
  • get-onlyプロパティでインターフェースを実装するときにプロパティを変更可能にする新しいオプション。
  • コード補完の応答時間が改善されました。
  • Enter のスマートインデントにより、コードの書式が改善されました。この機能はデフォルトで無効になっていますが、ReSharper | オプション | 環境 | エディター | エディタの動作 | 入力支援で設定することができます。
  • Visual StudioのモジュールツールウィンドウとReSharperのプロセスエクスプローラツールウィンドウ(この操作はPDBを生成するを置き換えます)のコンテキストメニューのデバッグを有効にするアクションです。
  • デコンパイルされたコードでブレークポイントを設定できるようになりました。
Expression result unused inspection

ReSharper C++のアップデートUltimate

ReSharper C++ 2017.2は、主にC++11とC++17の言語理解とサポート機能を強化することに重点を置いています。その他の変更には、コードフォーマッタとナビゲーションの強化、パフォーマンスの改善、新しいコードインスペクション、クイックフィックスなどがあります。

ReSharper C++ 2017.2の詳細をご覧ください。

Importing memory dumps

メモリダンプの分析Ultimate

dotMemory 2017.2では、未処理のWindowsメモリダンプ(通常はタスクマネージャまたはプロセスエクスプローラを使用して取得)をインポートし、dotMemoryの全機能を使用してそれらを解析することができます。

dotMemory 2017.2の詳細をご覧ください。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2017.1

Switching switching a file's target framework context

Visual Studio 2017 RTMのサポート

Visual Studio 2017の新機能を完全にサポートしています。軽量モードでロードされたソリューションで作業できるようになりました。 フォルダーを開くオプションを使用すると、ReSharperはフォルダ内のすべてのファイルを表示し、.xmlおよび.jsファイルタイプをサポートします。 フォルダへ移動(英語)リファクタリングはこのモードで動作します。

ReSharperは、現在のターゲットフレームワークコンテキストを尊重します。これはエディタウィンドウの上部にあるドロップダウンで設定され、参照されているアセンブリやビルドやプリプロセッサで定義されたシンボルなどの設定を変更できます。

Convert to local function

C# 7サポート

ReSharperは、C# 7コンパイラに準拠するために、多くの新しいインスペクションを受け取ります。例:メソッドをオーバーライドしたり、インターフェースを実装したりするときに、タプル変数名のタイプミスを検出できます。

ReSharperは、読み込み専用デリゲート変数をローカル関数に変換するへの新しいクイックフィックスと、2つの新しいコンテキストアクションを使用して、ローカル機能をサポートしています。

  • ラムダ式または匿名メソッドをローカル関数に変換する
  • ローカル関数を通常のメソッドに変換する

代入でヌルチェックに参加するクイックフィックスは、割り当て、ヌル合体演算子、およびスローを組み合わせてコードをより読みやすくします。既存のコンテキストアクション'?:'演算子に変換する.throw ポストフィックステンプレートは、C# 7のスロー式もサポートしています。

Run unit tests in all target frameworks

ユニット・テスト

ReSharperの単体テストは、Visual Studio 2017 RTMのproject.jsonおよび.csprojベースのプロジェクトで動作します。 MSTestとxUnitテストを検出して実行し、コードカバレッジとプロファイリングをサポートし、複数のフレームワークを対象としています。 .NET 4xフレームワークをターゲットとするNUnitテストがサポートされています。 MSTest v2のDataRowサポートもあります。

ReSharperは現在、.NETコアユニットテストの継続的なテストをサポートしていないことに注意してください。これは次回のアップデートで修正される予定です。

File Formatting Info

EditorConfigのサポート

EditorConfigサポートはデフォルトで有効になっています。 ReSharperはRoslyn EditorConfigプロパティ(英語)のほとんどを標準EditorConfigプロパティ(英語)で理解しており、フォーマットルールのより詳細な設定のための豊富なカスタムEditorConfigプロパティ(英語)セットを提供しています。つまり、EditorConfigファイルで書式設定ルールの設定全体を維持することができます。

ファイルフォーマット情報ウィンドウには、すべてのアクティブな .editorconfig ファイルで定義されているスコープとプロパティが表示されます。このウィンドウには、インデント設定のソースとその値、インデント自動検出のステータスも表示されます。

Tabs and indents settings

インデント自動検出とコードスタイルの改善

ReSharperの階層化された設定(英語)機能は、ほとんどのチームメンバーがReSharperを使用する場合、一貫したコードスタイルを維持するための優れたツールです。これで、サポートされているすべての言語のタブとインデント設定が拡張されました。

ファイル内のコードの一部を再フォーマットするときや、編集や貼り付け時にコードを自動フォーマットするとき、ReSharperはそのファイルの既存のインデントに基づいてインデントを計算して適用することができます。この機能は、インデントが設定と異なる既存のプロジェクトに貢献したい場合に便利です。

書式設定ルールのコンテキスト設定は、С#、C++、JavaScriptおよびTypeScriptで利用できます。選択したコードブロックを Alt Enter で再フォーマットし、選択のフォーマット | 構成をアクションリストから選択すると、コードに影響するすべての書式設定ルールが表示されます。

Code cleanup dialog box

コードのクリーンアップ、新しいコードスタイルと書式設定オプション

ReSharperのコードのクリーンアップはユーザビリティの向上をもたらします。 Ctrl ECを押すだけで、コードのクリーンアップダイアログボックスでカスタムタスク固有のプロファイルを作成して設定することができます。

ReSharperは貼り付けるコードに書式設定ルールを適用します。インデントのみに影響する復帰オプションは、デフォルトで設定され、エディタの動作オプションページで変更できます。

ReSharperは、C#タイプメンバボディの新しいコードスタイル設定を導入し、波括弧を使用してボディブロックを常に使用するか、または式フォーマットを使用するかを選択できます。

最後に、C#コードの書式設定エンジンを改良し、新しい書式設定オプションを導入しました。

  • 新しいラッピングエンジンが正しく配置を処理するようになりました
  • コンマファーストラッピングスタイルがサポートされています
  • 'nameof'の括弧の前後に空白を設定する
  • 連鎖バイナリ式の優先ラッピングスタイルを選択する
  • 1つの 'case'ステートメントで改行を構成可能
Grouping by type of usage and new filter options

ナビゲーションと検索

検索結果ウィンドウには、検索結果を用途の種類、特定の用途の出現箇所を選択するための新しいフィルタ、正確な一致を検索するための引用符を使用してグループ化する新しいオプションが追加されました。

ReSharperの検索とナビゲーションページには、どこからでもプレビュータブでファイルを開くための新しいオプションが追加されています。このオプションは、デフォルトでオフになっています。

すべてに行くおよびテキストに移動ポップアップは、検索結果の高度なフィルタリングのためのインラインコマンドをサポートしています。

Rename refactoring in Angular

Angular 2テンプレート構文

ReSharperは、テンプレート式、テンプレートステートメント、NgForディレクティブ、およびテンプレート変数の、Angular 2テンプレートシンタックスの次の要素を理解しています。 Angular @Component デコレータの template: プロパティと、 @ComponenttemplateUrl: プロパティで参照される純粋なHTMLのサポートが実装されています。相対パスのみが templateUrlでサポートされています。 HTMLページの場合、Angularマークアップはデフォルトでオフになっており、ReSharperオプション(コード編集 | HTML | エディター)で有効にすることができます。

コード補完は、Angularの属性とコンポーネントタグ、 [attr.[style.[class.で動作します。コンポーネント属性は、宣言に移動F12)コマンドのサポートを受け取ります。 名前変更リファクタリングは、コンポーネントタグと [class.foo]の 'foo'に対して機能します。

Angular 1はまだサポートされていません。 ReSharperオプションでHTMLページでのAngularマークアップのサポートが 'None'に設定されている場合、コード補完とライブテンプレート用にAngularJSプラグイン(英語)を使用することができます。

Finde usages of the object rest property

TypeScriptとJavaScriptのサポート

  • TypeScriptの完全なサポート2.1:マッピング型および索引型、オブジェクト・レストおよびスプレッド・プロパティ、リテラル・タイプの更新済ロジック、構成継承、型なしインポート、結合型正規化、部分的に注釈付きシグネチャ、および暗黙のanyおよび暗黙のany配列
  • TypeScript 2.2の初期サポート: 'オブジェクト'型、JSXスプレッドシンタックス、シグネチャ/タプル/交差点/マップ型から導出(拡張/実装)
  • インスペクションとTypeScript ES6形式のインポートで未使用のインポートのクイックフィックス
  • JavaScriptとTypeScriptのPostfixテンプレート(英語)
  • TypeScriptおよびJavaScriptでのコード補完項目の関連性の向上
  • コードの生成メニューは、TypeScriptクラスのプロパティまたは読み取り専用プロパティを生成する新しいオプションを取得します: 上書きするメンバーを生成するコマンドは可能な限り「スーパー」を呼び出すようになりました
  • TypeScriptの実装メンバーに移動する(英語)
  • TypeScriptとJavaScriptの関数出口に移動する(英語)
  • TypeScriptの名前変更リファクタリングは、ローカルシンボルに対してより高速に動作し、TypeScriptの動的検索を無効にする新しいオプションを取得します
Context menu on status indicator

コード解析

ReSharperのファイルステータスインジケータ(Error Stripeの上部にある小さなアイコン)は新しいコンテキストメニューを受け取ります。アイコンを右クリックするだけで、ReSharperコードの分析だけでなく、識別子のハイライトやVisual Studioのコード解析(電球やスクエイル)を素早く切り替えることができます。現在のファイルにコードの問題がある場合は、重大度が最も高い問題の間を移動するためのコマンドも表示されます。

大きなファイルの場合、ReSharperは自動的にコード解析を中断します。この場合、ステータスインジケータに灰色の一時停止アイコンが表示されます。

Control flow inspections for class fields

ReSharper C++アップデートUltimate

ReSharper C++ 2017.1はVisual Studio 2017 RTMサポートを完成させ、フォルダーを開くモードとCMakeプロジェクトで作業する方法を学びます。変更には、パフォーマンスの改善、後置テンプレートの拡張セットとコードクリーンアップタスク、および制御フローインスペクションへの更新も含まれます。

ReSharper C++ 2017.1の詳細をご覧ください。

Command-line profiler

コマンドラインプロファイラUltimate

dotMemory 2017.1には、コマンドラインからプロファイルできるdotMemory.exeツールが含まれています。このツールは、メモリスナップショットの収集プロセスを自動化する必要がある場合に非常に役立ちます。プロファイリングを継続的な統合ビルドの一部にしたい場合は、

Attach using drag and drop

ドラッグ&ドロップで実行中のプロフィールのプロフィールUltimate

ドラッグアンドドロップを使用して実行中のアプリケーションにプロファイラをアタッチできるようになりました。プロファイリングするアプリケーションウィンドウに特別なアイコンをドロップするだけです。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2016.3

Visual Studio 2017 RC support

Visual Studio 2017 RCの初期サポート

すべてのReSharper Ultimate 2016.3製品をVisual Studio 2017 RCに取り付けることができます。 Visual Studio 2017 RCの軽量ソリューションロードと新しい.NETコアユニットのテストはまだサポートされていないことに注意してください。これらの問題はいずれも今後のアップデートで解決されます。

同時に、ReSharper Ultimate 2016.3は、2010年、2012年、2013年、2015年のVisual Studioを引き続きサポートしています。

Dispose pattern

C#とVB.NETの新しいコード生成アクション

生成メニュー(クラス内のAlt+Ins )に3つの新しいアクションが追加されました:

  • 関係メンバーは、リレーショナル演算子(><)を自動的にオーバーロードしたり、選択したフィールドとプロパティを使用して IComparableIComparable<T> を実装するのに役立ちます。
  • リレーショナル比較は、選択されたフィールドとプロパティを使用して Comparer<T> から派生した比較クラスを作成します。
  • パターンを廃棄するは、オプションのnull可否チェックとアンマネージメンバのデストラクタを備えた IDisposable の実装を生成するのに役立ちます。

IDisposableIEquatable<T>IComparable<T> の実装に役立つ情報は、 Alt+Enter でハイライト表示されています。

コンストラクタを生成するアクションは、 nullのパラメータをチェックするオプションで小さなアップデートを取得します。オンにすると、コンストラクタに ArgumentNullException をスローするガードコードが生成されます。

C# 7 digit separators

C# 7 およびVB.NET 15の早期サポート

ReSharper 2016.3は、VB.NETとC# 7のバイナリリテラルとデジットセパレータを理解しました。 C# 7のローカル関数のサポートが追加され、可能性のあるSystem.NullReferenceException廃棄処分へのアクセス変更されたクロージャへのアクセスなど多くのコードインスペクションがコンテキスト内で有効になります。 C# 7 out変数、 is 式と switch ケースのパターンマッチングもサポートされています。

Introduce from all unused parameters

新しいクイックフィックスとコンテキストアクション

ReSharper 2016.3は未使用のすべてのパラメータからフィールドと自動プロパティを導入するための新しいクイックフィックスを追加しました。これは、以前のクイックフィックスの拡張で、以前は1つのパラメータに対してのみ使用されていましたが、未使用のすべてのパラメータにすぐに適用できます。 プロパティを導入するクイックフィックスには、デフォルトでどのような種類のプロパティが生成されるかを設定するデフォルトを構成メニュー項目も含まれています。

fieldname.Valueをカプセル化するためのプロパティを導入するために、 Lazy<T> 型のフィールドにも新しいコンテキストアクションがあります。

Transform Parameters refactoring

変換パラメータのリファクタリング

変換パラメータリファクタリングは、2つの他のリファクタリングトランスフォームアウトパラメータパラメータからクラスを抽出するを組み合わせて置き換えます。

メソッドのパラメータを書き換え、入力パラメータを新しいクラスまたはタプルに変更し、オプションで戻り値と出力パラメータの新しいクラスを作成します。

通常どおり、変換パラメータリファクタリングはリファクタリングCtrl+Shift+R)メニューから呼び出すことができます。

.NET Core unit testing

.NETコアユニットのテスト

ReSharperのユニットテスト機能(英語)は、最終的にVisual Studio 2015の.NET CoreおよびASP.NET Core 1.0.xプロジェクトでのxUnitおよびNUnitベースの単体テストで使用できます: これにより、従来の方法でテストを実行、デバッグ、管理することができます。NET フレームワークプロジェクト

ただし、Visual Studio 2017 RCの.NET Core 1.1をターゲットにしている場合、この環境でユニットテストを実行してデバッグするために、次のReSharperアップデートを待つ必要があります。

Async Go to Usages

ナビゲーションと検索: 非同期使用の検索結果

ReSharperの使用箇所検索エンジンが更新され、使用頻度の高いシンボルの参照が容易になります。

特に、シンボルの使用に行くShift+Alt+F12)を起動するとすぐに、検索結果に表示ボタンがポップアップで使用可能になります。使用方法の検索に時間がかかる場合は、このボタンをクリックするか、テンキーパッドの + を押して、検索結果ウィンドウで検索が実行されている間はコードの操作を続行できます。

検索結果ウィンドウは非同期でも動作するようになりました。つまり、使用状況がまだ進行中のときに結果ツリーを操作できます。

Go to Text supports more file types

ナビゲーションと検索のその他の更新

  • テキストに移動では、新しい形式のコンテンツファイル(。もっと少なく.hbs。コーヒー.scss.dart。として.styl)がサポートされています。
  • 最近使ったファイル最近の編集のポップアップにファイルへのパスが表示されます。 最近使ったファイルでは、 Delete キーを使用してエントリを削除できます。 最近の編集は、1つのエントリと同じ方法ですべての編集内容を表示することもできます。
  • すべてに行くテキストに移動および他の検索アクションでの最後の検索を記憶するための設定です(この動作は現在はデフォルトではオフになっています)。
  • 構造検索&置換:C#では、文字列と整数の数値リテラルを値で照合できるようになりました。同じ整数を表すが、桁区切りの有無にかかわらず、異なる接尾辞で書かれたリテラルは、今や類似しているとみなされます。
Build Results tool window

ReSharperビルドの改善

ReSharperビルドはこのリリースでいくつかのアップデートを受け取ります。まず、ビルドの結果が別のビルド結果ウィンドウに表示され、ビルドの警告とエラーが一覧表示されます。ツールバーのボタンとグループ化オプションを使用すると、結果をどのように表示するかを制御できます。

ReSharper BuildはNuGet Restoreの独自実装を使用します。以前は、Visual StudioのNuGet統合を使用して復元を実行しましたが、これはVisual Studio 2015でのみ機能しました。復元メカニズムはすべてのVisual Studioバージョンで機能します(.NET フレームワーク 4.5以降がインストールされている場合)。

ビルドオプションも同様に修正されました。例:ビルド結果ウィンドウがいつ表示されるかを選択できるようになりました(エラーがある場合など)。別の興味深い新しいオプションは、ビルドを出力ウィンドウまたはファイルのいずれかに記録することです。

Surround with type guard quick-fix

より良いTypeScript、JavaScript、JSONサポート

  • TypeScript 2.0.2( "2.0 RC")のサポート:boolean、number、enumのリテラルタイプ。
  • 実装に移動はTypeScript型でも動作するようになりました。継承チェーンの中間ステップを迂回して、基本型またはメンバーからその最終実装にジャンプできます。
  • タイプガード付きサラウンドクイックフィックスでは、タイプガードをすばやく追加して、TypeScriptの未解決シンボルを明確にすることができます。
  • Tab および Shift+Tab キーを使用して、TypeScript、JavaScriptまたはJSONコードで構造的ナビゲーションを有効にすることができます
  • フィールドのリファクタリングをカプセル化するは、フィールドのプロパティをすばやく作成したり、オプションでフィールドの用途を置き換えたりするのに役立ち、TypeScriptで機能します。
  • TypeScriptキャッシュのメモリ使用量の最適化。
  • TypeScriptリテラルタイプのコード補完、JSX / TSXファイルのさまざまなフォーマット修正
  • プロジェクト構成ファイル(project.jsonpackage.jsonおよびbower.json)のパッケージ名の動的完了
Language injection options

改善された言語の注入

ReSharper 2016.3では、正規表現とHTMLに加えて、C#、JavaScript、およびTypeScript文字列にCSS、JavaScript、JSONを挿入することができます。文字列リテラルを特定の言語を含むものとしてマークするには、マークコンテキストアクションまたは特別なコメントディレクティブを使用します。 //language=javascript|html|regexp|jsregexp|json|css

コメントに prefix=postfix= を追加して、接頭辞と接尾辞が既に文字列内の式の一部であるかのように、ReSharperが文字列構文を解決できるようにすることもできます。

最後に、ReSharperはAngularJSテンプレートにJavaScriptを注入する、jQueryの $[]インデクサにCSSを挿入するなど、特定の既知のシナリオで言語を自動的に注入します。

また、言語インジェクションの新しいオプションページもあり、組み込みの自動インジェクションを選択的に有効または無効にすることができます。

Open from NuGet package source

ReSharperツールウィンドウ

  • アセンブリエクスプローラReSharper | Windows | アセンブリエクスプローラ)は、nuget.orgやNuGetパッケージソースからアセンブリをロードする新しい方法を追加します。この機能は、最近のバージョンのdotPeekでは利用可能である(英語)です。
  • To-doエクスプローラ:それぞれのToDoパターンは、独自の色でカテゴリ( "Normal"、 "Edit"、 "Error"、 "Question"または "Warning")を持つことができるようになりました。色はTo-doエクスプローラとエディタで同じで、Visual Studioのフォントおよび色オプションページで設定できます。
  • スタックトレースエクスプローラでは外部スタックトレースをさらに高速に開くことができます。現在開いているソリューションのシンボルを含むスタックトレースをコピーしてVisual Studioにフォーカスを切り替えると、ReSharperはショートカットをヒットせずにスタックトレースエクスプローラにスタックトレースを自動的にロードします。この動作はReSharper | オプション | ツール | スタックトレースエクスプローラの下で設定可能です。
  • ReSharperビルドを使用する
  • Alt + Enterメニューに入力してください
Feature suggestion: use ReSharper Build
Feature suggestion: type in Alt+Enter menu

フィーチャーの提案

ReSharperをより効果的に使用するためのヒントをいくつか紹介しました。恩恵を受けると思う基本的なReSharper機能の1つを使用しないと、ReSharperはあなたにちょっとしたポップアップウィンドウとヒントを表示します。そこから、提案された機能を有効にしたり、ドキュメントページを開いたり、それ以上のヒントを無効にしたりすることができます。

RelativePanel control completion

XAML / UWPの改善

ReSharperは、要素名の参照を正しく解決し、バインディングエラーを検出し、Universal Windows Platformアプリケーションの RelativePanel(英語) コントロールにコード補完を提供するようになりました。他のニュースでは、ReSharperはXAMLの重複するプロパティ宣言の誤ったレポートを表示しなくなり、ソリューション内のエラーツールウィンドウのクリーンアップに役立ちます。

Third-party code: skipped code

オプションのユーザビリティ

  • JavaScriptとTypeScriptは、ReSharperがサードパーティのライブラリコードと生成コードでどのように機能するかを改善する新しいオプションページを手に入れました。 サードパーティコードページでは、JavaScript、TypeScriptまたはJSONファイルを名前、ファイルマスク、またはフォルダ全体で「スキップ」または「ライブラリ」としてマークすることができます。
  • 1つのコンテキスト・アクションページで異なる言語のコンテキストアクションを有効または無効にできるようになりました。また、ページの上部にある検索ボックスを使用して、特定の操作をすばやく見つけることもできます。
  • インスペクション重大度ページは、より多くの言語を組み込むように再設計されました。
Indentation options

より多くのReSharperアップデート

ReSharperのその他のアップデートは次のとおりです。

  • C#の新しいタイピングアシストは $を入力すると自動的に $"" を挿入し、引用符の間にキャレットを設定します。これは、1文字だけを入力して補間文字列リテラルを作成するのに役立ちます。
  • Visual Basic 14プロジェクトのあいまいな名前空間に対するスマートな名前解決。 ReSharperは、使用しているタイプに基づいて、選択肢の競合を意味する名前空間を推測します。例: Threading.Threadを使用する場合は System.Threading.Threadを、 Threading.Dispatcherを使用する場合は System.Windows.Threading.Dispatcherを意味するとReSharperは認識します。
  • VB.NETの#Disable Warning および #Enable Warning 指令が現在尊重されています。
  • ネストされた forforeachwhilelock ステートメントのインデントは、既定で無効になっており、古い動作を復元するオプションが追加されました。インデントタイプのパラメータ制約に新しいオプションを追加し、新しいインデントエンジンによってReSharper 2016.2で導入されたいくつかのバグを修正しました。
Support for Catch unit testing framework

ReSharper C++アップデートUltimate

ReSharper C++ 2016.3はtypedefリファクタリングを追加し、postfixの補完を導入し、Catchユニットテストフレームワークのサポートを開始し、Visual Studio 2017 RCと統合します。

ReSharper C++ 2016.3の詳細をご覧ください。

.NET Core support

.NETコアプロファイリングUltimate

dotMemoryとdotTraceは、メモリの問題とパフォーマンスのボトルネックについて.NET Coreアプリケーションをプロファイリングできるようになりました。また、dotCoverはVisual Studio 2015のこのタイプのアプリケーションでコードカバレッジをサポートしています。

プロファイリングを開始するには、dotTraceまたはdotMemoryのホームページで.NETコアアプリケーションを選択し、.NET Core実行可能ファイルを指定して実行をクリックします。

dotMemorydotTraceの詳細はこちら2016.3。

Improved code coverage highlighting. Showing test results

新しいコードカバレッジの強調表示Ultimate

dotCover 2016.3の新しいハイライトエンジンは、カバレッジステータスとユニットテストステータスの両方を明らかにします。テキストエディタのマーカーは、現在のステートメントに関連するテストが失敗した場合は赤、すべてのテストが合格であれば緑、このステートメントをカバーするテストがない場合はグレーを表示します。

dotCover 2016.3の詳細をご覧ください。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2016.2

Support for ASP.NET Core 1.0 RTM and tag helper syntax

ASP.NET Core 1.0 RTM

ReSharper 2016.2は、ASP.NET Core 1.0 RTMの初期サポートを追加します。 ReSharperは、このタイプのプロジェクトでプロジェクト参照を正しく解決し、リファクタリング、コードインスペクション、ナビゲーションなどのコア機能を提供するようになりました。

タグヘルパー構文は、コード補完、ナビゲーション、検索、およびリファクタリングの観点からもサポートされるようになりました。

ただし、これまでの.NET Coreユニットテストの実行はサポートされていません。これについては、次回のアップデートで説明します。

Structural navigation with Tab

タブによる構造ナビゲーション

ReSharperでは、 TabShift+Tab のキーを使用して、コードの論理的部分をジャンプすることができます。これは、Webブラウザでのナビゲーション方法と同様です。

例: for ステートメントを編集するとき、 Tab はイニシャライザステートメントを選択し、次に終了条件を選択し、次にイテレータステートメントを選択します。 Shift+Tab はこれらの選択を逆の順序で行います。

カーソルが行の最初の空白以外の文字の前に置かれている場合でも、インデント用に Tab を使用できます。

さらに学習したい方に: ReSharperのタブの再現性(英語)

Go to Text for textual search

テキスト検索のためのテキストに行く

新しいナビゲーションアクションテキストに移動Ctrl+T,T,T)を使用すると、ソリューションに含まれているソースファイルとテキストファイルのテキストをすばやく検索してナビゲートできます。他のナビゲーションコマンドと同様に、一致する項目が多すぎる場合は、数値キーパッドの + を押して検索結果ウィンドウの結果を調べることができます。

高度なReSharperユーザーは、ワードに行くと呼ばれる古いプラグインを思い出すかもしれません。新しいナビゲーションアクションは、ReSharperメインラインのすぐ上にこの人気の高いプラグインの機能を再実装します。

Warnings in solution-wide analysis

ソリューション全体の分析における警告

ソリューション全体の分析を使用している場合は、通常、ソリューションの最後のエラーが修正されると赤のステータスバーのインジケータが緑色に変わります。

2016.2以降、ソリューションに未解決の警告(実際のコンパイラの警告と警告の重大度を持つReSharperのインスペクション)が含まれていれば、インジケータをオレンジにしておくことができます。

ソリューション全体の分析を有効にするかどうか、および警告を表示するかどうかはあなた次第です。ステータスバーのインジケータを右クリックしてすべてを構成できます。

C# typing assistance

より多くのC#タイピングアシスタント

ReSharper 2016.2には、コード入力時に微妙なミスタイプを修正する一連の新しいC#タイピング支援機能が導入されています。

例: MethodName(.)と入力すると、自動的に MethodName().に置き換えられ、無効な構文エラーに対処することなくチェーンの呼び出しを続けることができます。

同様に、ReSharperは、ミスタイプされた @$ 接頭辞を逐語的な文字列補間で $@ に修正します。

Check all parameters for null

新しいクイックフィックスとコンテキストアクション

インスペクション、クイックフィックス、コンテキストアクションのコードセットがないReSharperのアップデートは考えられない次のもので、ReSharper 2016.2も例外ではありません。

新しい Alt+Enter コマンドは、文字列補間の挿入を簡素化し、単純な for ループで反復の順序を元に戻し、 void メソッドを待って Taskを返すように修正するのに役立ちます。途中で、メソッド async を作成する既存のクイックフィックスも、 voidの代わりに Task を使用するように改訂されました。

他のニュースでは、単一のコンテキストアクションで null のメソッドのすべてのパラメータ(または空文字列)をチェックできるようになりました。それ以上に、 Alt+Enter のアクションを使ってコメントのコメントを解除して削除することもできます。

Support for XML doc inheritance

XMLドキュメントの継承

ReSharper 2016.2は、XMLドキュメントのコメントで <inheritdoc/> タグのサポートを改善しました。これは、ドキュメントを基本タイプ/メンバーから派生商品にコピーするのに適しています。

  • 継承された型メンバーに <inheritdoc/> を追加するコンテキストアクションが追加されました。
  • ReSharperは、欠けているメンバーを生成したり、 <inheritdoc/> コメントとともにメンバーを無効にしたりすることができます。
  • クイックドキュメントは、基本メンバのドキュメントを継承するだけでなく、追加または優先するコメントでドキュメントを継承するだけでなく、正しく動作するようになりました。
Mark a reference as used at runtime

リファクタリングを安全に最適化する

一般的な要求に基づいて、ReSharper 2016.2は、実行時に参照をマークする方法を追加します。依存関係注入フレームワークを使用している場合、これは重要です。

暗黙的にロードされたすべての参照をマークすることにより、実行時に必要となる参照を破棄することなく、ReSharperの参照の最適化および未使用の参照を削除するコマンドを安全に実行できます。

Refactor to partial type

タイプパーツ間でメンバーを移動する

新しいリファクタリングメンバーを部分的に抽出するを使用すると、ソリューションで部分クラスが使用されている場合に、型メンバー間で型メンバーをすばやく移動できます。入力に基づいて、リファクタリングは既存のタイプのパーツを使用するか、新しいタイプのパーツを作成します。

#region 上でリファクタリングを呼び出して、すべてのリージョンメンバーをリージョン名から推測された名前の新しいファイルに移動することもできます。

Revised surround templates

サラウンドテンプレートの改訂

テンプレートでコードを囲む必要がある場合は、コードを選択して必要なテンプレートの名前を入力するだけで、追加のショートカットは不要です。

他のニュースでは、(ライブテンプレートとして)コードを作成するため、および(サラウンドテンプレートとして)周囲の既存のコード用に、単一のテンプレートを使用できるようになりました。

Injecting HTML or RegEx via comments

HTMLとRegExインジェクション

.cs.js、および.tsファイルの文字列リテラル内のHTMLコード解析を利用できるようになりました。 HTMLを含む文字列リテラルの前にコメント /*language=html*/ を置くか、ここにHTMLをマークしてくださいコンテキストアクションを使用して、文字列リテラルの中でシンタックスハイライト、エラー検出、その他の種類のReSharperのHTMLサポートを楽しむだけです。

C#またはJavaScriptタイプの正規表現を含む文字列リテラルの前にコメント /*language=regexp|jsregexp*/ を置くと、文字列リテラルの正規表現支援が有効になります。

JSON value helpers

JSON値ヘルパーとスキーマカタログ

JSON値ヘルパーを使用すると、ReSharperにコード補完または独自のJSONファイルの検証を提供するよう指示できます。 JSON Valueヘルパーオプションページにヘルパーを追加し、ファイル名のマスクやスキーマの一致に基づいてマッチングさせることができます。 カスタムJSONスキーマカタログはJSONオプションで追加することもできます。

Support for CSS custom properties

CSSのカスタムプロパティ

ReSharperのコードインスペクション、クイックフィックス、コード補完、ナビゲーション、検索、およびリファクタリングはCSSカスタムプロパティ(変数とも呼ばれます)で利用できるようになりました。

例:コード解析に関しては、未使用のカスタムプロパティを削除し、宣言されていないカスタムプロパティを検出し、その用途を代替値に置き換えることができます。

さらに、ReSharper 2016.2には、CSSのスペック処理を改善するための修正セットが導入されています。

TypeScript 2.0.0 support

TypeScript 2.0のサポート

ReSharper 2016.2は、抽象プロパティ、関数用 this 、フロー認識型ガード、パスマッピング、オプションのクラスメンバ、 never 型など、TypeScript 2.0.0で使用可能な言語機能のサポートを完了しています。

Code generation options in TypeScript code completion

より多くのJavaScriptとTypeScriptの改善

JavaScriptおよびTypeScriptのサポートに関するその他の改善点は次のとおりです。

  • オーバーライドやラムダなどのTypeScriptコードをコード補完で生成します。
  • bower.jsonマニフェストファイルのパッケージバージョンの完成。
  • ユニオンおよび交差タイプの使用箇所の検索および名前変更の改良。
  • 不足しているメンバーを abstractとして実装するための新しいクイックフィックス。
  • 宣言に移動使用箇所の検索は型エイリアスで正しく機能します。
  • JavaScript関数のパラメータの名前を変更すると、ReSharperは対応するJsDoc項目の更新を学習します。
Assembly dependency diagram

アセンブリ依存図

ReSharper 2016.2はアセンブリ依存図を依存関係分析ツール(英語)のファミリに追加します。

アセンブリエクスプローラで選択したアセンブリのダイアグラムを呼び出すことができ、その参照によってアセンブリ間に確立された接続を探索することができます。

Process Explorer in ReSharper

プロセスエクスプローラ

以前dotPeekでのみ使用可能だったプロセスエクスプローラウィンドウは、現在実行中のすべてのプロセスを表示し、モジュールの探索と.NETアセンブリであるプロセスの逆コンパイルを可能にします。

ネイティブプロセスおよびモジュールを表示または非表示にするか、プロセス階層ビューをオンにするかを選択できます。

リストをフィルタリングして、探しているモジュールまたはプロセスを見つけ、さらに調査するためにそのアセンブリをアセンブリエクスプローラに追加します。

Improved IL code viewer

より多くのReSharperアップデート

他のニュースでは、ReSharper 2016.2:

  • 文字列補間の提案、クイックフィックス、コンテキストアクションVB.NETで利用可能を作成します。
  • C#フォーマッタを拡張するには括弧をインデントする新しいオプションがあり、その中にコードがあります。 ++-- 演算子の前後のスペースと、チェックされた式とデフォルト式の前後の括弧を制御します。
  • 補間された文字列の挿入や、3つ以上のオペランドを持つ式のコードの再配置に役立ちます。 "Greedy 波括弧"は、タイプと名前空間宣言の開始波括弧、波括弧で動作するようになりました。
  • イルビューアにILコードを表示させる:タイプ、メンバ、型パラメータ、およびローカル変数が異なる色で強調表示されるようになりました。インデントとコメントでより明確に区別できます。
Inline Variable refactoring in C++

ReSharper C++アップデートUltimate

ReSharper C++ 2016.2では、シンボルの定義に移動することなくDoxygenのコメントブロックに基づいてドキュメントを表示するためのクイック・ドキュメントポップアップが追加されています。

新しいバージョンでは、変数のインライン化リファクタリングが導入され、自動補完機能が向上し、現在のファイルに含まれていないシンボルが示唆されます。

ReSharper C++のコード解析エンジンが再設計されているため、パフォーマンスの改善もあります。例:Unreal Engineプロジェクトを最初に開いたときに、ReSharper C++の分析が数倍高速になることが期待されています。

ReSharper C++についてのさらに学習したい方に 2016.2。

ダウンロード(英語)
無料30日間のトライアル

ReSharper 2016.1

Reformat, apply code style or clean up a selection

コードスタイルの機能

ReSharper 2016.1には、コードスタイルの設定を管理および適用する方法と関連して、さまざまな変更が組み込まれています: これらの変更には、

  • 新しいコードスタイル設定、コードインスペクションおよびクイックフィックスを使用して、名前付き引数、単一のネストされた文の周りの波括弧、および属性セクションのグループ化を使用するための優先スタイルを設定します。
  • 拡大可能な設定可能な1つのコマンドでコードスタイルを適用できるようになりましたReSharper | 編集 | コードスタイルを適用します。このコマンド(現在のところC#に限定されています)は、 var、CLRタイプ名とタイプキーワード、およびReSharper | オプション | コード編集 | C# | コード・スタイルで設定可能な他のスタイルを使用して、明示的なタイプvsに対するあなたのプリファレンスを強制します。
  • 明示的なコードを再フォーマットするアクション:強力なコードクリーンアップを必ずしも必要とせずに、迅速かつルーチン的な再フォーマットを可能にするため、メインメニュー(ReSharper | 編集 | コードの再フォーマット)またはキーボードショートカットから利用可能な新しいアクションを提供しました。
  • コードの再フォーマットコードスタイルを適用するクリーンアップコードコマンドはすべてエディタでコード選択時にコンテキストアクションとして利用可能になり、 Alt+Enterを押します。
A new ReSharper action to convert string concatenation to interpolation

文字列を操作するアクション

ReSharper 2016.1には、補間、連結、 string.Format()などのさまざまな文字列処理方法を切り替えるのに役立つ一連の Alt+Enter アクションが追加されています: 例:これらのアクションはあなたを助けます:

  • 文字列補間式を string.Format() 呼び出しにリファクタリングします。
  • 文字列の連結を文字列の補間に変換します。
  • ネストされた文字列補間を簡略化します。
  • ローカルまたはより広い範囲で冗長な逐語的識別子を削除します。
  • 大文字小文字を区別しない文字列の等価性チェックを行います。
  • 文字列補間式に新しい引数を挿入します。
  • さまざまなロガーフレームワークで文字列補間式を使用します。
Context actions to check argument values

引数の値をチェックするアクション

コンテキストアクションの別のグループは、タイプに基づいてメソッドパラメータのチェックを生成する役割を果たします。

  • 文字列パラメータの場合、ReSharperはヌルネスだけでなく空白文字列のチェックを生成するのに役立ちます。
  • intdoubledecimalなどの数値パラメータの場合、ReSharperは負でない値だけが渡されるようにチェックを書き込むことができます。
  • 列挙型パラメータの場合、ReSharperは渡される列挙型の値が適切な列挙型宣言で実際に定義されていることを確認するチェックを生成します。したがって、悪意のあるキャストに対して保護します。
  • コレクションパラメータの場合、ReSharperは空のコレクションに対してチェックを設定するのに役立ちます。
Converting a JSON string to a Newtonsoft JSON.NET object

文字列をオブジェクトに変換するアクション

ReSharper 2016.1には、LINQ to XMLとJSON.NET APIを利用するようにコードを変換するのに役立つ2つの同様のコンテキストアクションが導入されています。

これらのアクションの1つは、文字列リテラル内に有効なXMLがある場合はいつでも利用でき、この文字列をLINQ to XMLオブジェクトに変換できます( XElementXAttribute などを使用)

デュオの2番目のアクションは、JSON文字列をNewtonsoft JSON.NETオブジェクトに変換するのに役立ちます。このアクションは、プロジェクトでNewtonsoft.Jsonアセンブリ(NuGetギャラリーからインストール可能)を参照する場合にのみ使用できます。

ReSharper 2016.1にも導入されたスマートペーストと組み合わせることで、既存のXMLまたはJSONをC#コードに変換するワークフローが完了します。

Context actions to split or join attributes

より多くのコンテキストアクション

以下のようなさまざまな変換を実行するのに役立つ一連の新しい Alt+Enter アクション(コンテキストアクションとクイックフィックスの両方)があります。

  • コード選択をコメントアウトします。
  • キャレットの下のコメントのコメントを外します。 (これと前のアクションは、コードをコメントするための専用ReSharperショートカットの Alt+Enter 相当のものです。)
  • 対応する型の新しいフィールドへの実装されていないインターフェースの実装を委譲します。
  • 属性セクションを分割または結合します。
  • 部分型の別の部分を作成します。
  • スイッチケースステートメントの周りに波括弧を追加してください。
WCF-specific code inspections and quick-fixes in ReSharper

WCF固有のアクション

ReSharper 2016.1には、WCFサービス開発における最も一般的な問題のいくつかに対処する一連のコードインスペクション、クイックフィックスおよびコンテキストアクションが追加されています。

  • ReSharperは、 [OperationContract(IsOneWay=true)] としてマークされているが、 void または Task以外のものを返すWCFサービスメソッドを検出して修正するのに役立ちます。
  • [OperationContract] メンバーのない [ServiceContract] インターフェースを使用している場合、ReSharperはインターフェースのすべてのメンバーに [OperationContract]で注釈を付けるためのクイックフィックスを提供します。
  • 同様に、 [ServiceContract] アノテーションを持たないインターフェースに [OperationContract] としてマークされたメソッドがある場合、ReSharperはこれを見つけて問題を解決するための2つのオプションを提案します。
  • [DataContract] タイプのすべてのメンバーに [DataMember] または [EnumMember] 属性の注釈を付けるのに役立つ新しいコンテキストアクションがあります。これは長い [DataContract] タイプで特に役立ちます。
Invert Boolean Member refactoring

インバートブールメンバー

ブール値を返すメンバを修正して逆の意味を持つようにすると、リファクタや IsNotAvailable() から IsAvailable() というメソッドが返されます。戻り値を反転し、値を受け取る他のメンバを更新したい可能性があります。

これは、新しいインバートブールメンバーリファクタリングがあなたにできることです。例:メソッドで呼び出すことで、メソッドの名前を変更し、メソッド内の値を反転するか、メソッドの使用を反転するかを選択できます。

リファクタリングは、メソッド、プロパティ、ローカル変数、またはパラメータで呼び出すことができます。

Smart Paste ensures the correct escaping in string literals

スマートペースト

ReSharperは文字列リテラルで正しいエスケープを確保するコードをコピー/ペーストできるようになりました。この機能は、C#、VB.NET、JavaScript、XML、XAML、およびHTMLファイルで機能し、異なるコンテキストで使用される不正な文字をエスケープするさまざまな方法を尊重しています。

例:二重引用符を含むテキストやXMLをコピーしてC#の文字列リテラルに貼り付け、ReSharperがすべての引用符を自動的にエスケープするようにすることができます。

これは、C#コードをXMLのdocタグに貼り付けるときにも機能します。スマートペーストは、論理演算子やC#では問題ないがXML値では許可されていないその他のジェネリックスやラムダ構文をエスケープします。

ReSharperがあなたのためにエスケープできる他のものには、ファイルパスと改行があります。

NuGet support in Optimize References and Remove Unused References

Nuget参照を最適化する

参照の最適化は、プロジェクトに含まれるすべての標準参照と同じツールウィンドウに表示されるNuGet参照を処理することを学びます。 ReSharperはまた、プロジェクトに依存する未使用の参照を表示するために新しいグループを追加するため、冗長であるとはみなされません。 ReSharperは、パッケージの特定の依存関係が実際にプロジェクトでどのように使用されているかを正確に伝えます。

さらに、未使用の参照を削除するリファクタリングはNuGetリファレンスもサポートするようになりました。

Intermediate Language viewer in ReSharper

IL ビューアー

dotPeekで初めて登場したIntermediate Language Viewerは、Visual Studioで利用できるようになりました。ビューアを使用してサードパーティのライブラリコードをドリルダウンしたり、独自のソースコードに対応するILを表示することができます(最初にコンパイルする必要があります)。

IL Viewerの動作を確認するには、メニューでReSharper | Windows | IL ビューアーを選択します。

ReSharper's test runner supports xUnit out of the box

すぐに使えるxUnit

xUnit.netのテストフレームワークは、最近、Microsoftのクロスプラットフォーム、オープンソースの.NETコアプロジェクトの選択肢の枠組みを含む、人気の大幅な上昇を見せています。またDNXプロジェクトのテストを正式に実行する方法もサポートされています。

ReSharperは何年もxUnit.netをサポートしてきましたが、常に別の拡張機能をインストールする必要がありました。バージョン2016.1以降、ReSharperはxUnit.netを直接製品に提供します。これは、ReSharperがあなたのテストを発見し、特別な拡張を必要とせずにエディタからすぐにそれらを実行し、デバッグできるようにすることを意味します。

さらに、ReSharper Ultimateのお客様は、継続テストセッションでテストをプロファイルし、コードカバレッジを取得し、xUnit.netを使用することもできます。

ReSharper starts to understand VB.NET 14

VB.NET 14

かなり前にC# 6をサポートしていたので、Visual Basic .NETの開発が始まりました。

ReSharper 2016.1は、文字列補間、複数行文字列、ヌル条件付き演算子、部分モジュールとインターフェース、年初の日付リテラルなどの言語機能を理解し始めることで、VB.NET 14のサポートを完了します。

JSON support in ReSharper 2016.1

JSONのサポート

ReSharper 2016.1は、サポートされているVisual Studio(2010-2015)のすべてのバージョンでJSONファイルとスキーマをサポートすることで、技術的なリーチを拡大しています。

JSONとJSONスキーマのサポートは、旧式のVisual Studioバージョンの構文ハイライトとしての基本から、書式設定や並べ替え(オブジェクトプロパティや任意の選択肢の移動など)、コードインスペクションやクイックフィックスなどの高度な機能まで、スキーマ、パス、正規表現、およびパッケージを認識しているコード補完も含まれます。

JSONファイルの簡単な情報を得るために、ReSharperのファイル構造ウィンドウをこのタイプのファイルで使用できるようにしました。

Initial support for Node.js in ReSharper

Node.jsの初期サポート

ReSharper 2016.1では、Node.jsの初期サポートが導入されました。

完了、コードインスペクション、クイックフィックス、およびナビゲーション機能のような、良く知っているReSharperのすべての機能が、Node.jsで利用可能になりました。

Improved JSDoc support

JSDocの改善

ReSharper 2016.1では、JSDocのサポートがさらに改善されました。 ReSharperはジェネリックス、HTMLマークアップ、JSDocコメントのプロパティを持つパラメータを解析できるようになりました。 ReSharperがJSDocから推論するすべてのものは、コード補完の提案、パラメータ情報ツールチップなどですぐに利用可能になります。

Improved JavaScript and TypeScript formatting settings

JavaScriptとTypeScriptの詳細

ReSharperのJavaScriptとTypeScriptのサポートは、幅と深さの両方で進化を続けています。このリリースでは、以下の点が改善されました。

  • JavaScriptとTypeScript フォーマッタ設定はもっと細かくなりました。コードに適切なマージンを指定して、さまざまなコード構造をラップするかどうかとその方法を定義することができます。
  • 名前変更リファクタリングでは、TypeScriptタイプに対応するファイルの名前を変更できるようになり、使用箇所の検索はTypeScriptの実装と上書きを認識します。
  • ReSharperはAngularJS開発に不可欠なnpmでインストールされたTypeScriptモジュールを正しく処理するようになりました。
  • タイプパラメータ制約、ステートレスJSXコンポーネント、グローバル/モジュールスコープ、文字列リテラルタイプ、 thisベースのタイプガードを含むTypeScript 1.7および1.8の完全サポート。
  • 実験的ECMAScript構文の理解、デコレータ、クラスプロパティ、累乗演算子、オブジェクトリテラルの残りのプロパティおよびスプレッドプロパティなどの初期サポート。
  • TypeScript 2.0の一部の実験的サポート:読み取り専用プロパティ、暗黙的インデクサ、プライベートおよび保護コンストラクタ、抽象プロパティ、null可能型。
  • 古いバージョンのVisual StudioでのTypeScriptとJavaScriptのサポート:ReSharperでは、Visual Studio 2013でJSXとECMAScript 6と7を強調表示できるようになりました。

エラーの強調表示の改善

ReSharper 2016.1には、複雑なタイプのエラーの強調表示範囲が改善されています。 ReSharperの以前のバージョンでは、エラーを含むステートメント全体が強調表示され、複雑なジェネリックタイプの場合はどこからエラーが発生しているのかがわかりませんでした。

これからReSharperは、誤ったタイプの部分だけを強調表示します(ただし、Visual Studio 2015のエラー強調表示に注意してください)。そして、不一致の種類を修正するためのより多くの方法を提供します。

非同期検索コードの問題

以前は、任意のスコープでReSharperのコードの問題を見つけるコマンドを使用したとき、コード分析が終了するまで停止して待たなければなりませんでした。

ReSharper 2016.1以降、コードの問題を見つける使用箇所の検索と同様にバックグラウンドで動作します。これにより、ReSharperが解析を実行し、インスペクション結果ツールウィンドウをバックグラウンドで作成しながら、コードの編集や移動を続けることができます。

ダウンロード(英語)
無料30日間のトライアル