ReSharper の新機能
ReSharper 2020.3
C# 9 のサポート:
トップレベルのステートメント
ネイティブ int
ターゲット型の条件式
静的ラムダ
DynamicallyAccessedMembersAttribute
サポート初期化のみの setter
with- 式とレコード
ローカル関数の属性
ラムダ破棄パラメーターのサポート
ソースジェネレーター
ターゲット型
new
共変リターン
拡張部分メソッド
拡張
GetEnumerator
初期関数ポインタ型のサポート
テキストに移動でのあいまい検索。
インレイヒントの改善: プッシュツーヒント、型変換ヒント、XAML ヒントのヒューリスティックとコンテキストメニューの改善、フォントサイズの変更機能、設定ページの作り直し。
新しい C# 構文スタイル: 「new()」と「新しい T()」およびデフォルト 'vs' デフォルト(T) '。
Avalonia フレームワークのサポート。
単体テスト: エディターから直接、選択したターゲットフレームワークを使用してテストを実行します。
構文 - 識別子のツールチップの色付け。
CleanupCode コマンドラインツールコンソールツールは、ソリューションファイルを指すことなく、指定されたファイルまたはフォルダーのセットで実行できるようになりました。
プライベートソースリンクのサポート。
逆コンパイラーの改善: 静的ローカル関数、トップレベルステートメント、ローカル関数の属性、構造体の読み取り専用インスタンスメンバー。
IL Viewer : 同期とコンテキストのハイライトの改善。
アセンブリエクスプローラーウィンドウ : トップレベルのエントリポイントアイテム(プレゼンテーション、ダブルクリック / コンテキストメニューナビゲーション、プロパティ)。
ライブラリコードのファイルメンバーに移動は、外部ソース(逆コンパイルされたコード / シンボルファイルからのコード / メタデータビュー)の表示モードを保持します。
TypeScript のサポート: nullish 合体とオプションの連鎖
C++ の新機能:
- Unreal Engine :
UnrealEngine プロパティのライブトラッキング
HLSL の制御フロー分析
プロジェクトファイルを再生成するための新しいリマインダー
Unreal Engine コーディング標準 (英語): デフォルトの 4 文字のタブサイズ、右辺値参照にキャストするための
MoveTemp
- C++20
比較ルール
範囲ライブラリ
Visual Studio 16.8 で導入された C++20 コルーチンの標準モードのサポート
新しいインスペクション: 範囲で動作するアルゴリズムを使用でき、
std::views::keys/values
を使用でき、イテレーターとカウントを受け入れるアルゴリズムを使用できます。- インポート完了 :
補完リストには、不完全なクラスの適切なメンバーが含まれるようになりました。
対応するクラスに精巧な型指定子を追加する新しいオプションがあります。
三項演算子を反転するコンテキストアクション
宣言に移動を使用して、一致するプリプロセッサーディレクティブ間をジャンプしたり、
override
キーワードを使用して基本関数に移動したりできます。ピーク定義ビュー: ピーク実装(Ctrl+Alt + 中央ボタンクリックまたは Control+Alt+Q)およびピークベースシンボル(Shift+Alt+Q)が C++ に提供されます。
ファイル構造は、ネストされた名前空間に C++17 構文を使用するようになりました。
C++/CLI : 派生シンボルに移動は、C++ / CLI プロパティ内の
get
/set
関数および C++ / CLI イベント内のadd
/remove
関数で機能するようになりました。バンドルされている Clang-Tidy バイナリが Clang11 に更新され、新しいチェックとコンパイラー診断が追加されました。
/external:*
コンパイラースイッチのサポートCatch2 サポートの更新
- Unreal Engine :
ReSharper 2020.2
保存時および最近変更または開いたファイルに対して、コードを再フォーマットし、コードのクリーンアップを自動的に実行する機能。
XAML のインレイヒント。
どこでも検索 / 型に移動、シンボルに移動、ファイルメンバーに移動の結果リストで Alt+F7 (使用箇所の検索のシンボル)、Control+Alt+F7 (シンボルの使用箇所にジャンプ)、または Shift+Alt+F7 (関連エンティティの使用箇所の検索)を押すと、ソリューションおよび参照アセンブリ内のシンボルの使用箇所をすばやく見つけることができます。
ピーク定義ビューの新機能: Peek 実装(Ctrl+Alt + 中央ボタンクリックまたは Control+Alt+Q)Peek ベースシンボル(Shift+Alt+Q)Peek 使用箇所(Ctrl + 中央ボタンクリック)。
タイプ依存 関係図とプロジェクト依存関係図の新しいエクスポート形式: GraphML(外部分析用)および XPS(大きな図の印刷用)。
ReSharper コマンドラインツールをインストールして、.NET Core グローバルツールとして使用できます。
dotnet_diagnostic ルールの (英語)EditorConfig サポート。
以前はマークされたパラメーターの正規表現支援を有効にしていた [RegexPatternAttribute] が、フィールドとプロパティでも機能するようになりました。
改善された Blazor サポート
単体テストの改善:
デコンパイラー: 式本体のメンバー、スロー式、デフォルトのパラメーター、および名前付き引数のサポート。
逆コンパイラー:
NullablePublicOnlyAttribute
のサポート。C++ の新機能:
- Unreal Engine :
Unreal Engine プロジェクトモデルのサポートが導入されたことにより、ReSharper C++ はさまざまなソリューション構成、およびプラグインとモジュールのリファレンスをよりよく理解できるようになりました。
エンジンソースからのシンボルはライブラリシンボルとして扱われ、デフォルトで検索結果から非表示になります。
インスペクションの重大度、コード生成アクション、ドキュメントテンプレート、および Unreal Engine コーディング標準に基づく include ディレクティブの自動インポートに対するいくつかの更新
プロジェクトファイルが古くなっている場合に、Unreal Editor で Visual Studio プロジェクトをリフレッシュするようにリマインダー
バンドルされた辞書には、一般的なゲームの頭字語と略語のリストが追加されています。
- C++/CLI :
C++ / CLI コードで派生シンボルを探す場合、ReSharper C++ は C# コードでシンボルを検出するようになりました。
ベースシンボルへ移動および派生シンボルに移動は、インポートされた CLR エンティティで機能するようになりました。
宣言に移動は未解決の識別子で機能します
キャレットの要素の使用箇所のハイライト
プリプロセッサーディレクティブのスペルミスのハイライト
ファイル構造 : プリプロセッサーディレクティブはデフォルトで非表示になりました。
新しいインスペクション: 構造化バインディングを使用できます。ネイティブタイプでは
gcnew
を使用できません。マネージタイプではnew
を使用できません。マネージクラスではfinal
指定子を使用できません。オーバーライド関数にはvirtual
指定子がありません。プロジェクトファイルの再生成が必要になる場合がありますClang-tidy クイックフィックスの簡単なプレビュー
constexpr
関数の評価におけるクラス型の値のサポートの改善コード補完 : 新しい補完項目は、
std::function
パラメーターが期待されるときに自動生成されたラムダ引数を挿入できます。クラスが現在のファイルに含まれていない場合、インポートの補完により、前方宣言を追加する新しいオプションが提案されます。新しい設定: インデントを揃えましたか? : 演算子、// Enter で複数行の // コメントを挿入、引用符で囲まれたインクルードのみを潜在的なメインヘッダーと見なす
新しいファイルテンプレート : ソースファイルとヘッダーファイル
- Unreal Engine :
ReSharper/ReSharper C++ 2020.1
- null 可能な参照型は、以下をサポートします。
null 可能な参照型に関連するコンパイル警告
Nullable 参照型に関して冗長な型パラメーターの制約を検出するための新しいインスペクションおよびクイックフィックス
null 可能性の警告に対するさまざまなクイックフィックス
null 可能性の変更をサポートするようにシグネチャーの変更リファクタリングが更新されます
クイックドキュメントが更新され、null 可能性アノテーションが表示されます
新しいインスペクションとクイックフィックスにより、可能であれば同期ではなくメソッドの非同期オーバーロードを検出して使用
複数のアイテムと同様の構成体を使用した宣言の末尾のコンマの構成可能なコードスタイル (オブジェクト、配列、コレクション初期化子、列挙型、switch 式)
宣言に移動はマウスの中央ボタンで動作します。
ファイルに移動リストで選択した結果で Ctrl+Enter を押すと、ソリューションエクスプローラーでファイルを見つけることができます。
ユニットテストセッションのエクスポートとインポート。
ローカライゼーションマネージャーの改善: コメントを編集、エクスポート、インポートする機能、いくつかの UX とパフォーマンスの修正
逆コンパイラー: タプルコンポーネント名のサポートが改善されました。
逆コンパイラー: null 許容参照型(メソッド本体ではなく宣言内)。
デコンパイラー: デフォルトのインターフェースメンバー。
デコンパイラー: 自動実装されたプロパティおよびフィールドのようなイベントのフィールドターゲット属性。
IL ビュー: インターフェース実装および汎用パラメーター制約でのカスタム属性のサポート(たとえば、コンパイラーはこれらのエンティティに
NullableAttribute
およびTupleElementNamesAttribute
を適用できます)。ReSharper C++ 2020.1 の新機能:
C++20:
制約付きタイプのプレースホルダーと省略された関数テンプレート
列挙型宣言と Enum を使用して紹介するリファクタリングの使用
インスペクションの命名および再定義における概念のサポート
新しいインスペクション: 未使用のラムダキャプチャー、C++ キャストの代わりに使用される関数型のキャスト、void にキャストするときに
static_cast
の代わりに使用されるreinterpret_cast
、ラムダで明示的なテンプレートパラメーターを使用インクルードをソートするための新しい設定「大文字と小文字を区別するソート」と「ディレクトリごとのグループヘッダー」
コード補完の改善: 属性名の完成。ラベル名は、
goto
ステートメントで補完するときに表示されます。std::forward
の後置補完。オーバーライド関数から基本関数への呼び出しを完了すると、転送呼び出しが挿入され、すべての関数パラメーターが基本関数に渡されます。マクロ定義の補完。ステートメントの補完入力支援は、対応するキーを入力した後、括弧 / 括弧 / 引用符で選択したコードを囲みます
「
[[maybe_unused]]
を追加」クイックフィックスUNREFERENCED_PARAMETER
を[[maybe_unused]]
属性に置き換えるコンテキストアクション概念と名前空間の移動... アクションのフィルター
生成された getter およびコンストラクターに
[[nodiscard]]
属性を追加する生成のオプション型名のヒントは依存コードでデフォルトで有効になっています
「モック関数の生成」は GTest 1.10 からの
MOCK_METHOD
マクロをサポートします従属関数呼び出しのパラメーター名ヒント
満たされていない制約に関するより良いエラーメッセージ
名前付きパイプの代わりにファイルを使用するための単体テスト設定 (名前付きパイプがウイルス対策ソフトウェアによってブロックされている場合に役立ちます)
シグネチャーの変更は非解決型を受け入れます
コードを再配置するアクションの主な改善点
Clang-tidy が LLVM 10 に更新され、新しいチェックと診断が行われます
宣言に移動はコメント内のシンボル名で機能します
ファイル構造の改善: アイコンにクラスメンバーのアクセシビリティと仮想 / 静的 / 純粋な指定子のインジケーター、クラスメンバーの新しい継承アイコンが追加されました (関数が基本関数をオーバーライド / 実装 / 非表示するときに表示されます)
スコープ付き列挙型に変換リファクタリング
文書アクションの専用ショートカット Control+OemQuestion
UE4 ヘッダーの名前を変更すると、対応する
*.generated.h #include
の名前も変更されますUE4 タイプの名前を変更すると、対応するヘッダーとソースファイルの名前も変更されます (
A
、F
、E
接頭辞付き)SpatialOS フレームワークのサポート
UE4 ソリューションのデフォルト設定を微調整して、コーディングガイドラインによりよく一致させる (
auto
キーワードの提案を避ける)UE4 の命名規則のサポートの向上: コンソール変数とログカテゴリの命名規則
移動... アクションは、UE4 列挙型を含む名前空間を表示します
ReSharper/ReSharper C++ 2019.3
notnull
制約、ターゲットタイプのswitch
式、default interface
メソッドの早期サポート、新しいヒント「ローカル機能は静的」、および新しいクイックフィックス「足りない腕の追加」など、C# 8 サポートの改善。ラムダのパラメーターの型名のヒント、パターンマッチングとタプルの分解を含む
var
、LINQ ステートメント内の範囲変数、およびメソッド呼び出しチェーンの行の終わり。関数での戻り値の欠落と switch ステートメントでの欠落の欠落のヒントXamarin サポートの修正:
x:DataType
およびClass
属性のサポート。switch 式で型パターンを生成する
System.HashCode
を使用してGetHashCode
を実装し、等値メンバーまたは等値比較子を生成するときに null 可能性を考慮するオプション。パラメーター情報はタプルをサポートしています。
C# 命名設定の EditorConfig との間の読み取りおよびエクスポート。
依存コードを見つけるは NuGet 参照に対して機能するようになり、ソリューション全体に対して実行できます。また、検索結果に依存コードの新しいフィルターがあります。
タプルの逆コンパイル、脱構築、破棄。
新しいコードインスペクションおよびクイックフィックス。特に、NUnit テスト用。「タイプまたはメンバーは使用されません」は、タイプおよびメンバー用に 2 つの別個のインスペクションに分割されます。
ユニットテストエクスプローラーウィンドウおよび Unit Test Sessions ウィンドウの新しいグループ化およびフィルタリングオプション。
構文ハイライトのさまざまな種類の識別子のより多くの色
「var」と明示的なタイプの使用のコードスタイルのより詳細な構成。
ReSharper コマンドラインツールは、Linux および macOS で実行できます。
ReSharper C++ 2019.3 の新機能:
C++20:C++20 の概念、表示されない ADL および関数テンプレート(英語)の初期サポート、括弧で囲まれた値のリストからの集計の初期化 (英語)
Clang-tidy 統合の改善点:
バンドルされた clang-tidy バイナリは、いくつかの新しいチェックを含むバージョン 9 に更新されます。また、ソースファイルへの変更を防ぐことはできません。
インスペクションメニューから Clang 警告を無効にできるようになりました。
特定の clang-tidy 構成ファイルを使用するための新しい設定 (構成を文字列として指定した設定の代わりに)
フォーマッタの改善: .clang-format ファイルへのフォーマットオプションのエクスポート、抽象宣言の
ptr
およびref
の前のスペースのオプション。コードハイライトエンジンのいくつかの改善により、再ハイライトがより高速になりました(関数のボディが変更された後、ボディ自体のみが再分析されます)。
ラムダキャプチャーリストに変数を追加するのに役立つ新しいクイックフィックス。
いくつかのライブテンプレートは、対応するキーワードに一致するように名前が変更されました(たとえば、
cls
からclass
、str
からstruct
)。ファイルメンバーに移動のいくつかの更新: ファイルが完全に分析されるのを待たずに、ダイアログがすぐに表示されるようになりました。ファイルに関数の宣言と定義の両方が含まれる場合、関数はダイアログに一度だけ表示されます。
ブレースで囲まれた初期化子リストの開きブレースから集計クラスに移動できるようになりました。
%PATH%
で使用する clang-tidy 実行可能ファイルを見つけるための新しい設定。インレイヒントの改善: 自動変数、構造化バインディング、関数およびラムダ戻り値の型名のヒント。型名のヒントは、依存コードではデフォルトで無効になっています。
#include
ディレクティブ(クイックフィックスおよびコンテキストアクション)をソートします。
ReSharper/ReSharper C++ 2019.2
C# 8 サポートの改善: インデックスおよび範囲の最新の変更(インデックス可能なタイプや範囲変更可能なタイプ、アンマネージジェネリック構造体など)。
ファイルメンバーに移動は、現在のドキュメント内のテキスト一致も検索するようになりました。
テキストに移動の検索結果内のコメント内の出現を除外する機能。
インポート名前空間の提案とインポートシンボル補完からシンボルを除外する機能。
ソリューションモデルはプロジェクト / ソリューションファイルからを直接読み取ります。
用途検索は、ソリューション全体の分析のインデックスを使用することにより、より高速に動作します。
IL Viewer のキーワードの説明を含むツールチップ
アセンブリエクスプローラーウィンドウの Win32 リソースサブツリー
ReSharper C++ 2019.2 の新機能:
エディターヒントの改善。ヒントには、プリプロセッサーディレクティブの後のヒントと、非 const 参照によって渡される関数引数のヒントの 2 つの新しい型があります。集約初期化式のヒントに、初期化された基本クラスの名前が表示されるようになりました。
より多くの C++20 機能がサポートされています: 条件付き
explicit
、char8_t
、ラムダ init-capture でのパック拡張、デフォルトの構築可能で割り当て可能なステートレスラムダ、集計の C++20 ルール、consteval
およびconstinit
指定子、構造化バインディング宣言の C++20 の改善。コード補完の概要ツールチップは構文色で表示され、選択したアイテムのドキュメントが表示されます。
改善された Unreal Engine 4 サポート:
Unreal Engine 固有のコード分析チェック、特に欠落している、または誤って設定された UE4 リフレクションマクロを対象とするチェック
クイックドキュメントポップアップで、リフレクション指定子の組み込みドキュメントが利用可能になりました。
ReSharper/ReSharper C++ 2019.1
Visual Studio2019 のサポート。
C# 8 のサポート: 終了式からの範囲とインデックス、NULL 合体代入、Switch 式、switch ステートメント内のタプル式、静的ローカル関数、var 宣言を使用する初期サポート、null 許容参照型(解析のみ)、非同期ストリーム、非同期ディスポーザブル
テキストに移動はソリューション内のすべてのテキストファイルが検索されます。
参照を最適化するは SDK プロジェクトで動作します
メソッドの抽出リファクタリングは UI で導入されたパラメーターの名前変更をサポートします。
インレイヒントの改善: 属性の使用箇所のヒント、StringFormatMethod 呼び出しの特別なヒント(デフォルトでは無効)、より柔軟な構成、列選択時の自動非表示、ヒントの表示 / 非表示のキーボードショートカット Control+Alt+Shift+5。
コードアノテーションおよび NULL 可能性分析の新機能: タイピングアシストは、キャレットがジェネリックコレクション型、
Lazy<T>
、またはTask<T>
の引数内にある場合にItemNotNull
/ItemCanBeNull
属性を挿入します。タイピングアシストは、C# 8 null 許容参照型をサポートしており、null 許容マーク?
を挿入または削除できます。コードアノテーションは、メソッド宣言のヒントです。より速いナビゲーションと検索: 「インスタント」タイプの検索より高速な「どこでも検索」および「タイプへジャンプ」
フォーマットとコードクリーンアップの改善: 子ステートメントのインデントのインスペクションのフォーマットはデフォルトでオンになり、フォーマット設定の検出はバックグラウンドで動作するようになり、EditorConfig に設定をエクスポートし、名前空間インポートの再配置時に
System.*
およびWindows.*
名前空間の配置をオフにするオプションが Visual Studio および StyleCop と互換性を持つようになりました。Backspace ではインデントなしの入力支援。現在のインデントサイズの倍数、またはコード構造内の予想インデント位置に直接キャレットを返します。
ReSharper C++ 2019.2 の新機能:
パフォーマンスの向上: インデックス作成の高速化、メモリフットプリントの縮小、インデックス作成およびコード分析中の Less メモリトラフィック、大規模ソリューションでのキャッシュからの高速オープンソリューション。
新しい言語機能: 一般的なラムダ用の C++20 のおなじみのテンプレート構文、C++17 の 16 進数浮動小数点リテラル、代替演算子表現、C++20 契約の基本サポート、および 3 者間比較演算子。
命名規則を設定するときに、新しいエンティティの種類が使用可能になります。
Unreal Engine 4 のサポート:
デフォルト設定での初期インデックス作成は 2018.3 よりも 6x 速く、2x はインデックス作成後に使用される管理メモリが少なく、3x はライブオブジェクトが少ない
RPC 機能の認識: それらの間のナビゲーション、実装の生成、入力補完
エンジンコード / サードパーティコード / プラグインのインデックス作成を無効にする設定を含む UE4 オプションページ
Unreal Engine のコーディング標準によって定義された命名規則の初期サポート
Unreal Engine 4 ソリューションでは、Clang-Tidy 統合はデフォルトで無効になっています。
単体テストの新機能: doctest 単体テストフレームワーク(英語)のサポート、Catch 2.7(
TEMPLATE_PRODUCT_TEST_CASE
テスト宣言)のサポート Google Test でのGTEST_SKIP()
のサポート、%
でラップされた環境変数名はユーザー提供の環境文字列で拡張されますフォーマット設定の改善: C での K&R スタイルの宣言、参照とポインタの周囲のスペースのための別々のフォーマットオプション、マクロ呼び出しは関数呼び出しと同じようにフォーマットされます。
外部ファイル内の識別子のハイライト
ナビゲーションと検索の改善: 連鎖「移動」検索は数倍高速になりました、ファイルメンバーに移動の基本メンバーを含めるオプションがサポートされ、"Go to file member"、ベースクラスと派生クラスの検索がインデックス作成中にも動作するようになりました
ドキュメントコメントのその他の機能: XML 文書のコメントでパラメーター名が変更され、入力アシスタントは自動的に
///
を新しい行に挿入しますClang-Tidy 統合が向上しました: 個別の clang-tidy オプションページ( )、ユーザー提供の clang-tidy バイナリを利用するための設定
ReSharper/ReSharper C++ 2018.3
C# 7 の新機能: タプル、分解などのコードインスペクション、クイックフィックス、コンテキストアクション。
VB.NET 15.3 および 15.5 の機能サポート: 名前付きタプル推論、先行する 16 進数 / 2 進数 / 8 進数区切り記号、末尾にない名前付き引数
「パラメーターの導入」リファクタリングは現在ローカル関数にも機能します。
外部アノテーションは、VCS のソリューションまたはプロジェクトファイルの隣の ExternalAnnotations フォルダーに格納できます。
アクションに移動 Control+Shift+A でオプションページを開く機能
宣言へジャンプの使用を意識した動作の設定オプション。
統合逆コンパイラーの改善: ローカル関数の逆コンパイルパターンマッチング逆コンパイル: case 句内の const パターン、型パターン、型パターン (述語と破棄はサポートされています)
ASP.NET Core アプリケーションでのローカライゼーションアシスタンスのサポート。
NUnit および xUnit.net テスト用の新しいコードインスペクション、クイックフィックス、コンテキストアクション。
InspectCode コマンドラインツールコマンドラインツールのマルチスレッドモード。
TypeScript 3.0 構文サポート: 未知の型(構文解析のみ)、タプル型のオプションの要素、タプル型の残りの要素、タプル型の残りのパラメーター、タプル型を持つスプレッド式(解決なし)、一般的な残りのパラメーター
ReSharper C++ 2018.3 の新機能:
C++ コードの場合はフォーマット設定の自動検出
定義済みの命名スタイルスキーム (STL、グーグル、LLVM、キャメルケース、マイクロソフト)
パフォーマンスの向上: インデックス作成中のメモリトラフィック、マルチスレッドキャッシュロードの向上
ナビゲーションの改善: 宣言に移動は依存しない
decltype
指定子とラムダに対してより正確に機能し、最初の索引付けの間にそれを使うことさえできますリファクタリングの改善: シグネチャーの変更リファクタリングは関数
constexpr
/const
/noexcept
を作りそして ref 修飾子を変更するためのオプションを得ます。コード分析の改善: テンプレートコードのエラー診断が大幅に改善され、失敗した
enable_if
条件、decltype
内の不正な式、および内部型の欠如に関する追加情報が提供されます。列挙型を文字列に変換する関数を生成し、関数宣言の通常の戻り値の型を末尾の戻り値の型に変換する、またはその逆の新しいコンテキストアクション。また、クラステンプレート引数の推定を使用して推定されたテンプレート引数を挿入します。
コード生成の改善: Getter/Setter を生成は C++ / CLI プロパティを作成でき、上書きするメンバーを生成するは CLR プロパティをオーバーライドできます
Unreal Engine プロジェクト用: エンジン自体のバックグラウンドインデックス作成を延期し、初期インデックス作成パフォーマンスとリフレクションマクロの処理を改善しました。
Catch 2.5 用単体テストのサポート
C++11
std::has_virtual_destructor
および C++ / CLI でサポートされる新しい型トレイト (__is_interface_class
、__is_ref_array
、__is_ref_class
、__is_value_class
、__is_sealed
、__is_delegate
、__has_finalizer
)C++20 ネストされたインライン名前空間のサポート
改善された C++ / CLI サポート
ReSharper/ReSharper C++ 2018.2
イニシャライザーとクエリの宣言式(英語)、タプルの等価性(英語)、参照の割り当て(英語)、stackalloc(英語) の配列イニシャライザー(英語)、パターンベースの 'fixed' ステートメント(英語)、可動固定バッファーのインデックス付けなど(英語)、C# 7.3 のサポート。
unmanaged
、System.Delegate
、System.Enum
制約。統合されたスペルチェックエンジン。
ほとんどのリファクタリングのために再設計された UX。
BeforeBuild/ AfterBuild ターゲットを有効にし、ReSharper ビルドがスキップしたプロジェクトのビルド / ビルド前イベントを有効にするオプション。
ReSharper オプション(Alt+R, O)の ページで、無視されるファイルマスクを指定できます。
どこでも検索は、dotTrace または Visual Studio のコールスタックウィンドウからコピーして貼り付けた関数シグネチャーを正常に解析して、さらに検索できるようになりました。
フォーマッタの改善:
enum
アレンジメントのオプション、メソッドシグネチャー、メソッド呼び出し、イニシャライザの " 単一要素の最大要素 " オプションフォーマットを構成するダイアログからフォーマッタ設定のコメントを生成する機能。
StyleCop のルールの影響を受ける設定がファイルフォーマット情報ウィンドウに表示されます。
JSlint、ESLint、TSLint との統合はエディターで JavaScript と TypeScript コードの設計時検証を改善します。
メンバーアクセスとローカルメンバー、パラメーターのためにビルトインタイプの参照スタイルを分離します。
ReSharper C++ 2018.2 の新機能:
折りたたみ式、自動非型テンプレートパラメーター、宣言を使用したパック展開、複数の宣言子による宣言の使用、コピーエリジョンの保証、クラステンプレート引数の控除、基底クラスによる集計、
std::is_aggregate
型トレイト、プリプロセッサー条件内の__has_include
Coroutines、指定された初期化、機能テストマクロ、ビットフィールド用のデフォルトのメンバー初期化子を含む今後の C++20 の初期サポート
サイズと配置の計算には、ビットフィールドサイズ、
alignas
指定子、__decltype(align)
属性が考慮されます。構文のハイライトの改善 — 静的クラスフィールドとメンバー関数の新しい色設定。
予想される障害の仕様は、Boost.Test 単体テストでサポートされています。
ReSharper/ReSharper C++ 2018.1
以前のリリースでは欠落していた機能(非末尾の名前付き引数、プライベート保護されたアクセス修飾子、数値リテラルの下線、
in
パラメーター、ref readonly
の戻り値とローカル、readonly struct
型、ref struct
型、conditional ref
演算子など)を完全にサポートしています。ソリューション全体の分析なしで未使用の非公開メンバーを検出する新しい方法 - ReSharper オプションの ページにあるソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示するオプション ( Alt+R, O )
コードのクリーンアップは現在、無料の CleanupCode コマンドラインツールを使用して実行できます。
バリュートラッキングは、いくつかの新しい C# の機能をサポートしています。ref-returning メソッド、パターンマッチング、out 変数です。
ユニット用の新しいフィルターは、Control+N (以前はすべてにジャンプと呼ばれていた最も強力な ReSharper の検索アクション)のどこでも検索で
/u
をテストします。宣言と破棄を分解するための構成可能な 'var' スタイルおよび新しいコードインスペクション、クイックフィックス、コンテキストアクション。
初期 StyleCop のサポート。
入力支援の改善: 行コメントの途中で Enter を押すと、ReSharper は自動的に新しい行のテキストの前に 2 つのスラッシュ
//
を追加して、コンパイルできないテキストを取得しないようにします。NUnit 3.10.1 のサポート
- ReSharper C++ 2018.1 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
Clang-Tidy 統合のアップデート: バンドルされている Clang-Tidy がバージョン 6.0 にアップデートされました。これにより、使用可能なチェックのリストが拡張され、特定の Clang-Tidy チェックをコメントで抑制できるようになりました。
この GNU 拡張を実装するコンパイラーとの互換性を高めるため、#include_next(英語) プリプロセッサーディレクティブがサポートされるようになりました。
C++ ファイルの入力支援は、Enter 上の末尾の空白を自動的に削除し、冗長な空白のコードをきれいに保ちます。
式を選択してクイックドキュメントウィンドウを開くと、タイプ、値、値のカテゴリなど、選択した式に関するさまざまな情報がウィンドウに表示されます。
ReSharper/ReSharper C++ 2017.3
C#、VB.NET、C++ のデバッグ支援機能: インライン値、検索可能なデータヒント、およびブレークポイントナビゲーション。
パフォーマンスガイド(パフォーマンスに影響する ReSharper および Visual Studio 環境設定を確認してすばやく修正するのに役立つオプションページ
) —- 新しいフォーマッタ機能:
フォーマッターを有効 / 無効にするか、コメント付きまたは Editorconfig ファイルからフォーマッター設定を変更します。
異なる改行スタイルでコードを再フォーマットする機能 (長い行を折り返したり切り詰めたり、選択したものをコンパクトに再フォーマットしたりする)
類似のコードを列に揃えるオプション。
複雑なステートメントの前後に空白行を挿入するオプション。アウトデントバイナリ演算子、ドット、コンマ。ネストされた三項演算子スタイルを選択します。
C# 7 タプルのデコンストラクターを生成するアクションとナビゲーション機能
改善されたメソッドの抽出リファクタリングは、ローカル関数を抽出し、抽出されたメソッドで値のタプルを返し、式ボディメンバーで作業するなどの機能を追加できるようになりました。
新しいタイピング支援: Enter の複数行ブロックコメント、C# の連鎖メソッド呼び出し。
改善された To Do 項目が外部 URL にリンクできるようになりました。
組み込みの逆コンパイラーは、ローカル NuGet パッケージキャッシュからアセンブリを読み込み、読み取り可能な XML ファイルでアセンブリ PDB の内容を表示できます。
- ReSharper C++ 2017.3 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
ほぼ数千の新しい Clang コードインスペクション :611 Clang Diagnostics、 78 Clang スタティックアナライザチェック、202 Clang-Tidy チェック。
新しいクイックフィックスとコンテキストアクション。
コード分析: オートファンクションとラムダのリターンタイプの控除、明示的なテンプレートのインスタンス化のサポートの改善、ネイティブ C++ イベント処理 MS エクステンション(英語)のサポート。
C++17 機能のサポート: 構造化バインディング宣言、インライン変数、
constexpr
ラムダ。Catch2(英語) サポート (Catch ユニットテストフレームワークの新バージョン)
ReSharper/ReSharper C++ 2017.2
Visual Studio 2017 での .NET Core 2.0 プロジェクトのサポート 15.3。
名前でナビゲートするコマンドは、CamelCased 識別子内の誤った語順やスペルミスを処理できます。また、引用符内の完全一致クエリもサポートします。
C# 7.1 のサポート: 推定値タプルコンポーネント名、デフォルトリテラル、非同期 Main。
近くのファイルに移動 — 新しいナビゲーションコマンド。
新しいタイピング支援機能: NotNull/ CanBeNull アノテーションを追加すると式のボディをブロックボディのメンバーに変換します。
型コンストラクターの生成時にパラメーターをオプションにする新しいオプション。
例外とアサーション用の null チェックルーチンの生成をカスタマイズするための新しいオプションページ( )。
XML は言語インジェクションでサポートされています。
より多くのコンテキストアクションと
<inheritdoc/>
をサポートするクイックフィックス。クイックドキュメント Control+Q と、スコープ付き NPM パッケージの補完が、プロジェクト構成ファイル(project.json、package.json、bower.json)で使用できるようになりました。
組み込みの逆コンパイラーの改善: ソースリンク(英語)を使用してポータブル PDB (英語) で参照されているアセンブリの元のソースコードを取得する機能。ナビゲーションコマンドと検索コマンドのいずれかで単一のメソッド内で複数の一致が検出された場合、ReSharper はそれらすべてを検索結果に表示するようになりました。
ReSharper の機能を使い始めるのを手助けするための対話的なチュートリアル(
)。- 改善された TypeScript/ JavaScript サポート:
TypeScript 2.3 の機能は、非同期イテレータ、オプションジェネリクス、ステートレス JSX コンポーネントのオーバーロード解決、オブジェクトリテラル用のコンテキスト
this
、--strict
オプションのサポートを最終的にサポートしました。TypeScript 2.4 の機能を完全にサポート: 文字列値(または混合文字列 / 数値値)を持つ列挙型、文脈型の戻り値からの一般的な推論、および一般的なコンテキスト署名。
インライン / インライン型エイリアスリファクタリング
Angular 入出力のエイリアスと属性ディレクティブのサポート、NPM を介して追加された Angular 2 コンポーネントのサポート、Angular 4 構文のサポートの改善
使用箇所の検索および名前変更リファクタリングのマッピングされた型メンバーのサポートが改善されました。
- ReSharper C++ 2017.2 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
命名規則の違反を検出して修正する機能。
コード補完でフリー機能を隠すオプション。
C++11 からの拡張フレンド宣言のサポート。
C++17 のイニシャライザによる選択文のサポート
式の SFINAE サポート
ReSharper/ReSharper C++ 2017.1
Visual Studio 2017 の完全サポート。
ReSharper オプション(Alt+R, O)の ページで構成可能な、選択したプロジェクトを完全に無視することにより、大規模ソリューションのパフォーマンスを向上させるのに役立つ新しいオプション。
検索結果ウィンドウの改善点: 用途(C# と C++ の両方)によるグループ分け、フィルターの改善、引用を使用した完全一致による検索の可能性、発見された用途におけるエラーのハイライト
プレビュータブ(英語)で移動する新しい各ファイルを開くためのオプション。ReSharper オプションの ページで構成可能です。
フォーマット規則のコンテキスト構成は C# で利用可能になりました。
貼り付けられたコードの自動フォーマットには ReSharper のフォーマット設定があります。
他のフォーマッタの改善点: コードの再フォーマット時のインデントの自動検出、コンマファーストスタイルのサポート、C# の単一の
case
ステートメントでの改行のオプション、HTML、CSS、または XML ファイルの末尾に改行を追加するオプション。単純な関数メンバーの本体のコードスタイル。
ステータスインジケータのコンテキストメニュー、これはコードインスペクションの多くのオプションとコマンドへの素早いアクセスを提供します。
コードのクリーンアップの UX を改善し、コードのクリーンアップダイアログでカスタムクリーンアッププロファイルを作成および編集できるようになりました。
Visual Studio 2017 で .csproj ベースのプロジェクトのユニットテスト支援(3 月 28 日以降の Visual Studio 2017 アップデートが必要)
Razor タグヘルパーのルーティング属性コード補完、ナビゲーション & amp; 検索コマンド、名前変更リファクタリングのサポート。
- 改善された TypeScript/ JavaScript サポート:
TypeScript 2.1 および 2.2 は、暗黙的な any および暗黙的な任意の配列に対するマップされた型および索引付きの型、オブジェクトの休憩およびスプレッドのプロパティ、構成の継承、型なしのインポート、結合型の正規化、部分的にアノテーション付きのシグネチャー、および制御フロー分析を完全にサポートします。
TypeScript クラス用のプロパティの生成。
- ReSharper C++ 2017.1 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
ソリューションがキャッシュからロードされるときの管理メモリ使用量は約 30% 減少します。
C++ 後置テンプレートのセットは
beg..end
、new
、var
、const_cast
、dynamic_cast
、reinterpret_cast
、static_cast
、make_shared
、make_unique
で拡張されています。フォーマッタの改善: プリプロセッサーディレクティブのインデント、キャスト式の括弧の後ろのスペース、シンプルケースのステートメントのブレーク、名前空間メンバーのインデント。
コードの冗長性を削除するための新しいコードのクリーンアップタスク。
C++ テスト(
)を設定するための新しいオプションページ。フォルダーを開くおよび CMake プロジェクトの初期サポート。
ReSharper/ReSharper C++ 2016.3
新しい .csproj ベースの .NET コアプロジェクトを含む Visual Studio 2017 RC のサポート
言語インジェクションの大幅な改善: JavaScript、CSS、JSON がサポートされ、コメント
/*language=javascript|html|regexp|jsregexp|json|css*/
で言語を挿入する機能、特定の場合に自動言語挿入を無効にする機能。他の 2 つのリファクタリング 'Transform Out Parameters' と 'Extract Class from Parameters' を組み合わせて置き換える新しい変換パラメーターリファクタリング。
ReSharper オプションのコンテキストアクションの個別の設定ページはなくなりました。
ページですべてを有効または無効にできるようになり、特定の言語の再設計されたインスペクション重大度オプションページ(
)。新しいオプションページ( ナビゲーション用にインデックスが付けられますが、インスペクション、クイックフィックス、リファクタリングはしません。
)。C++、JavaScript、TypeScript、CSS、HTML、JSON ファイル、フォルダー、ワイルドカードを追加して、「スキップ」または「ライブラリ」として扱うことができます。ReSharper は「スキップされた」ファイルを完全に無視し、「ライブラリ」ファイルを読み取り専用として扱います -シンボルの使用アクションを使用すると、使用箇所の検索が終了する前に、ポップアップから検索結果ウィンドウに切り替えることができます。
検索結果ウィンドウは非同期で動作します。つまり、検索の進行中に結果ツリーを操作できます。
最近使用したファイルと最近の編集のポップアップにはファイルのパスが表示され、最近の編集はすべての編集内容を同じ方法で単一のエントリとして表示することもできます。
テキストに移動でサポートされているコンテンツファイルの新しいフォーマット(
.less
、.hbs
、.coffee
、.scss
、.dart
、.as
、.styl
)。どこでも検索 / 型に移動、ファイルに移動、テキストに移動アクションの最後の検索を記憶するための設定です(この動作はデフォルトでオフになっています)。
アセンブリエクスプローラーウィンドウはアセンブリをロードする新しい方法を追加します。nuget.org(英語) から直接、または任意の NuGet パッケージソースから。
新しいコード生成アクション: リレーショナルメンバー、リレーショナルコンパレータ、破棄パターン、および生成コンストラクターで null のパラメーターをチェックする新しいオプション。
新しいクイックフィックスとコンテキストアクション: 未使用のすべてのパラメーターのフィールドと自動プロパティを導入するための新しいクイックフィックス
Lazy<T>
型のフィールドに対する新しいコンテキストアクションは、fieldname.Value
をカプセル化するためのプロパティを導入します。補間された文字列の新しいタイピング支援: タイプ
$
と ReSharper は自動的に$""
を完成させ、引用符の間にテキストキャレットを挿入します。行の結合コマンドは、現在の行の後に次の行をすぐに追加します。
ReSharper ビルドの改善: ビルドの結果は、独自のビルド結果ウィンドウ、出力ウィンドウやファイルへのプレーンテキストロギング、ソリューションがロードされた後に自動的にビルドを実行するオプション、および独自の NuGet パッケージリストアで表示されるようになりましたサポートされているすべての Visual Studio バージョン。
外部スタックトレースはスタックトレースエクスプローラーウィンドウで自動的に開くことができます。
C# 7.0 および VB.NET15 の機能の初期サポート: バイナリリテラル(英語)、数字区切り文字(英語)、出力変数(英語)、ローカル関数(英語)など。
プロジェクト構成ファイル(project.json、package.json、bower.json)内のパッケージ名の動的補完。
単体テスト支援は、ASP.NET Core および .NET Core プロジェクトの NUnit および xUnit.net 単体テストに対応しました。
大幅なパフォーマンス向上 xUnit.net テスト。
UWP RelativePanel (英語) コントロールのサポート。
フォーマッターの改善: 中括弧なしのネストされた
for
、foreach
、while
、lock
ステートメントのインデントは、デフォルトで無効になり、古い動作を復元するオプションが追加されました。型パラメーターの制約をインデントするための新しいオプション。新しいインデントエンジンによって 2016.2 に導入されたバグの修正。エディターで To-do 項目の色付けを修正しました。
- 改善された TypeScript/ JavaScript サポート:
TypeScript 2.0.2(" 2.0 RC"): ブール、数値、列挙型のリテラルタイプ。
TypeScript の実装に移動。
TypeScript のフィールドのカプセル化リファクタリング。
「タイプガード付きサラウンド」クイックフィックス
JavaScript のタブと Shift + タブを使用した構造ナビゲーションと TypeScript。
パフォーマンスの向上。
- ReSharper C++ 2016.3 の新機能:
単体テスト支援は C++ テストフレームワーク、Catch(英語) と Boost 1.62 に対応しました。ユニットテストは、外部で変更されたファイルに対しても自動的に更新されます。
InspectCode コマンドラインツールの C++ コード解析。
C++ コード要素の構文がハイライトされていますツールチップ。ツールヒントは、メソッドとフィールドシグネチャー、および Doxygen と C# スタイルの XML コメントの書式を表示します。
C++17 で導入されたネストされた名前空間定義(英語)のサポート。
C++ フォーマッタの新しいオプション: ' キャスト式の括弧内のスペース ' と ' 新しい列の列挙子の配置 '。
プロパティは Linux の Makefile プロジェクトから読み込まれます
メモリ使用量の最適化。
ReSharper/ReSharper C++ 2016.2
ASP.NET Core 1.0 および .NET Core 1.0 プロジェクトのサポート
ソリューション全体の分析の警告。
新しい C# タイピングアシスタント機能: 括弧内のドット / セミコロンおよび逐語文字列補間における接頭辞の自動修正
参照の最適化および未使用の参照を削除する機能によって実行されるクリーンアップから除外するために、実行時に使用される参照をマークする機能。
コードを再配置する改善点。例: 補間された文字列の挿入や 3 つ以上のオペランドを持つ式で使用できるようになりました。貪欲な波括弧は、タイプと名前空間宣言の波括弧、波括弧を開くために機能するようになりました。
再加工されたサラウンドテンプレート : ファイル以外の各テンプレートをコードの生成、サラウンドコード、またはその両方に使用できるようになりました。これにより、カスタムサラウンドテンプレートをライブテンプレートとして再利用したり、その逆を行ったりして、総数を減らすことができます。
タイプを別のファイルに移動リファクタリングをネストされた型に適用できるようになりました。
コメント付きのカスタムコードインスペクションを抑制する機能: ハイライトパターンの編集ダイアログで ' 抑制キー ' を指定してから
// ReSharper disable once [SuppressionKey]
のようなコメントを使用します。Unit Test Sessions ウィンドウの実行ログを使用すると、ユニットテストコードからテスト実行プロセスに関連する問題を分離できます。
.cs、.js、.ts ファイル内の文字列リテラル内の HTML 解析。コンテキストアクションまたは文字列リテラルの前のコメント
/*language=html*/
で有効になっています。文字列リテラルの前にコメント
/*language=regexp*/
を付けて、文字列リテラルの正規表現支援を有効にする機能。XML ドキュメントのコメントにおける
<inheritdoc/>
タグのサポート。C# フォーマッタの改善点: 括弧とその内部のコードをインデントするための新しいオプション。
++
および--
演算子の前後のスペース、checked
およびdefault
式の前後のスペースを制御します。IL Viewer の改善点: コードシンボルや命令にキャレットを設定すると、この項目のすべての使用箇所がハイライトされます。コード内のループは、対応するインデントとコメントで区別することができます。
ローカライゼーションインスペクションとクイックフィックスとリソースに移動リファクタリングは現在、補間された文字列に対応します。
VB.NET: 補間された文字列のサポート
CSS: カスタムプロパティと CSS 変数のサポート。
- 改善された TypeScript/ JavaScript サポート:
- ReSharper C++ 2016.2 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
C++14 言語機能: 可変テンプレートと
decltype(auto)
[[deprecated]]
/__declspec(deprecated)
属性でマークされたクラスおよび関数の使用に関する警告。制御フロー分析での
[[noreturn]]
/__declspec(noreturn)
属性のサポート。生成コード内の include ディレクティブの新しいコードスタイル設定。
インライン変数のリファクタリングは C++ で動作するようになりました。
コード分析の重要な最適化。ex: この最適化により、Unreal エンジンプロジェクトのインデックス作成(最初のオープン)が数倍速くなります。
C++ の自動補完は、現在のファイルに含まれていないシンボルも提示するようになりました。
新しいコードインスペクションとクイックフィックス: 'Add
#pragma once
directive' 修正を含むヘッダーファイルに 'Missing include guards'; ' 非明示的変換演算子 '; インスペクションと、switch
ステートメントに不足しているdefault
ケースを追加する修正。ドキュメントのコメントをタイプとシンボルにすばやく追加できる文書コンテキストアクション。
キャレットが関数の出口(
return
、throw
など)の 1 つにある場合、ReSharper は、ループからの出口やswitch
ステートメントを含む他のすべての関数出口を自動的にハイライトします。デフォルトのポインター初期化子で
0
|nullptr
|NULL
を使用するためのコードスタイル設定。新しいフォーマッタオプション: 単一行の関数とラムダ、単一行の関数定義の前後の空白行、メンバー初期化指定子リストの前の改行、テンプレート引数の山括弧と括弧の間のスペース (プリ C++ 11 コンパイラーとの適合性)
ReSharper がソースコードを解析しているときを検出し、必要に応じて ReSharper のプリプロセッサーを無効にする __RESHARPER__ マクロ。
クイックドキュメントおよびパラメーター情報のポップアップは、Doxygen に最適化されたドキュメントコメントからのドキュメントを表示できます。
ReSharper/ReSharper C++ 2016.1
ブールメンバーをすぐに変更して逆の意味を持つようにする真偽の反転リファクタリング。
スマートペーストを使用すると、コード内にコピー / ペーストしたテキスト内の不正な文字を自動的にエスケープすることができます。
波括弧のシングルラインステートメントと名前付き / 定位置引数を使用する 2 つの新しいコードスタイル機能。
選択したスコープ内のコードを再フォーマットする専用コマンド - Control+Alt+L ( )。以前は、「組み込み: コードの再フォーマット」プロファイルを使用してコードのクリーンアップを呼び出すことで同じことを行うことができました。
選択したスコープにコードスタイルを適用する専用コマンド - Control+Alt+S ( )。以前は、コードスタイルのタスクを有効にするカスタムプロファイルを使用してコードクリーンアップを呼び出すことで同じことを行うことができました。
参照の最適化と未使用の参照を削除する機能は、NuGet リファレンスを正しく処理できます。
キャレットの上または下にパラメーター情報ツールチップを表示する設定を変更する機能。
xUnit.net(英語) 用のすぐに使えるユニットテスト支援。
モーダルダイアログを開かずにクリップボードの履歴から項目を貼り付けるを実行できるようになりました。
VB 14 の新しい言語機能(英語)のサポート
JSON ファイルとスキーマの初期サポート
Node.js の初期サポート。
- 改善された TypeScript/ JavaScript サポート:
より細かい方法で改行と折り返しを定義できる新しいフォーマット。
ECMAScript 7 の一部であると予測される実験的な JavaScript 構文構成(コンパイル、デコレータ、クラスプロパティ、累乗演算子、オブジェクトリテラルの休止およびスプレッドプロパティ)の初期サポート。
- 新しい TypeScript 特有の機能:
TypeScript 1.7 の機能が完全にサポートされています。
文字列リテラル型を含む TypeScript 1.8 の完全サポート。
var
、let
、const
キーワードの背後にあるタイプを解決します。名前変更リファクタリングは TypeScript タイプに対応するファイルの名前を変更できるようになりました。
- ReSharper C++ 2016.1 の新機能:
C++ ファイルでの To-do 項目のサポート。
名前変更リファクタリングは C++ ファイルの名前を変更できるようになりました。
サポートされている C++ 言語機能のリストは、一般化されたラムダキャプチャー(C++14)、例外仕様、ユーザー定義リテラル、委譲コンストラクターで拡張されています。
単体テストランナーでの Boost.Test フレームワーク(英語)のサポート。(ReSharper Ultimate 2016.1.1 時点で)Boost バージョン 1.59 および 1.60 のみがサポートされていることに注意してください。
コード生成の改善: ストリーム操作を生成するアクションで、Boost シリアル化関数のスタブを生成できるようになりました:
save()
、load()
、serialize()
また、コードを生成するときにフォーマットオプションが考慮されるようになりました。すべての ReSharper C++ アクションは、ライブラリヘッダーの変更が禁止されました。
ReSharper/ReSharper C++ 10.0
ReSharper ビルドで複数の並列プロセスを使用して段階的にソリューションを構築する機能。
エディターから直接コードスタイル設定を変更する機能。
オプションの括弧のコードスタイルを使用すると、括弧を不要にしたり、括弧を自動的に追加して操作の優先順位を明確にすることができます。
宣言に移動コマンド(Control+B または Ctrl -click)の使用を認識した動作。
更新されたスタックトレースエクスプローラーウィンドウは、タイプをクリック可能なハイパーリンクとして表示し、長い行を折り返すことができ、WinDbg GCRoot ダンプや Visual Studio のコールスタックツールウィンドウの内容など、より多くのタイプのデータを解析します。
Google プロトコルバッファ (プロトブフ) のサポート。
JavaScript サポートの改善: .jsx および .js ファイル内の JSX、プレーン文字列および関連メソッドでの正規表現支援、JSDoc タイプのコーディング支援機能。
交差の種類、共用体の種類、TSX ファイルを含む TypeScript 1.6 の完全なサポート。
NUnit 3.0 Beta 4 のサポート。
ReSharper C++ 10.0 の新機能
コードインスペクション、クイックフィックスなどを含む C99 標準ライブラリのフルサポート。
C++ は、
char16_t
およびchar32_t
組み込み型、浮動小数点型のコンパイル時式などの改善をサポートします。Google Mock メソッドを生成するアクション。
作業の準備時間を短縮しました(すでにキャッシュされたソリューションの場合)。
ReSharper 9.2/ReSharper C++ 1.1
Visual Studio 2015 の完全サポート。
実行構成は、さまざまな起動プロパティを使用してソリューション内のコードを実行およびデバッグできます。
JavaScript と TypeScript の大幅な改善:
Typescript 1.5 のサポート (デコレータ、ES6 互換モジュール、ES6 スタイルのインポート / エクスポート、ローカルタイプ)
TypeScript 1.6 の機能の一部をサポート (たとえば、ジェネレーター、型述語、ジェネリック型エイリアス、抽象クラス、非同期関数のようなエンティティ、待機式)
TypeScript のシンボルの種類に移動
JavaScript の正規表現の支援と TypeScript。
TypeScript 用のインポートシンボル補完 Control+Alt+Space。
TypeScript 用のファイルテンプレート。
ReSharper C++ 1.1 の新機能
Google C++ テストフレームワーク用単体テスト支援
ネームスペースエイリアスの紹介リファクタリング
ReSharper 9.1
Visual Studio 2015 CTP サポートの改善
.NET Framework 4.6 のサポート
TypeScript 1.4 サポート
ECMAScript 6 のサポート
ソーステンプレートは、プロジェクトのコード内で拡張メソッドとして作成することができます。
NuGet ブラウザーを使用すると、NuGet パッケージギャラリーのタイプや名前空間を検索し、選択したパッケージを簡単にダウンロードしてインストールできます。
ビルトインタイプの使用箇所の設定可能なスタイル。
インストーラの改善: サイレントモードおよびマシン単位のインストールモード。
JavaScript の JSDoc のサポートと TypeScript。
依存関係プロパティを一致させ、アイテムをグループに配置する機能と、ファイルおよびタイプレイアウトの他の改善点。
ReSharper 9.0
Visual Studio 2015 CTP のサポート
条件付きアクセス式、式ボディメンバー、イニシャライザ式による自動プロパティなどを含む C# 6.0 のサポート (英語)
C++ のサポートは、ReSharper Ultimate の一部としても入手可能な専用製品 ReSharper C++ にあります。
構文とエラーのハイライト、完了機能、クイックフィックスなどを含む正規表現の支援。
型依存関係図 - 既存のプロジェクト依存関係図を補完する新しいビジュアルコード分析ツール。
TypeScript のサポートの主な改善点:
1.3 までの設定可能な TypeScript 言語レベル。
新しいコードインスペクション(インスペクションは約 300 のコンパイラーエラー、インスペクションはプロジェクトのプロパティに依存)+ 約 100 の新しいクイックフィックス。詳細は、TypeScript のコードインスペクションとクイックフィックスを参照してください。
欠落している名前空間のインポートポップアップ。
コード生成アクション(不足している / 優先するメンバーを生成する、コンストラクターを生成する)
コード補完のパフォーマンス向上と新機能。これで、完成候補にフィルターを適用したり、ソリューション内の既存のパターンに基づいてチェーンを完全に呼び出したりすることができます。
コードスタイル支援の改善: コードインスペクションとコードクリーンアップの両方に共通の構成を持つ多数の新しいコードスタイル環境設定。詳細は、コードスタイルとクリーンアップを参照してください。
SuppressMessage
属性を使用して、特定のタイプまたはメソッドのコードインスペクションの一部または全部を抑制する機能。スコープの修正機能は、より迅速な修正のためにサポートされています。現在、グローバルな修正は、命名規則、コードの冗長性などのために機能します。
「スコープ内で修正」と同様に、一部のコンテキストアクションはより広いスコープで適用できます。
いくつかのキーストロークで ReSharper コマンドを見つけて実行できるアクションにナビゲートする機能。
特定の型を返すすべてのメソッドを見つけることを可能にする API を公開するために移動するアクション。
最近見られた方法とどこでも検索のパフォーマンス向上
新しいビジュアルエディターは、ファイルとタイプのレイアウトパターンの理解と編集を大幅に簡素化します。
JavaScript 単体テストのカスタム HTML ハーネスのサポート。
オプションダイアログで環境設定を検索します。
ReSharper オプションの
ページで、言語と機能セットのサポートを切り替えることができます。選択されたコードブロックに適用されるコードフォーマットルールを表示および設定する機能(JavaScript、TypeScript、C++ でサポートされています)。
ReSharper 8.2
バグの修正とパフォーマンスの改善
TypeScript サポートの改善
ユニットテストランナーの Jasmine 2.0 サポート
ReSharper 8.1
Visual Studio 2013 のサポート
ピーク定義のサポート強化
Visual Studio 2013 のマーカーバーとスクロールバーの統合
ReSharper 8.0
Visual Studio 2013 プレビューのサポート
拡張コード補完機能:
その他のナビゲーションオプション:
拡張機能マネージャーによる簡単なプラグインの発見とインストール
新規リファクタリング:
シグネチャーの変更リファクタリングでメソッド呼び出しに新しい引数を追加するための呼び出し図(プッシュ / プルパラメーターツール)。
アーキテクチャビューによるプロジェクト間の依存関係を探る新しい機能
XAML のサポートの改善
ReSharper 7.1
抽出クラスリファクタリングは VB.NET で利用可能になりました
シグネチャーの変更リファクタリングの名前付き引数のサポート
Unit Test Sessions ウィンドウとユニットテストエクスプローラーウィンドウのクイックユニットテスト検索。
ReSharper 7.0
Visual Studio 2012 のサポート:
カラーテーマのサポート
非同期ソリューションのロード
メトロスタイルのアプリケーション開発と WinRT のサポート
ナビゲーションと検索機能でのプレビュータブ(英語)のサポート
カスタム契約アノテーション属性
コード補完の動作を制御するオプションの追加
単体テストの改善:
NUnit 2.6 と MSTest 11 のサポート
Jasmine と PhantomJS のサポート
新しいコードインスペクションとクイックフィックス。
クイックフィックスグループ
パラメーターの変換リファクタリング
新しいコード生成機能: 部分的なメソッドを生成するおよび等価比較子を生成します。
ReSharper 6.1
Web プロジェクト用のパスマッピング
改善された型階層
テンプレートエクスプローラーウィンドウの新しいインターフェースと改善されたテンプレート共有
VB.NET および ASP.NET MVC 3 (Razor) のローカライズ支援
ReSharper 6.0
Web 開発者向けの改善:
JavaScript サポート
CSS サポート
ASP.NET MVC 3 以前に導入された ASP.NET MVC ASPX ビューエンジンサポートと同様の Razor ビューエンジンのサポート
基本的な HTML のサポート
- 拡張ナビゲーションと検索
XAML のサポートの改善とバグ修正
ReSharper 5.0
- Web 開発用の拡張機能パック:
ナビゲーションおよび生成アクションでのマスターページのサポート。
マスターページの
ContentPlaceHolder
タグに基づくコンテンツタグの生成。ファイル構造とファイルメンバーへ移動の ASP.NET マークアップファイル。
ユーザーコントロール用のナビゲーション、検索および自動インポート機能
マスターページを含む ASP.NET ページ用のライブ、サラウンド、ファイルテンプレート
- ASP.NET MVC サポートパックを含む:
不明な項目のハイライトなど、特殊な構文ハイライト。
専用のコード補完。
アクションまたはコントローラーとの間のナビゲーション。
ページ内での使用から新しいアクションとコントローラーを作成します。
- プロジェクトのメンテナンスとチームワークフィーチャーパック:
フォルダーへ移動、タイプを一致するファイルに移動する、名前空間を調整するなどのプロジェクトレベルのリファクタリング、および更新された安全な削除
プロジェクト階層ビュー。
C# 4 および VB10 を含む Visual Studio 2010 のサポート。
- コード解析の強化:
インスペクションとクイックフィックスをコーディングして、ループから LINQ にアップグレードします。
可能な場合は IEnumerable を使用するようにインスペクションとクイックフィックスをコーディングしてください。
新しく改善されたコードインスペクション。
- その他の拡張機能:
enum メンバーの自動補完。
ローカルスコープ内の未解決シンボルの補完。
ネイティブ NUnit サポート。
Xml フォーマット。
ReSharper 4.5
ReSharper 4.1
Microsoft Visual Studio 2008 SP1 のサポート。
ASP.NET の拡張機能。
パフォーマンスとユーザビリティの向上。
バグの修正。
ReSharper 4.0
LINQ、暗黙的に型指定されたローカルおよび配列、拡張メソッド、自動プロパティ、ラムダ式、オブジェクトとコレクションの初期化子、匿名型、式ツリー、部分メソッドなど、Visual Studio 2008 および C# 3.0 の包括的なサポート。
.NET フレームワーククラスには、ReSharper でコードをより適切に分析できるようにカスタム属性でアノテーションが付けられました。たとえば、フォーマット文字列を渡す場所や、null 値を割り当てることができるかどうかを通知します。これらのカスタム属性を使用して、独自のソースコードや、ソースコードがないライブラリシンボルにアノテーションを付けることもできます。
コードのクリーンアップ - コードの整形の後継です。コードクリーンアップを実行すると、'this' 修飾子の配置、コードの冗長性の削除、自動プロパティへの移行、ディレクティブを使用した最適化など、多数のアクションを即座に適用できます。
すべての ReSharper リファクタリングは C# 3.0 をサポートします。メソッドをインデクサーに変換リファクタリング、インデクサーをメソッドに変換リファクタリング、静的メソッドから拡張メソッドへの変換リファクタリング、拡張メソッドをプレーンスタティックに変換リファクタリング、プロパティを自動プロパティに変換リファクタリング、匿名から名前付き型に変換リファクタリング、メソッドリファクタリングのインライン化を含むリファクタリングファミリーの新しいメンバーが入手可能です。C# 3.0 固有ではないすべてのリファクタリングが Visual Basic 8 で利用可能になりました。
ステートメントの補完 - 必要な構文要素(中括弧、セミコロンなど)を挿入して、次のステートメントを開始する位置に移動する新機能。
コード補完の CamelHumps。基本補完、スマート補完、インポートシンボル補完の 3 つの補完機能はすべて、大文字のみを入力して任意の記号を完成させます。
テンプレートエクスプローラーおよびテンプレートエディター -ReSharper が提供する 3 種類のテンプレートを表示、管理、編集するための再設計されたツールのセット。今後は、専用ウィンドウでテンプレートを管理および分類し、Visual Studio コードペインで直接編集できるようになります。
最近の編集 - 最近変更したファイルとシンボルを表示する既存の移動機能に似たドロップダウンリスト。
型 / シンボル / ファイルの機能を使用すると、検索結果ウィンドウに目的のタイプ / シンボル / ファイルを表示できます。
To-do 項目は識別子と文字列で検出可能になりました。
ファイル構造、ファイルメンバーに移動、次へ / 前のメンバーへはすべて XML と XAML をサポートします。
関連項目へのハイパーリンク、バック / フォワードナビゲーション、「さらに読む」リンク、ソースへのナビゲートなど、クイックドキュメントの大幅な改善
Visual Studio エコシステムとのスムーズな対話。フレームワーク、アドイン、バージョン管理クライアント、および Visual Studio エコシステムの他のメンバー(.NET Compact フレームワーク、BizTalk、Silverlight が含まれています)との相互作用の質は、新しいレベルにもたらされます。
ASP.NET のスピードアップ。ReSharper 4.0 は分析のスピードを大幅に向上させ、結果として ASP.NET ページの編集を可能にし、より多くの Web 開発者が ReSharper が提供する優れたツールセットの恩恵を受けることを可能にします。
ReSharper 3.1
Web ベースのライセンスサーバーのサポート。
バグの修正。
ReSharper 3.0
VB.NET の包括的なサポート: 汎用コードアシスタンス、コード補完、多くの重要なコードリファクタリング、コード生成、ライブテンプレートなど。
エラーに注意を向けるだけでなく、最適化されたコードの使用方法を提案すること以外にも、コード提案による本格的な C# コード分析
クロスランゲージ機能: C# と VB.NET が混在したプロジェクトの場合、ReSharper はコードのすべての部分をスムーズに連携させ、コードを簡単にナビゲートできます。
さまざまなターゲットユーザー向けの 3 つのエディションの ReSharper (C#、VB.NET、Full)。
To-Do リスト : 特定のパターンで作業項目を作成し、それらの間をナビゲートします。
タイプメンバーのプレビュー : 選択したタイプの既存メンバーを、すべてまたは多態的にのみプレビューすることができます。
自動メンバーの並べ替え: オプションダイアログでメンバーの順序を定義します。
シンボルに移動を使用すると、任意のファイルメンバーの名前による堅牢なソリューション全体の検索が可能です。
特定の位置で警告を無効にする : 「警告を無効にする」というコンテキストアクションを設定し、必要に応じて適用します。
ユニットテストエクスプローラーウィンドウ : 単体テストの実行とデバッグにおいて比類のない柔軟性。
XML と XAML のサポート
関連ページ:

テキストに移動
3 回続けてを押すと、' どこでも検索 '、' 型へジャンプ '、' テキストに移動 ' コマンドを繰り返し実行できます。このナビゲーションコマンドを使用すると、ソリューションのソースファイルおよびテキストファイル内の任意のテキストをすばやく見つけてナビゲートできます。サポートされている言語のファイル以外にも、ソリューション内の任意のテキストファイル内のテキストを見つけることができます。このコマンドは一般に Visual Studio のネイティブファイル内検索コマンドよりはるかに高速に動作し...

インレイヒント
インレイヒントは、コードの可読性を向上させる構成可能なエディター装飾です。プッシュツーヒントモード:インレイヒントは役立つ場合がありますが、一方で、エディタースペースを取り、場合によっては冗長に見えることがあります。プッシュツーヒントモード(デフォルトで有効になっている)を使用できます。ヒントを非表示にして、Ctrl キーを押したままにすることで必要な場合にのみヒントを表示できます。このモードでは、Ctrl を 2 回押して、現在のエディタータブのヒントを切り替えることもできます。インレイヒントを...

動的プログラム分析 (DPA)
動的プログラム分析(または DPA)は、ReSharper のバックグラウンドで実行され、さまざまなメモリ割り当ての問題についてアプリケーションをチェックするプロセスです。現在、大小のオブジェクトヒープ(LOH と SOH)へのクロージャと割り当てをチェックしています。DPA は、ReSharper でソリューションを実行するたびに自動的に開始されます。割り当てデータはほとんどオーバーヘッドなしで収集されます。0 から 2 パーセントのスローダウンを得るさまざまな実際のソリューションで DPA...

IL Viewer ウィンドウ
このウィンドウは現在のドキュメントを Microsoft 中間言語 (MSIL) として表示します。ウィンドウの内容はエディターと同期できます。コードビューアーで利用可能なナビゲーションアクションのほとんどは IL Viewer でも利用可能です。IL Viewer ウィンドウでは、命令の上にマウスを置いたときのツールチップの IL 命令の説明を知ることができます。説明は MSDN と ECMA-335 標準(パーティション III: CIL 命令セット)から取ったものです。ツールバーコントロール:エディ...

アセンブリエクスプローラーウィンドウ
アセンブリエクスプローラーを使用すると、複数のアセンブリを開いて、開いているアセンブリとフォルダーのリストを保持できます。開いているすべてのアセンブリをトラバースして探索できます。アセンブリノードを展開すると、アセンブリ内の名前空間が一覧表示されます。これは、型と型のメンバー、さらにアセンブリ参照にさらに展開できます。任意のタイプをダブルクリックして逆コンパイルしたり、シンボルサーバーからソースをフェッチしたりできます(設定によって異なります)。さらに、アセンブリエクスプローラーには、現在の型の...

ファイルメンバーに移動
このコマンドを使用すると、現在のドキュメント内の特定のメソッド、フィールド、プロパティ(ソースファイルまたは逆コンパイルによって再構築されたファイル)にすばやく移動できます。このコマンドを使用して、現在のドキュメント内のテキストを検索することもできます。テキストの一致は、一致するメンバーの後にポップアップに表示されます。ファイルメンバーまたはテキスト出現箇所に移動するを押すか、メインメニューからを選択します。あるいは、を押して、ポップアップでコマンド名を入力して、そこで選択することもできます