ReSharper 2024.2 ヘルプ

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 モジュール: パフォーマンスが向上し、内部モジュールパーティションのサポートが向上しました。

    • Unreal Engine :

      • Slate UI フレームワークのサポート。

      • 補完では、C++ コード内のリソース名を補完するときにアセットパスが提供されます。

      • HLSL シェーダーコードでインターフェースがサポートされるようになりました。

    • clang-format 統合の改善には、GNU 組み込みスタイルと IndentAccessModifiers および DisableFormat 形式スタイルオプションのサポートが含まれます。

    • シグネチャーの変更には、ポインター、参照、値型間でパラメーター型を変更する機能など、新しい機能が用意されています。

    • ドキュメントコメント内の Grazie スペルチェック

    • ドキュメントコメントのスタイルを構成するための新しい設定 (ReSharper | オプション | コード編集 | C++ | コード生成 )。

    • 新しいフォーマッタオプション : 「goto ラベルの後に改行する」、「goto ラベルをインデントする」、列挙子の配置、空の中括弧のフォーマットの「変更しない」。

ReSharper 2023.3

ReSharper 2023.2

  • C# 12 プレビューサポート: プライマリコンストラクターは、非レコードクラスおよび構造体をサポートします。

  • AI Assistant.

  • 予測デバッガー

  • LINQ 式の中間結果に対する対話型デバッガーの装飾。

  • 新しいコードインスペクションと、報告および修正する対応するクイックフィックス:

    冗長な nullable ディレクティブ、'using' ステートメントによってキャプチャーされた変数の戻り、'using' でキャプチャーされたオブジェクトによって生成されたタスクの戻り、破棄と _ という名前の変数の競合。

  • タプルと分解パターンのコンポーネント名、破棄型名、#pragma で無効または復元された警告の説明、ブロックの最後にローカル関数によって作成された暗黙的な return または continue に対する C# の新しいインレイヒント

  • var から基になるタイプへのナビゲーションが改善されました。

  • 生の文字列のサポートの改善 (新しいコードインスペクション、クイックフィックス、コンテキストアクション、および入力支援)

  • Entity Framework 関連のコンテキストにおける新しいコードインスペクションとナビゲーションアクション。

  • クラスの単体テストスタブを生成しテストとテストされたコード間を移動する機能。

  • 2 つのアセンブリを比較する機能。

  • 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 機能のサポート:

      • this (P0847(英語)) の推定。

      • auto(x) および auto{x} (P0849(英語))。

      • ラムダの空の括弧 () は、多くの場合オプションになりました (P1102(英語))。

      • 別名宣言が init ステートメントで許可されるようになりました (P2360(英語))。

      • 複合ステートメント (P2324(英語)) の最後でラベルを使用できるようになりました。

    • __VA_OPT__ のサポート。

    • Unreal Engine :

      • 単純または複雑なテストを追加するためのファイルテンプレート

      • シェーダーソースディレクトリのマッピング。

      • UINTERFACE ライブテンプレート

      • デリゲート、TFunction、または TFunctionRef 引数が必要なラムダ式を生成するための新しい補完アイテム。

    • 新しいインスペクション: テンプレートパラメーターは使用されない、typedef /type エイリアスは使用されない、冗長な基本クラス初期化子、型 HRESULT/NTSTATUS の関数結果を使用する必要がある、const 参照による値パラメーターの受け渡し、クラステンプレート引数推定の失敗。

    • 範囲ベースの for ループの評価や共用体のサポートの向上など、コンパイル時の評価エンジンが改善されました。

    • リファクタリングのコンテキストアクション。

    • 未解決の識別子からパラメーターを作成するクイックフィックス。

    • 1 行の関数を抽出する必要がある場合、選択がアクティブでないときにメソッドの抽出リファクタリングが現在の行を抽出するようになったため、行全体を選択する必要がなくなりました。

    • シグネチャーの変更は、キャレットが以前のように関数の名前だけでなく、関数シグネチャーのどこにある場合でも呼び出すことができるようになりました。

    • 新しい後置テンプレートを使用すると、 std::as_const または AsConst を使用して const 参照をすばやく作成できます。

    • /* で始まるコメントは、デフォルトでは */ で自動的に閉じられなくなりました。新しい /* の後に */ を挿入の入力支援オプションを使用して、終了コメントの自動挿入を有効にすることができます。

    • デフォルトでは、#include ディレクティブをソートするときにファイルパスがフォルダーの前に配置されます。

