ReSharper バージョン履歴
このトピックでは、ReSharper の以前のバージョンのリリースノートを示します。最新バージョンのリリースノートを確認するには、ReSharper 2024.2 の新機能にアクセスしてください。
ReSharper 2024.1
AI コード補完を含む AI Assistant の多数の改善。
Rename リファクタリングのパフォーマンスが向上しました。
命名スタイル設定用の新しい UI。
InspectCode のデフォルトの出力形式は XML から SARIF に変更されます。XML 出力は、
-f="xml"
パラメーターを使用して引き続き使用できます。破棄分析での
Task<T>
およびValueTask<T>
のサポート。WebCIL パッケージ形式サポートで .NET アセンブリを逆コンパイルする機能。
アセンブリ差分専用のツールウィンドウ。
C++ の新機能:
コールトラッキングは発信呼び出しチェーンをサポートするようになりました。
C++20 モジュール: パフォーマンスが向上し、内部モジュールパーティションのサポートが向上しました。
Slate UI フレームワークのサポート。
補完では、C++ コード内のリソース名を補完するときにアセットパスが提供されます。
HLSL シェーダーコードでインターフェースがサポートされるようになりました。
clang-format 統合の改善には、GNU 組み込みスタイルと
IndentAccessModifiers
およびDisableFormat
形式スタイルオプションのサポートが含まれます。シグネチャーの変更には、ポインター、参照、値型間でパラメーター型を変更する機能など、新しい機能が用意されています。
ドキュメントコメント内の Grazie スペルチェック。
ドキュメントコメントのスタイルを構成するための新しい設定 (
)。新しいフォーマッタオプション : 「goto ラベルの後に改行する」、「goto ラベルをインデントする」、列挙子の配置、空の中括弧のフォーマットの「変更しない」。
ReSharper 2023.3
AI コード補完を含む AI Assistant の多数の改善。
文法とスペルチェックエンジンを更新しました。
単体テストの作成は AI でテストコンテンツを生成できます。
エイリアスの使用のサポートが改善されました (C# 12 以前と C# 12 の両方)。
専用コードインスペクションおよびインレイヒントを含む、C# 12 インターセプターのサポート。
新しいコードアノテーション属性 : [MustDisposeResourceAttribute]、[HandlesResourceDisposalAttribute]、[IgnoreSpellingAndGrammarErrorsAttribute]、[TestSubjectAttribute]、[MeansTestSubjectAttribute]。
エンティティフレームワークのサポートの改善: EF 関係ダイアグラムと新しいコードインスペクション。
ファイルヘッダースタイルのテンプレートを作り直しました。
ローカル使用箇所とグローバル使用箇所を相互に変換し、ローカル関数を抽出するためのリファクタリングの UX が更新されました。
パフォーマンスの向上。例: ターゲット型オブジェクトの作成が多数ある場合、型 / コンストラクターの使用箇所の検索が高速になり、リファクタリングなどの他の機能も高速になります。
組立差分の改善: NuGet パッケージ、フォルダー、アーカイブの比較。構成可能な差分モード。Beyond Compare、WinMerge、P4Merge、Meld を差分ツールとして自動検出します。
アセンブリエクスプローラーウィンドウの改善: NuGet パッケージ内のすべてのファイルとフォルダーを表示します。コンテンツのサイズとタイプ (ファイル拡張子) Win32 リソースノードを表示します。
C++ の新機能:
非アクティブなプリプロセッサーブランチ内のコード補完。
使用箇所の検索は、マクロ本体と非アクティブなコードでの可能な使用箇所を示します。
__pragma(pack)
構文、さまざまな clang 組み込み関数、特別なプリプロセッサー演算子__has_cpp_attribute
、およびrestrict
型修飾子のようないくつかの新しい C99 および C23 機能のサポート。Unreal エンジン:
UFUNCTION
マクロでマークされていない動的デリゲート関数用の新しいインスペクション。Generate hash function
アクションは、Unreal Engine スタイルでコードを生成するようになりました。
HLSL テンプレートのサポート。
インスペクションを調整するための
[[jetbrains::...]]
接頭辞が付いた属性。新しい
Generate destructor
アクション。バンドルされている clang 形式および clang-tidy バイナリが Clang 17 に更新されました。
#pragma region
および#pragma endregion
のサポート: インレイヒント、一致するディレクティブ間を移動する機能、ファイル構造ウィンドウでの折りたたみとナビゲーション。新しいインスペクション: C++20 モジュールでの
export
キーワードの誤った使用のために、条件式を簡略化、複数文字の文字リテラル、およびインスペクションのセットにすることができます。
ReSharper 2023.2
C# 12 プレビューサポート: プライマリコンストラクターは、非レコードクラスおよび構造体をサポートします。
LINQ 式の中間結果に対する対話型デバッガーの装飾。
新しいコードインスペクションと、報告および修正する対応するクイックフィックス:
冗長な nullable ディレクティブ、'using' ステートメントによってキャプチャーされた変数の戻り、'using' でキャプチャーされたオブジェクトによって生成されたタスクの戻り、破棄と
_
という名前の変数の競合。タプルと分解パターンのコンポーネント名、破棄型名、
#pragma
で無効または復元された警告の説明、ブロックの最後にローカル関数によって作成された暗黙的なreturn
またはcontinue
に対する C# の新しいインレイヒント。var
から基になるタイプへのナビゲーションが改善されました。生の文字列のサポートの改善 (新しいコードインスペクション、クイックフィックス、コンテキストアクション、および入力支援)
Entity Framework 関連のコンテキストにおける新しいコードインスペクションとナビゲーションアクション。
クラスの単体テストスタブを生成し、テストとテストされたコード間を移動する機能。
C++ の新機能:
安全な削除リファクタリング
C++23 サポート:
if consteval
、静的operator()
およびoperator[]
、および C++23 標準ライブラリモジュール。C++20 サポート:
[[no_unique_address]]
属性、char8_t
の C++20 欠陥レポートの実装、および.cppm
ファイルをモジュールインターフェースとして認識し、プロジェクトフォルダーの外にあるモジュールの実験的サポートを含む、洗練されたモジュールサポート。Unreal Engine : ブループリントのインデックス作成のパフォーマンスの向上、標準の割り当てセマンティクスによるラッパータイプのスマートコンプリーション、
UE_INLINE_GENERATED_CPP_BY_NAME
マクロのサポート。新しいインスペクション: 冗長な逆参照とアドレス取得、冗長なテンプレート引数、ISO C++ は、基になる型のない前方
enum
宣言を禁止します。概念やトレイトによってタイプが制限されている場合のコード補完を改善しました。
再帰呼び出しのガターマーク。
より一貫性があり、より簡単な宣言に移動。
バンドルされている clang-tidy および clang-format バイナリを更新しました。
テンプレートパラメーター制約を
requires
-clause に移動する、またはその逆のコンテキストアクション。GCC および Clang コンパイラー、libc++/libstdc++ 標準ライブラリとの互換性が向上しました。
ReSharper 2023.1
たとえば、新しいコードインスペクションおよびクイックフィックスは、空の領域を削除し、
span.SequenceEquals("stringLiteral")
をspan is "stringLiteral"
に置き換え、共通のプロパティパターンを抽出し、コレクションルックアップの数を減らします。null チェックパターンの構文スタイル (
not null
対{ }
)。単体テストデータ属性のパラメーター名のヒント。
特定の変換パターンの型変換ヒントを非表示にする機能。
テストの実行時に、ユニットテストエクスプローラーおよび単体テストセッションのテキストフィルターが考慮されるようになりました。
Rename リファクタリングを使用してファイルの名前を変更できます。ファイルに同じ名前のタイプが含まれている場合は、それに応じてタイプの名前を変更できます。
CSS の生産性向上機能の積極的な開発は中断されており、これらの機能はデフォルトで無効になっています。有効にするには、ReSharper オプション Alt+R, O の ページで対応するチェックボックスを使用します。
C++ の新機能:
受信コールの場合は呼び出し追跡。
ツールチップとクイックドキュメントポップアップでのマクロ置換のプレビュー。
C++20 モジュールの更新:
C++23 機能のサポート:
__VA_OPT__
のサポート。単純または複雑なテストを追加するためのファイルテンプレート。
シェーダーソースディレクトリのマッピング。
UINTERFACE
ライブテンプレート。デリゲート、
TFunction
、またはTFunctionRef
引数が必要なラムダ式を生成するための新しい補完アイテム。
新しいインスペクション: テンプレートパラメーターは使用されない、
typedef
/type エイリアスは使用されない、冗長な基本クラス初期化子、型HRESULT
/NTSTATUS
の関数結果を使用する必要がある、const
参照による値パラメーターの受け渡し、クラステンプレート引数推定の失敗。範囲ベースの
for
ループの評価や共用体のサポートの向上など、コンパイル時の評価エンジンが改善されました。リファクタリングのコンテキストアクション。
未解決の識別子からパラメーターを作成するクイックフィックス。
1 行の関数を抽出する必要がある場合、選択がアクティブでないときにメソッドの抽出リファクタリングが現在の行を抽出するようになったため、行全体を選択する必要がなくなりました。
シグネチャーの変更は、キャレットが以前のように関数の名前だけでなく、関数シグネチャーのどこにある場合でも呼び出すことができるようになりました。
新しい後置テンプレートを使用すると、
std::as_const
またはAsConst
を使用してconst
参照をすばやく作成できます。/*
で始まるコメントは、デフォルトでは*/
で自動的に閉じられなくなりました。新しい /* の後に */ を挿入の入力支援オプションを使用して、終了コメントの自動挿入を有効にすることができます。デフォルトでは、
#include
ディレクティブをソートするときにファイルパスがフォルダーの前に配置されます。
ReSharper 2022.3
ARM64 上で動作する Microsoft Visual Studio の早期サポート。
C# 11 サポート: C# 11 ファイルローカル型、静的仮想メンバー、
ref
フィールド、scoped
キーワード C# 11 UTF-8 リテラル。符号なし右シフト>>>
演算子を使用する提案、Span.SequenceEqual("literal")
の代わりにパターンマッチングを使用する提案、C# 11 生文字列内の言語インジェクションなど。.NET 7 [StringSyntaxAttribute] と、言語インジェクションおよびコード補完の異なる構文のサポート。
GraphML 形式の型依存関係ダイアグラムとプロジェクト依存関係ダイアグラムのインポート。
インストールされた拡張機能の自動検証。
逆コンパイラーの改善: 汎用属性、インターフェースの
static abstract
およびstatic virtual
メンバー、ユーザー定義のチェック演算子、符号なし右シフト演算子。C++ の新機能:
C++20 モジュールの実験的サポート。
clang 形式のフォーマットエンジンでコードをフォーマットおよび再フォーマットする機能。
C++ のサポート:
[[nodiscard]]
属性の C++20 バージョン:[[nodiscard("should have a reason")]]
関数宣言で呼び出し規約を指定する GNU スタイル。
__atomic*
および__sync*
GCC ビルトイン。#pragma pack
ディレクティブ。改善されたコンパイル時評価は、あらゆる種類のコンストラクターの評価や指定された初期化を含む、さまざまな形式のオブジェクト初期化を正しく処理するようになりました。
emplace
-like およびmake
-like 呼び出しのパラメーター情報とインレイヒントは、コンストラクター呼び出しを意味するすべての関数で使用できるようになりました。
clang- きちんとした統合の改善。
パラメーター情報およびその他のツールヒントの関数の起源。
条件の読みやすさを向上させるコンテキストアクション。
ReSharper 2022.2
C# 11 プレビューのサポート: チェック演算子、リストパターン、必須メンバー、生の文字列、チェック演算子、符号なし右シフト、スパンパターンマッチング、自動デフォルト構造体
[CodeTemplate] 属性に基づく構造検索と置換パターンと置換テンプレートは、目的のスコープ (ファイル、プロジェクト、ソリューション) に適用できます。
アクションリスト (Alt+Enter) から、ソリューション全体のリファクタリングを利用できます。メンバー署名のシグネチャーの変更、変換パラメーター、プロパティをメソッドに変換。シグネチャーおよび最初のパラメーターの静的メソッドから拡張メソッドへの変換。
アセンブリエクスプローラーウィンドウの ReadyToRun および NGen アセンブリ専用のプレゼンテーション機能。
JavaScript、TypeScript、JSON の生産性向上機能の積極的な開発は中断されており、これらの機能はデフォルトで無効になっています。有効にするには、ReSharper オプション Alt+R, O の ページで対応するチェックボックスを使用します。
C++ の新機能:
Unreal Engine のインデックス作成のパフォーマンスが向上しました。
ブループリントのサポート (英語) : 新しいインレイヒントとインスペクション。
スペックテストのサポート。
コード補完リストのウィジェットメタデータ指定子。
エラーレンダリングの改善: ツールチップでの構文のハイライトと、より正確なエラーのハイライト範囲。
Boost.Test のサポートを更新し、データ駆動型テストケースの問題を修正しました。
Unreal Engine
Emplace
呼び出しを含む、emplace
およびmake
-like 関数呼び出しの処理が改善されました。ドキュメント化するエンティティの前にある
/**/
コメント内で Enter を押して、ドキュメントスタブを作成します。「パブリックインクルードディレクトリ」および「すべてのヘッダーファイルはパブリック」プロジェクトプロパティのサポート。
同梱 Clang-Tidy バイナリが Clang 14 に更新され、新しいチェックが追加されました。
ReSharper 2022.1
C# 11 のサポート: 一般的な属性。
を使用してグローバルに抽出 / インライングローバル使用リファクタリング。
内の移動されたタイプとともにプリプロセッサーディレクティブを移動するためのサポート。タイプを別のファイルに移動リファクタリング。
ASP.NETCore のコンベンションベースのルーティングサポート。
構文スタイルの検出と自動構成。
[MemberNotNull]
および[MemberNotNullWhen]
アノテーションは、null 許容参照型を使用しないプロジェクトでサポートされるようになりました。null 許容参照型のサポートが改善されました。
XML ドキュメントファイルの名前とは異なる名前のアセンブリ(
System.Private.CoreLib
など)を含む、プラットフォームアセンブリの XML ドキュメントコメント。逆コンパイルされた / メタデータビューファイルヘッダーの XML ドキュメント。
アセンブリエクスプローラーウィンドウで転送されるタイプ
インターフェースや列挙型などのシーケンスポイントのないタイプの PDB ナビゲーション(シンボルファイルからのソース)が改善されました。
アセンブリおよびポータブル PDB のメタデータを探索する機能。
InspectCode コマンドラインツールは、静的解析結果交換形式(sarif)でインスペクション結果を生成できます。
C++ の新機能:
クイックドキュメントには、UnrealEngine のドキュメント(英語)へのリンクが含まれるようになりました。
名前変更リファクタリングは、
U
とI
の両方のインターフェースクラスを更新するようになりました。デリゲート関数の改善されたコード生成は、署名からのパラメーター名を置き換えます。
ユニットテスト :
Catch2 v3 および最新バージョンの GoogleTest、Boost.Test、doctest の更新。
ReSharper C++ は、暗黙的なコンストラクター呼び出しの処理に優れているため、次の場合の検索およびナビゲーション機能が向上します。
標準機能と非現実固有の機能の両方を介したスマートポインタの作成
emplace
- コンテナーメソッドのようにstatic_cast
および c スタイルのキャスト式。
C++20 指定の初期化子を使用した集約初期化のためのボイラープレートコードの複数行生成の改善。
C++20
requires
-expressions のフォーマットを更新しました。新しいファイルの最後の改行オプション。
ReSharper 2021.3
Visual Studio 2022 のサポート。
ファイルスコープの名前空間、
CallerArgumentExpression
属性、グローバル使用ディレクティブの専用機能を含む C# 10 サポート。null 許容参照型のサポートの改善。
新しいインスペクションおよびクイックフィックスは、クロージャを使用した静的ローカル / 無名関数の処理、文字列補間の簡素化、オブジェクト初期化子のパラメーターを使用したコンストラクターへの変換、フィールドの一貫性のないロックの検出などに役立ちます。
ソリューション全体の分析の結果を使用して無関係なコードをスキップするようになったため、スコープ内の修正のパフォーマンスが向上しました。
シンボルの種類に移動は、デバッグモードでインターフェース実装に移動します。
積分演算解析はすべての C# 整数数値型をサポートします。
int
、uint
、byte
、sbyte
、short
、ushort
、long
、ulong
非推奨の API のレポートと更新に役立つ [CodeTemplate] 属性。
割り当てのないコードパターンを奨励する [RequireStaticDelegate] 属性。
使用箇所の検索 Alt+F7 は、ユーザー定義の暗黙の変換演算子に対して機能します。
作り直された UI、カスタマイズオプション、コード参照をコピーするための新しいショートカット Control+Alt+Shift+C。
C# フォーマッターのより構成可能なルール。
.globalconfig ファイルを介したコードスタイルとインスペクション構成のサポート。
ReSharper マークと Visual Studio マークを切り替えるオプションを含む継承ガターマークの改善。
[LanguageInjection]
属性を介して、パラメーター、フィールド、プロパティに挿入された言語をマークする方法。キャレットの下の論理演算子と条件演算子のハイライト。
逆コンパイラーの改善: 非同期ディスポーザブル、レコード、レコード構造体のサポート
C++ の新機能:
C++20:
コード補完は、指定された初期化子を使用して集約初期化用の定型コードをすばやく生成します。
新しい標準ライブラリ機能を採用するためのインスペクションの最新化: 任意の標準コンテナー(
std::erase
およびstd::erase_if
)から要素を消去し、要素が連想コンテナー(std::contains
)に存在するかどうかをチェックし、デフォルトの初期化(std::make_shared_for_overwrite
およびstd::make_unique_for_overwrite
)でスマートポインタを作成する関数。
Unreal Engine クラスのすべての事前定義されたテンプレートは、ReSharper ファイルテンプレートのリストで利用できます。
ReSharper は、Unreal Engine スパースクラスデータシステム(英語)で正しく動作するようになりました。
パラメーター情報ツールチップは、定数式の評価結果を表示します。
クイックフィックスを備えた新しいインスペクション: ラムダ宣言子の冗長パラメーターリスト、冗長な精巧な型指定子、For ループは while ループに置き換えることができます。単一クラスの特殊化を含む名前空間定義、キーワード
throw
が欠落している可能性があり、[[nodiscard]]
は戻り値、抽象最終クラスはfinal
またはsealed
とマークされ、非オーバーライド仮想関数はfinal
またはsealed
とマークされます。ファイル構造は、修飾名に同じ修飾子を持つシンボルをグループ化します。
シグネチャーの変更を使用すると、
[[nodiscard]]
属性を制御できます。C サポート: C11
_Generic
式、typeof
GNU 拡張。宣言に移動は、
goto
ステートメントから対応するラベルに移動し、非アクティブなプリプロセッサーブロック内の宣言を検索できます。///
の入力に関する Doxygen コメントの生成。同梱 Clang-Tidy バイナリが Clang 13 に更新され、新しいチェックが追加されました。
ReSharper 2021.2
null 可能な参照型は、以下をサポートします。
新しいインスペクション、クイックフィックス、コンテキストアクション(冗長な null 許容警告抑制など)。
[NotNullIfNotNull("param")]
属性のパラメーター名のサポートが改善されました。ジェネリクスのサポートが改善されました。
null 可能性を変更するための新しいリファクタリング。
ファイル / プロジェクト / ソリューションで null 許容の警告抑制を見つけるための新しいアクションは、抑制式から利用できます。
ソースジェネレーターはサポートします
VB.NET でのソースジェネレーターのサポート
ソースで生成されたファイルがソリューション全体の分析でサポートされるようになりました。
関連するすべての ReSharper 機能は、ソース生成ファイルでサポートされています。コードインスペクション、ナビゲーション機能、リファクタリング、インレイヒントなど。
使用箇所の検索でソース生成ファイルからの結果のサポートが改善されました。
新しいインスペクション、クイックフィックス、コンテキストアクション。例:
new EventArgs()
をEventArgs.Empty
に置き換える提案。生成されたコードを無視するための .editorconfig の
generated_code
プロパティのサポート。インターフェースメンバーの使用時にデバッグモードで呼び出された宣言に移動は、現在のフレームで使用されている実際の実装に移動できます。
派生シンボルに移動は、移動元のメンバーを非表示にする派生クラスのメンバーを表示します。
InspectCode コマンドラインツールは、分析を開始する前に、NuGet パッケージを自動的に復元し、ソリューションを構築します。
Razor の CPU 負荷の高いコーディング支援機能をオフにするオプション。
ネーミングスタイルの改善: レコード、拡張メソッド、キャッチ変数のカスタム命名規則のサポート。
多くのローカル関数とクロージャを持つメンバーのコード分析の高速化。
組み込みの逆コンパイラーの改善:
.NET Core 3.0、.NET 5、.NET 6 プレビュー(バンドルヘッダーバージョン 1.0, 2.0,, 6.0)の単一ファイルアプリのサポート(「単一ファイルの生成」オプションで公開された実行可能ファイル、自己完結型とフレームワーク依存の両方)。
プラットフォーム固有の実行可能ファイル(アプリホスト ; '単一ファイルの生成' false)をアセンブリエクスプローラーに追加できます。対応するマネージアセンブリは、アプリのホストノード内に表示されます。
非同期ストリームのサポート(
async
イテレーター、await foreach
)は、逆コンパイラーによってサポートされます。
C++ の新機能:
関数のインライン化リファクタリング
新しい不変性インスペクション: パラメーターは
const
を参照することができ、パラメーターはconst
へのポインターにすることができ、変数はconstexpr
にすることができます。新しい近代化インスペクション:
tie(..)
の代わりに構造化バインディングを使用できます。テンプレートエイリアスまたは変数テンプレートを使用して型トレイトを簡略化できます。std::size
を使用できます。memset
の代わりにゼロ初期化を使用できます。Unreal Engine5 のサポート。
コード補完は、利用可能なモジュールとプラグインのリストを提案するようになりました。
インスペクションと、不足しているモジュールとプラグインの依存関係のクイックフィックス。
ReSharper は、オーバーライド関数を生成するときに
Super
呼び出しを挿入するようになりました。Unreal Engine コードベースのインデックス作成が 10% 高速化。
任意の文字列を C++11 生文字列リテラルに、またはその逆に変換するコンテキストアクション。
クイックドキュメントには、cppreference.com(英語) へのリンクが含まれるようになりました。
関数定義のコード生成を構成するための新しい設定。
同梱 Clang-Tidy バイナリが Clang 12 に更新され、新しいチェックが追加されました。
ReSharper 2021.1
レコードタイプは、インターフェースの抽出リファクタリング、「スーパークラスの抽出」リファクタリング、使用箇所の検索、複数のインスペクション、クイックフィックス、コンテキストアクションなど、ほとんどの機能でサポートされています。
新しいインスペクション、クイックフィックス、コンテキストアクション。例:
!()
をis not
に変換する提案。ネーミングスタイルの改善点:
より具体的なルールの優先度が高くなるように、ユーザールールを並べ替えます。
EditorConfig との間でユーザールールを読み書きします
タプルコンポーネントの名前を変更するための新しいリファクタリング
ASP.NET Core ルートテンプレートの構造ナビゲーション、リファクタリング、インスペクション、クイックフィックス
タプル変換の型変換ヒント。
「Windows エクスプローラーに移動」アクション
次の新しいフォーマッタ設定:
ターゲット型の
new()
括弧の前後のスペース代入演算子の前に折り返
label ステートメントのインデント。
ユニットテストの改善
JavaScript および TypeScript テストと QUnit バージョン 2.14.0 サポートのパフォーマンスが向上しました。
Visual Studio テストアダプターの拡張性(英語)を使用するカスタムテストフレームワークのサポート。
Visual Studio 2019 のユニバーサル Windows プラットフォームプロジェクトでの MSTest のサポート
生成されたプロセスのより良い制御
NUnit の
AutoFixture
ライブラリのコードインスペクションします。
ファイルレイアウトパターンの新しい制約
Body
により、ブロック本体のメンバーと式本体のメンバーを区別できます。FQN をコピーするでは、GitHub リンクをコピーすることもできます。
C++ の新機能:
C++ のサポート:
非型テンプレートパラメーターのクラス型
C++20 クラステンプレート引数推論ルール
関数型の一部としての
noexcept
コルーチン用の新しいコード補完アイテムは、基本コード補完と、接尾辞補完テンプレート
co_await
、co_yield
、co_return
の両方で使用できます。
Unreal Engine5 の初期サポート
RIGVM_METHOD
リフレクションマクロのサポートCast
接尾辞テンプレート
インスペクション、クイックフィックス、コンテキストアクションを伴う構文スタイル設定のセット。
コードのクリーンアップの更新: 新しいコードクリーンアップタスク、クリーンアップ選択コンテキストアクション。
新しいインスペクション: テンプレート引数を推測できる、変数を内部スコープに移動できる、冗長キャスト式。
変換エラーの新しいクイックフィックス。
集約初期化ヒントのストップリストと個別のオプションページ。
ReSharper 2020.3
C# 9 のサポート:
トップレベルのステートメント
ネイティブ int
ターゲット型の条件式
静的ラムダ
DynamicallyAccessedMembersAttribute
サポート初期化のみの setter
with- 式とレコード
ローカル関数の属性
ラムダ破棄パラメーターのサポート
ソースジェネレーター
ターゲット型
new
共変リターン
拡張部分メソッド
拡張
GetEnumerator
初期関数ポインタ型のサポート
テキストに移動でのあいまい検索。
インレイヒントの改善: プッシュツーヒント、型変換ヒント、XAML ヒントのヒューリスティックとコンテキストメニューの改善、フォントサイズの変更機能、設定ページの作り直し。
新しい C# 構文スタイル: 「new()」と「新しい T()」およびデフォルト 'vs' デフォルト(T) '。
Avalonia フレームワークのサポート。
単体テスト: エディターから直接、選択したターゲットフレームワークを使用してテストを実行します。
構文 - 識別子のツールチップの色付け。
CleanupCode コマンドラインツールコンソールツールは、ソリューションファイルを指すことなく、指定されたファイルまたはフォルダーのセットで実行できるようになりました。
プライベートソースリンクのサポート。
逆コンパイラーの改善: 静的ローカル関数、トップレベルステートメント、ローカル関数の属性、構造体の読み取り専用インスタンスメンバー。
IL Viewer ウィンドウ : 同期とコンテキストのハイライトの改善。
アセンブリエクスプローラーウィンドウ : トップレベルのエントリポイントアイテム(プレゼンテーション、ダブルクリック / コンテキストメニューナビゲーション、プロパティ)。
ライブラリコードのファイルメンバーに移動は、外部ソース(逆コンパイルされたコード / シンボルファイルからのコード / メタデータビュー)の表示モードを保持します。
TypeScript のサポート: nullish 合体とオプションの連鎖
C++ の新機能:
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 バイナリが Clang 11 に更新され、新しいチェックとコンパイラー診断が追加されました。
/external:*
コンパイラースイッチのサポートCatch2 サポートの更新
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 プロジェクトモデルのサポートが導入されたことにより、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 で複数行の // コメントを挿入、引用符で囲まれたインクルードのみを潜在的なメインヘッダーと見なす
新しいファイルテンプレート : ソースファイルとヘッダーファイル
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+/
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- きちんとした統合の改善点:
バンドルされている clang-tidy バイナリがバージョン 9 に更新され、多数の新しいチェックが追加されます。さらに、ソースファイルの変更を妨げなくなりました。
インスペクションメニューから Clang 警告を無効にできるようになりました。
特定の clang-tidy 構成ファイルを使用するための新しい設定 (構成を文字列として指定した設定の代わりに)
フォーマッタの改善: .clang-format ファイルへのフォーマットオプションのエクスポート、抽象宣言の
ptr
およびref
の前のスペースのオプション。コードハイライトエンジンのいくつかの改善により、再ハイライトがより高速になりました(関数のボディが変更された後、ボディ自体のみが再分析されます)。
ラムダキャプチャーリストに変数を追加するのに役立つ新しいクイックフィックス。
UE スマートポインター(
TSharedPtr
、TSharedRef
、TWeakPtr
、TUniquePtr
)は、std::shared_ptr
/unique_ptr
と同様にサポートされます(たとえば、パラメーター情報、コード分析、および後置補完によってサポートされます)。UCLASS
のnew
後置テンプレートは、適切なファクトリ関数呼び出しに展開されます。新しい
USTRUCT
/UCLASS
/UENUM
/UENUMCLASS
ライブテンプレートが利用可能です。Unreal Engine 4 エディターで「Visual Studio プロジェクトのリフレッシュ」アクションを実行した後、Visual Studio がハングすることはなくなりました。
いくつかのライブテンプレートは、対応するキーワードに一致するように名前が変更されました(たとえば、
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 Studio 2019 のサポート。
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 パッケージキャッシュからアセンブリを読み込み、アセンブリの PDB の内容を読み取り可能な XML ファイルで表示できます。
ReSharper C++ 2017.3 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
ほぼ数千の新しい Clang コードインスペクション :611 Clang Diagnostics、78 Clang Static Analyzer Checks、202 Clang-Tidy チェック。
新しいクイックフィックスとコンテキストアクション。
コード分析: オートファンクションとラムダのリターンタイプの控除、明示的なテンプレートのインスタンス化のサポートの改善、ネイティブ C++ イベント処理 MS エクステンション(英語)のサポート。
C++17 機能のサポート: 構造化バインディング宣言、インライン変数、
constexpr
ラムダ。Catch2(英語) サポート (Catch ユニットテストフレームワークの新バージョン)
ReSharper/ReSharper C++ 2017.2
Visual Studio 2017 での .NET Core 2.0 プロジェクトのサポート 15.3。
名前で移動するコマンドは、キャメルケース識別子内の誤った語順やスペルミスを処理できます。また、引用符内の完全一致クエリもサポートします。
C# 7.1 のサポート: 推定値タプルコンポーネント名、デフォルトリテラル、非同期 Main。
近くのファイルに移動 — 新しいナビゲーションコマンド。
新しいタイピング支援機能: NotNull/CanBeNull アノテーションを追加すると式のボディをブロックボディのメンバーに変換します。
get-only プロパティを持つインターフェースを実装するときにプロパティを変更可能にする新しいオプション。
型コンストラクターの生成時にパラメーターをオプションにする新しいオプション。
例外とアサーション用の null チェックルーチンの生成をカスタマイズするための新しいオプションページ( )。
XML は言語インジェクションでサポートされています。
より多くのコンテキストアクションと
<inheritdoc/>
をサポートするクイックフィックス。クイックドキュメント Control+Q と、スコープ付き NPM パッケージの補完が、プロジェクト構成ファイル(project.json、package.json、bower.json)で使用できるようになりました。
組み込みのデコンパイラーの改善: ソースリンク(英語)を使用してポータブル PDB(英語) で参照される、アセンブリの元のソースコードを取得する機能。ナビゲーションコマンドと検索コマンドのいずれかが 1 つのメソッド内で複数の一致に終わった場合、ReSharper はそれらすべてを検索結果に表示するようになりました。
ReSharper の機能を使い始めるのを手助けするための対話的なチュートリアル(
)。改善された TypeScript/JavaScript サポート:
TypeScript 2.3 の機能は、非同期イテレータ、オプションジェネリクス、ステートレス JSX コンポーネントのオーバーロード解決、オブジェクトリテラル用のコンテキスト
this
、--strict
オプションのサポートを最終的にサポートしました。TypeScript 2.4 の機能を完全にサポート: 文字列値(または混合文字列 / 数値値)を持つ列挙型、文脈型の戻り値からの一般的な推論、一般的なコンテキスト署名。
インライン / インライン型エイリアスリファクタリング
Angular 入出力のエイリアスと属性ディレクティブのサポート、NPM を介して追加された Angular 2 コンポーネントのサポート、Angular 4 構文のサポートの改善
使用箇所の検索および Rename リファクタリングのマッピングされた型メンバーのサポートが改善されました。
ReSharper C++ 2017.2 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):
命名規則の違反を検出して修正する機能。
コード補完のフリー関数を非表示にするオプション。
C++11 からの拡張フレンド宣言のサポート。
C++17 のイニシャライザーによる選択文のサポート
式の SFINAE サポート
ReSharper/ReSharper C++ 2017.1
Visual Studio 2017 の完全サポート。
選択したプロジェクトを完全に無視することで大規模なソリューションのパフォーマンスを向上させる新しいオプション。ReSharper オプション Alt+R, O の ページで構成できます。
検索結果ウィンドウの改善: 使用箇所の種類によるグループ化(C# と C++ の両方)、フィルターの改善、引用符を使用した完全一致による検索の可能性、見つかった使用箇所のエラーハイライト。
プレビュータブで移動した各新しいファイルを開くオプション。ReSharper オプション Alt+R, O の ページで設定できます。
フォーマット規則のコンテキスト構成は C# で利用可能になりました。
貼り付けられたコードの自動フォーマットには ReSharper のフォーマット設定があります。
他のフォーマッタの改善点: コードの再フォーマット時のインデントの自動検出、コンマファーストスタイルのサポート、C# の単一の
case
ステートメントでの改行のオプション、HTML、CSS、XML ファイルの末尾に改行を追加するオプション。単純型メンバーの本体のコードスタイル。
ステータスインジケータのコンテキストメニュー、これはコードインスペクションの多くのオプションとコマンドへの素早いアクセスを提供します。
コードのクリーンアップの UX が作り直され、コードクリーンアップダイアログでカスタムクリーンアッププロファイルを作成および編集できるようになりました。
Visual Studio 2017 で .csproj ベースのプロジェクトの単体テスト支援(3 月 28 日以降の Visual Studio 2017 アップデートが必要)
Razor タグヘルパーのルーティング属性コード補完、ナビゲーション & amp; 検索コマンド、Rename リファクタリングのサポート。
改善された 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 Core プロジェクトを含む 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 の Tab および Shift + Tab を使用した構造ナビゲーションと 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++ で動作するようになりました。
コード分析の重要な最適化。例: この最適化により、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
キーワードの背後にあるタイプを解決します。Rename リファクタリングは TypeScript タイプに対応するファイルの名前を変更できるようになりました。
ReSharper C++ 2016.1 の新機能:
C++ ファイルでの To-do 項目のサポート。
Rename リファクタリングは 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 プロトコルバッファ (Protobuf) のサポート。
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 オプションダイアログで環境設定を検索します。
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 ページ用のライブ、サラウンド、ファイルテンプレート
不明な項目のハイライトなど、特殊な構文ハイライト。
専用のコード補完。
アクションまたはコントローラーとの間のナビゲーション。
ページ内での使用から新しいアクションとコントローラーを作成します。
プロジェクトのメンテナンスとチームワークフィーチャーパック:
フォルダーに移動、タイプを一致するファイルに移動する、名前空間を調整するなどのプロジェクトレベルのリファクタリング、および更新された安全な削除
プロジェクト階層ビュー。
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 で利用できるようになりました。
ステートメントの補完 - 必要な構文要素(中括弧、セミコロンなど)を挿入して、次のステートメントを開始する位置に移動する新機能。
コード補完のキャメルハンプ。基本補完、型一致補完、インポートシンボル補完の 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 のサポート
関連ページ:
ReSharper 2024.2 の新機能
C# 13 の初期サポート。AI コード補完、例外の説明、カスタムグローバルプロンプトなど、AI Assistant のさまざまな改善。ユーザーインターフェースの言語を中国語、日本語、韓国語に変更する機能。閉じ括弧のインレイヒント。パラメーター修飾子の追加 / 削除リファクタリング。形式指定子の場合はさまざまな文化のプレビュー。統合デコンパイラーの改善: 逆コンパイラー: デフォルトと params ラムダパラメーター(C#12: Lambda オプションおよびパラメーター配列パラメーター)、逆コ...
Rename リファクタリング
このリファクタリングにより、ソリューション内の任意のシンボルまたはプロジェクトの名前を変更できます。シンボルへの参照および使用箇所はすべて自動的に更新されます。さまざまな C# エンティティにリファクタリングを使用する:これは、このリファクタリングで名前を変更できるエンティティのリストです。名前空間また、名前空間のネストレベルを変更することもできます。例: 名前空間をに変更できます。タイプ名前が変更された型が同じ名前のファイルにある場合、ReSharper は含まれているファイルの名前も変更し...
ネーミングスタイル
ReSharper は、コード内のシンボルの希望する命名スタイルを定義、制御、適用できます。一連のルールがあり、各ルールは一連の制約を持つ特定の識別子を対象とします (たとえば、ルールは静的プライベート読み取り専用フィールドを対象にすることができます)。各ルールには、複合語、アンダースコア、接尾辞、接頭辞などの大文字化を定義する 1 つ以上の関連スタイルを含めることができます。これらのルールは、ReSharper がコード補完およびコード生成機能を使用して新しいコードを生成し、コードテンプレート...
InspectCode コマンドラインツール
ReSharper の最も注目すべき機能の 1 つであるコードインスペクションは、IDE を開かなくても使用できます。無料のクロスプラットフォームコマンドラインツールの InspectCode では、ReSharper のインスペクションのすべてを適用するために、少なくとも 1 つのパラメーター (ソリューションファイル) が必要です。InspectCode を実行する ReSharper コマンドラインツールをダウンロードします。ダウンロードボタンの横にあるセレクタを使用して、オペレーティングシ...
破棄分析
コード内のリソースリークの数を減らし、パフォーマンスを向上させるには、使い捨てリソースを正しく処理する必要があります。一方では、特定の API の呼び出しサイトでキーワードを強制したいと考えていますが、他方では、の使用ごとに誤検知による大量のノイズが発生することは避けたいと考えています。使い捨てリソースの処理を分析するために、ReSharper は JetBrains.Annotations からの一連のアノテーション属性に依存します。分析を開始するには、重要な使い捨て API に [MustDisp...
アセンブリ、NuGet パッケージなどを比較する
ReSharper を使用すると、2 つのアセンブリ、NuGet パッケージ、アーカイブ、フォルダーを比較できます。各比較は、専用のアセンブリ差分ツールウィンドウの最上位ノードとして表示されます。このノードを展開すると、アセンブリ構造の違いをすぐに確認できます。さらに、型、メンバー、その他の要素をダブルクリックすると、エディターでテキストベースの比較を表示できます。比較の開始以下のいずれか 1 つを実行します: メインメニューからを選択します。アセンブリエクスプローラー内のアセンブリ、NuGet...