ReSharper 2022.3

  • ARM64 上で動作する Microsoft Visual Studio の早期サポート。

  • NuGet パッケージの脆弱な依存関係の検出。

  • C# 11 サポート: C# 11 ファイルローカル型、静的仮想メンバー、ref フィールド、scoped キーワード C# 11 UTF-8 リテラル。符号なし右シフト >>> 演算子を使用する提案、Span.SequenceEqual("literal") の代わりにパターンマッチングを使用する提案、C# 11 生文字列内の言語インジェクションなど。

  • .NET 7 [StringSyntaxAttribute] と、言語インジェクションおよびコード補完の異なる構文のサポート。

  • GraphML 形式の型依存関係ダイアグラムとプロジェクト依存関係ダイアグラムのインポート。

  • インストールされた拡張機能の自動検証。

  • 逆コンパイラーの改善: 汎用属性、インターフェースの static abstract および static virtual メンバー、ユーザー定義のチェック演算子、符号なし右シフト演算子。

  • IL Viewer の低レベル / 高レベル C# コード

  • C++ の新機能:

    • C++20 モジュールの実験的サポート。

    • Unreal Engine :

      • コアリダイレクトを使用して Unreal Engine エンティティの名前を変更します

      • BlueprintCallable 関数のインレイヒント

      • ReSharper は、自動インポートの提案で、システムヘッダーおよびシェーダーファイルから不要なエンティティを提供しなくなりました。

    • 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] 属性に基づく構造検索と置換パターンと置換テンプレートは、目的のスコープ (ファイル、プロジェクト、ソリューション) に適用できます。

  • INotifyPropertyChanged のサポートの改善。

  • アクションリスト (Alt+Enter) から、ソリューション全体のリファクタリングを利用できます。メンバー署名のシグネチャーの変更変換パラメータープロパティをメソッドに変換。シグネチャーおよび最初のパラメーターの静的メソッドから拡張メソッドへの変換

  • アセンブリエクスプローラーウィンドウの ReadyToRun および NGen アセンブリ専用のプレゼンテーション機能。

  • JavaScript、TypeScript、JSON の生産性向上機能の積極的な開発は中断されており、これらの機能はデフォルトで無効になっています。有効にするには、ReSharper オプション Alt+R, O環境 | 製品と機能ページで対応するチェックボックスを使用します。

  • 仮想フォーマッター

  • C++ の新機能:

    • Unreal Engine :

      • 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++ の新機能:

    • Unreal Engine :

    • ユニットテスト :

    • ReSharper C++ は、暗黙的なコンストラクター呼び出しの処理に優れているため、次の場合の検索およびナビゲーション機能が向上します。

      • 標準機能と非現実固有の機能の両方を介したスマートポインタの作成

      • emplace - コンテナーメソッドのように

      • static_cast および c スタイルのキャスト式。

    • C++20 指定の初期化子を使用した集約初期化のためのボイラープレートコードの複数行生成の改善。

    • C++20 requires -expressions のフォーマットを更新しました。新しいファイルの最後の改行オプション。

ReSharper 2021.3

  • Visual Studio 2022 のサポート。

  • ファイルスコープの名前空間CallerArgumentExpression 属性、グローバル使用ディレクティブの専用機能を含む C# 10 サポート。

  • null 許容参照型のサポートの改善。

  • 新しいインスペクションおよびクイックフィックスは、クロージャを使用した静的ローカル / 無名関数の処理、文字列補間の簡素化、オブジェクト初期化子のパラメーターを使用したコンストラクターへの変換、フィールドの一貫性のないロックの検出などに役立ちます。

  • ソリューション全体の分析の結果を使用して無関係なコードをスキップするようになったため、スコープ内の修正のパフォーマンスが向上しました。

  • シンボルの種類に移動は、デバッグモードでインターフェース実装に移動します。

  • 積分演算解析はすべての C# 整数数値型をサポートします。intuintbytesbyteshortushortlongulong

  • 非推奨の 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 :

    • パラメーター情報ツールチップは、定数式の評価結果を表示します。

    • クイックフィックスを備えた新しいインスペクション: ラムダ宣言子の冗長パラメーターリスト、冗長な精巧な型指定子、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 許容の警告抑制を見つけるための新しいアクションは、抑制式から利用できます。

  • ソースジェネレーターはサポートします

  • 新しいインスペクション、クイックフィックス、コンテキストアクション。例: new EventArgs()EventArgs.Empty に置き換える提案。

  • ConfigureAwait 分析

  • 生成されたコードを無視するための .editorconfiggenerated_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 Engine :

      • 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 ステートメントのインデント。

  • ユニットテストの改善

  • ファイルレイアウトパターンの新しい制約 Body により、ブロック本体のメンバーと式本体のメンバーを区別できます。

  • FQN をコピーするでは、GitHub リンクをコピーすることもできます。

  • C++ の新機能:

    • C++ のサポート:

      • 非型テンプレートパラメーターのクラス型

      • C++20 クラステンプレート引数推論ルール

      • 関数型の一部としての noexcept

      • コルーチン用の新しいコード補完アイテムは、基本コード補完と、接尾辞補完テンプレート co_awaitco_yieldco_return の両方で使用できます。

    • Unreal Engine :

    • インスペクション、クイックフィックス、コンテキストアクションを伴う構文スタイル設定のセット。

    • コードのクリーンアップの更新: 新しいコードクリーンアップタスク、クリーンアップ選択コンテキストアクション。

    • 新しいインスペクション: テンプレート引数を推測できる、変数を内部スコープに移動できる、冗長キャスト式。

    • 変換エラーの新しいクイックフィックス。

    • 集約初期化ヒントのストップリストと個別のオプションページ。

ReSharper 2020.3

  • C# 9 のサポート:

    • トップレベルのステートメント

    • ネイティブ int

    • ターゲット型の条件式

    • 静的ラムダ

    • DynamicallyAccessedMembersAttribute サポート

    • 初期化のみの setter

    • with- 式とレコード

    • ローカル関数の属性

    • ラムダ破棄パラメーターのサポート

    • ソースジェネレーター

    • ターゲット型 new

    • 共変リターン

    • 拡張部分メソッド

    • 拡張 GetEnumerator

    • 初期関数ポインタ型のサポート

  • テキストに移動でのあいまい検索。

  • インレイヒントの改善: プッシュツーヒント、型変換ヒント、XAML ヒントのヒューリスティックとコンテキストメニューの改善、フォントサイズの変更機能、設定ページの作り直し。

  • 構造的除去

  • 括弧と引用符Tab で閉じることから飛び出す機能。

  • 新しい C# 構文スタイル: 「new()」と「新しい T()」およびデフォルト 'vs' デフォルト(T) '

  • Avalonia フレームワークのサポート。

  • 動的プログラム分析 (DPA)

  • 単体テスト: エディターから直接、選択したターゲットフレームワークを使用してテストを実行します。

  • 構文 - 識別子のツールチップの色付け。

  • CleanupCode コマンドラインツールコンソールツールは、ソリューションファイルを指すことなく、指定されたファイルまたはフォルダーのセットで実行できるようになりました。

  • 逆コンパイラーの改善: 静的ローカル関数、トップレベルステートメント、ローカル関数の属性、構造体の読み取り専用インスタンスメンバー。

  • IL Viewer ウィンドウ : 同期とコンテキストのハイライトの改善。

  • アセンブリエクスプローラーウィンドウ : トップレベルのエントリポイントアイテム(プレゼンテーション、ダブルクリック / コンテキストメニューナビゲーション、プロパティ)。

  • ライブラリコードのファイルメンバーに移動は、外部ソース(逆コンパイルされたコード / シンボルファイルからのコード / メタデータビュー)の表示モードを保持します。

  • TypeScript のサポート: nullish 合体とオプションの連鎖

  • C++ の新機能:

    • Unreal Engine :

    • 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

  • ReSharper C++ は ReSharper サブスクリプションに含まれています(英語)

  • コードを再フォーマットし、保存時および最近変更または開いたファイルに対してコードのクリーンアップを自動的に実行する機能

  • 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 サポート

  • 単体テストの改善:

    • .NET および .NETCore 用の新しい統合テストランナー

    • .NET テストと .NETCore テストの両方で、NUnit、XUnit、MSTest の MSFake をサポート (Windows のみ)

    • TypeMock の NUnit、XUnit および MSTest v2 のサポート

    • エディターのテストから、それが追加されたテストセッションに移動する機能。

  • デコンパイラー: 式本体のメンバー、スロー式、デフォルトのパラメーター、名前付き引数のサポート。

  • 逆コンパイラー: 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 で複数行の // コメントを挿入、引用符で囲まれたインクルードのみを潜在的なメインヘッダーと見なす

    • 新しいファイルテンプレート : ソースファイルとヘッダーファイル

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+/

    • Unreal Engine 4 のサポートの改善点:

      • UE4 ヘッダーの名前を変更すると、対応する *.generated.h #include の名前も変更されます

      • UE4 タイプの名前を変更すると、対応するヘッダーとソースファイルの名前も変更されます (AFE 接頭辞付き)

      • 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 参照に対して機能するようになり、ソリューション全体に対して実行できます。また、検索結果に依存コードの新しいフィルターがあります。

  • 次に移動: 消費 API

  • タプルの逆コンパイル、脱構築、破棄。

  • シンボルパッケージ.snupkg)を使用した 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 の前のスペースのオプション。

    • コードハイライトエンジンのいくつかの改善により、再ハイライトがより高速になりました(関数のボディが変更された後、ボディ自体のみが再分析されます)。

    • ラムダキャプチャーリストに変数を追加するのに役立つ新しいクイックフィックス。

    • Unreal Engine 4 のサポートの改善点:

      • UE スマートポインター(TSharedPtrTSharedRefTWeakPtrTUniquePtr)は、std::shared_ptr/unique_ptr と同様にサポートされます(たとえば、パラメーター情報コード分析、および置補完によってサポートされます)。

      • UCLASSnew 後置テンプレートは、適切なファクトリ関数呼び出しに展開されます。

      • 新しい USTRUCT / UCLASS / UENUM / UENUMCLASS ライブテンプレートが利用可能です。

      • Unreal Engine 4 エディターで「Visual Studio プロジェクトのリフレッシュ」アクションを実行した後、Visual Studio がハングすることはなくなりました。

    • いくつかのライブテンプレートは、対応するキーワードに一致するように名前が変更されました(たとえば、cls から classstr から struct)。

    • ファイルメンバーに移動のいくつかの更新: ファイルが完全に分析されるのを待たずに、ダイアログがすぐに表示されるようになりました。ファイルに関数の宣言と定義の両方が含まれる場合、関数はダイアログに一度だけ表示されます。

    • ブレースで囲まれた初期化子リストの開きブレースから集計クラスに移動できるようになりました。

    • %PATH% で使用する clang-tidy 実行可能ファイルを見つけるための新しい設定。

    • インレイヒントの改善: 自動変数、構造化バインディング、関数およびラムダ戻り値の型名のヒント。型名のヒントは、依存コードではデフォルトで無効になっています。

    • #include ディレクティブ(クイックフィックスおよびコンテキストアクション)をソートします。

ReSharper/ReSharper C++ 2019.2

  • C# 8 サポートの改善: インデックスおよび範囲の最新の変更(インデックス可能なタイプや範囲変更可能なタイプ、アンマネージジェネリクス構造体など)。

  • ファイルメンバーに移動は、現在のドキュメント内のテキスト一致も検索するようになりました。

  • テキストに移動の検索結果内のコメント内の出現を除外する機能。

  • インポート名前空間の提案からシンボルを除外し、シンボル補完をインポートする機能

  • ソリューションモデルはプロジェクト / ソリューションファイルからを直接読み取ります。

  • 用途検索は、ソリューション全体の分析のインデックスを使用することにより、より高速に動作します。

  • IL Viewer ウィンドウのキーワードの説明を含むツールチップ

  • アセンブリエクスプローラーウィンドウの Win32 リソースサブツリー

  • ReSharper C++ 2019.2 の新機能:

    • エディターヒントの改善。ヒントには、プリプロセッサーディレクティブの後のヒントと、非 const 参照によって渡される関数引数のヒントの 2 つの新しい型があります。集約初期化式のヒントに、初期化された基本クラスの名前が表示されるようになりました。

    • より多くの C++ 20 機能がサポートされています: 条件付き explicitchar8_t、ラムダ init-capture でのパック拡張、デフォルトの構築可能で割り当て可能なステートレスラムダ、集計の C++20 ルール、consteval および constinit 指定子、構造化バインディング宣言の C++20 の改善。

    • コード補完の概要ツールチップは構文色で表示され、選択したアイテムのドキュメントが表示されます。

    • 改善された Unreal Engine 4 サポート:

      • 名前変更およびシグネチャーの変更リファクタリングは、UE4 RPC 機能を適切に処理します。

      • 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 オプションページ ( コード編集 | C++ | Clang-Tidy)、ユーザー提供の clang-tidy バイナリを利用するための設定

ReSharper/ReSharper C++ 2018.3

ReSharper/ReSharper C++ 2018.2

ReSharper/ReSharper C++ 2018.1

ReSharper/ReSharper C++ 2017.3

ReSharper/ReSharper C++ 2017.2

ReSharper/ReSharper C++ 2017.1

  • Visual Studio 2017 の完全サポート。

  • どこでも検索およびテキストに移動のフィルター。検索クエリの前後に検索フィールドに入力できます。

  • 選択したプロジェクトを完全に無視することで大規模なソリューションのパフォーマンスを向上させる新しいオプション。ReSharper オプション Alt+R, Oコードインスペクション | 無視されたコードページで構成できます。

  • 検索結果ウィンドウの改善: 使用箇所の種類によるグループ化(C# と C++ の両方)、フィルターの改善、引用符を使用した完全一致による検索の可能性、見つかった使用箇所のエラーハイライト。

  • プレビュータブで移動した各新しいファイルを開くオプション。ReSharper オプション Alt+R, O環境 | 検索とナビゲーション | 一般ページで設定できます。

  • EditorConfig のサポート

  • フォーマット規則のコンテキスト構成は C# で利用可能になりました。

  • 貼り付けられたコードの自動フォーマットには ReSharper のフォーマット設定があります。

  • サポートされているすべての言語のタブとインデントは、ReSharper の階層設定で構成および保存できます。

  • 他のフォーマッタの改善点: コードの再フォーマット時のインデントの自動検出、コンマファーストスタイルのサポート、C# の単一の case ステートメントでの改行のオプション、HTML、CSS、XML ファイルの末尾に改行を追加するオプション。

  • 単純型メンバーの本体のコードスタイル。

  • ステータスインジケータのコンテキストメニュー、これはコードインスペクションの多くのオプションとコマンドへの素早いアクセスを提供します。

  • コードのクリーンアップの UX が作り直され、コードクリーンアップダイアログでカスタムクリーンアッププロファイルを作成および編集できるようになりました。

  • Visual Studio 2017 で .csproj ベースのプロジェクトの単体テスト支援(3 月 28 日以降の Visual Studio 2017 アップデートが必要)

  • Razor タグヘルパーのルーティング属性コード補完ナビゲーション & amp; 検索コマンドRename リファクタリングのサポート。

  • 改善された TypeScript/JavaScript サポート:

  • ReSharper C++ 2017.1 の新機能(拡張バージョンは専用のブログ投稿(英語)でも入手できます):

    • ソリューションがキャッシュからロードされるときの管理メモリ使用量は約 30% 減少します。

    • C++ 後置テンプレートのセットは beg..endnewvarconst_castdynamic_castreinterpret_caststatic_castmake_sharedmake_unique で拡張されています。

    • フォーマッタの改善: プリプロセッサーディレクティブのインデント、キャスト式の括弧の後ろのスペース、シンプルケースのステートメントのブレーク、名前空間メンバーのインデント。

    • ファイルヘッダースタイル

    • コードの冗長性を削除するための新しいコードクリーンアップタスク。

    • C++ テスト(ツール | ユニットテスト | テストフレームワーク | 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.jsonpackage.jsonbower.json)内のパッケージ名の動的補完。

  • 単体テスト支援は、ASP.NET Core および .NET Core プロジェクトの NUnit および xUnit.net 単体テストに対応しました。

  • 大幅なパフォーマンス向上 xUnit.net テスト。

  • UWP RelativePanel コントロールのサポート。

  • フォーマッターの改善: 中括弧なしのネストされた forforeachwhilelock ステートメントのインデントは、デフォルトで無効になり、古い動作を復元するオプションが追加されました。型パラメーターの制約をインデントするための新しいオプション。新しいインデントエンジンによって 2016.2 に導入されたバグの修正。

  • エディターで To-do 項目の色付けを修正しました。

  • 改善された TypeScript/JavaScript サポート:

  • ReSharper C++ 2016.3 の新機能:

ReSharper/ReSharper C++ 2016.2

  • ASP.NET Core 1.0 および .NET Core 1.0 プロジェクトのサポート

  • テキストに移動

  • Tab および Shift + Tab を使用した構造ナビゲーション

  • ソリューション全体の分析の警告。

  • 新しい C# タイピングアシスタント機能: 括弧内のドット / セミコロンおよび逐語文字列補間における接頭辞の自動修正

  • 参照を実行時に使用するものとしてマークし、参照の最適化および未使用の参照を削除する機能によって実行されるクリーンアップから除外する機能。

  • コードの再配置の改善点。例: 補間された文字列の挿入や 3 つ以上のオペランドを持つ式で使用できるようになりました。貪欲な波括弧は、タイプと名前空間宣言の波括弧、波括弧を開くために機能するようになりました。

  • 再加工された囲みテンプレート : ファイル以外の各テンプレートを使用して、コードの生成、周囲のコード、その両方に使用できます。これにより、カスタム囲みテンプレートをライブテンプレートとして再利用したり、その逆を行ったりして、総数を減らすことができます。

  • メンバーを部分的に抽出リファクタリング

  • タイプを別のファイルに移動リファクタリングをネストされた型に適用できるようになりました。

  • アセンブリ依存ダイアグラム

  • コメント付きのカスタムコードインスペクションを抑制する機能: ハイライトパターンの編集ダイアログで ' 抑制キー ' を指定してから // ReSharper disable once [SuppressionKey] のようなコメントを使用します。

  • Unit Test Sessions ウィンドウ実行ログを使用すると、ユニットテストコードからテスト実行プロセスに関連する問題を分離できます。

  • .cs、.js、.ts ファイル内の文字列リテラル内の HTML 解析。コンテキストアクションまたは文字列リテラルの前のコメント /*language=html*/ で有効になっています。

  • 文字列リテラルの前にコメント /*language=regexp*/ を付けて、文字列リテラルの正規表現支援を有効にする機能。

  • JSON 値ヘルパー

  • XML ドキュメントのコメントにおける <inheritdoc/> タグのサポート。

  • C# フォーマッタの改善点: 括弧とその内部のコードをインデントするための新しいオプション。++ および -- 演算子の前後のスペース、checked および default 式の前後のスペースを制御します。

  • IL Viewer ウィンドウの改善: コードシンボルまたは命令にキャレットを置くと、この項目のすべての使用箇所がハイライトされます。コード内のループは、対応するインデントとコメントによって区別できます。

  • 現在実行中のプロセスからアセンブリを探索する機能

  • ローカライゼーションインスペクションとクイックフィックスリソースに移動リファクタリングは現在、補間された文字列に対応します。

  • VB.NET: 補間された文字列のサポート

  • CSS: カスタムプロパティと CSS 変数のサポート。

  • 改善された TypeScript/JavaScript サポート:

    • TypeScript の生成補完ctorf/ctorp、オーバーライド、ラムダ)。

    • this 機能、コントロールフロー対応型ガード、パスマッピング、オプションのクラスメンバー、never タイプなど、TypeScript 2.0 の全機能をサポートしています。

    • 生成アクション Alt+Insert またはクイックフィックスを使用して、親クラスで宣言された抽象メンバーの実装を生成します。

    • 型エイリアスを扱うときは、宣言に移動使用箇所の検索が正しく動作します。

  • 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 ケースを追加する修正。

    • ドキュメントのコメントをタイプとシンボルにすばやく追加できる文書コンテキストアクション。

    • キャレットが関数の出口(returnthrow など)の 1 つにある場合、ReSharper は、ループからの出口や switch ステートメントを含む他のすべての関数出口を自動的にハイライトします。

    • デフォルトのポインター初期化子で 0 | nullptr | NULL を使用するためのコードスタイル設定

    • 新しいフォーマッタオプション: 単一行の関数とラムダ、単一行の関数定義の前後の空白行、メンバー初期化指定子リストの前の改行、テンプレート引数の山括弧と括弧の間のスペース (プリ C++ 11 コンパイラーとの適合性)

    • ReSharper がソースコードを解析しているときを検出し、必要に応じて ReSharper のプリプロセッサーを無効にする __RESHARPER__ マクロ。

    • クイックドキュメントおよびパラメーター情報ポップアップは、Doxygen 用に最適化されたドキュメントコメントからのドキュメントを表示できます。

ReSharper/ReSharper C++ 2016.1

ReSharper/ReSharper C++ 10.0

ReSharper 9.2/ReSharper C++ 1.1

ReSharper 9.1

ReSharper 9.0

ReSharper 8.2

ReSharper 8.1

ReSharper 8.0

ReSharper 7.1

ReSharper 7.0

ReSharper 6.1

ReSharper 6.0

ReSharper 5.0

ReSharper 4.5

ReSharper 4.1

  • Microsoft Visual Studio 2008 SP1 のサポート。

  • ASP.NET の拡張機能。

  • パフォーマンスとユーザビリティの向上。

  • バグの修正。

ReSharper 4.0

ReSharper 3.1

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