ReSharper 2020.2 ヘルプ

インレイヒント

インレイヒントは、コードの読みやすさを向上させる構成可能なエディターの装飾です。

パラメーター名ヒント

メソッド呼び出しで名前付き引数(英語)を書き込む代わりに、ReSharper のパラメーター名ヒント(メソッド呼び出しで対応する引数の横にパラメーター名を表示するエディターの装飾)を利用できます。

次のメソッド呼び出しを考えてみましょう。

AddCheckbox(true, true, "AutoFill", null);

このコードを読むときは、ここで何が起こるかを理解するために、メソッドシグネチャーを停止して調査する必要があります(パラメーター情報ツールチップを使用するか、メソッド宣言に移動することで実行できます)。パラメーター名のヒントを使用すると、同じ呼び出しがより明確になります。

ReSharper: inline parameter name hints help understanding arguments in a method call

パラメーター名ヒントのアイデアは、インテンションが明確でない可能性がある引数のパラメーター名を自動的に表示することですが、同時に引数の目的が明らかなヒントでエディターを煩雑にしないこと、もちろん名前付き引数がある場合呼び出し。これを実現するために、ReSharper は構成可能なヒューリスティックをいくつか適用します。

型名のヒント

型名のヒントは、異なるコンテキストで変数と式が持つ型を理解できます。例:

  • 匿名型

    ReSharper: Inlay hints. long type name
  • ラムダ式のパラメーター

    ReSharper: Inlay hints. lambda expression parameter
  • コールチェーンでメソッドのタイプを返します。

    ReSharper: Inlay hints return type in call chain

他の多くの場合。

必要に応じて、特定のケースごとにタイプ名のヒントを設定できます。

コード分析のヒント

インレイヒントを使用すると、不足している関数の戻り値とスイッチステートメントの不足しているブレークを表示できます。これにより、何が欠落しているかをすぐに理解できます。

ReSharper Inlay hints: missing return

インレイヒントを使用して、リソース変数が破棄される場所を確認できます。

ReSharper Inlay hints: disposed resource variable

これらのヒントを有効または無効にするには、ReSharper オプションのコードインスペクション | 設定ページ(Alt+R O)の不足している構造をエディターのヒントとして表示するおよびリソースの表示ポイントをエディターのヒントとして表示チェックボックスを使用します。

パラメーター名ヒントの構成

ReSharper オプション(Alt+R O)の環境 | エディター | インレイヒントページで、パラメーター名のヒントを切り替えて構成できます。インレイヒントを表示するを使用してヒントを切り替えてから、オプションで他のコントロールを使用して、ヒントを表示または非表示にする場所を指定します。

パラメーター名ヒント

パラメーター名ヒントを表示する パラメーター名のヒントを有効または無効にできます。
非リテラル用に非表示 変数、リソース、式、または呼び出しである引数に対するパラメーター名のヒントを非表示にして、特定の種類の非リテラル引数に対して例外を設定できるようにします。
ビルダーのようなメソッドの非表示 System.Text.StringBuilder(英語) のメソッドと同様のメソッドのパラメーター名ヒントを非表示にします。このメソッドは、そのクラスを含む変更されたオブジェクトを返します。このようなメソッドの名前は、通常、そのパラメーターの目的を明確にします。
メソッドパラメーターが番号付き接尾辞だけ異なる場合は非表示にする 次のようなシグネチャーを持つメソッドを呼び出すときに、パラメーター名のヒントを非表示にします。
void DoSomething(int arg0, int arg1, int arg2, int arg3) {/*...*/}
メソッド名から最初のパラメーターのインテンションがわからない場合は非表示にする シグネチャーが類似したメソッドを呼び出すときに、最初の引数にパラメーター名のヒントを隠す
void SetExtension(string extension, object next) {/*...*/}
引数のインテンションが使用箇所から明らかな場合は隠す シグネチャーが類似したメソッド
void DoSomething(int value, object context) {/*...*/}
メソッドがそのように呼び出された場合、value パラメーター名のヒントを隠します
DoSomething(myValue, context: null);
メソッドに 'StringFormatMethod' という注釈が付けられている場合は非表示にする このオプションは、StringFormatMethodAttribute でマークされた String.Format -like メソッドのパラメーター名のヒントを非表示にします。
コードの注釈を表示するパラメーター宣言のヒント

このオプションを使用して、メンバーのオーバーライドおよび実装の基本クラスで使用される JetBrains コード注釈属性を表示します。

ReSharper: Inlay hints. code annotations
他の設定とは関係なく、パラメーター名のヒントが常に非表示になるメソッドパターンのリストを構成できます。

パターンは、完全修飾メソッド名、パラメーター数、およびパラメーター名と照合されます。例:

  • System.Math.* は、FQN が System.Math で始まるすべてのメソッドに一致します。

  • System.Math.*(*, *) は、System.Math 名前空間のすべてのメソッドを 2 つのパラメーターと照合します。

  • (*info) は、パラメーター名が info で終わるすべての単一パラメーターメソッドに一致する

  • (key, value) は、すべてのメソッドとパラメーター key および value を一致させます。

  • Put(key, value) はすべての Put メソッドを keyvalue に一致させます

名前空間の定義後に名前空間名のヒントを表示する

このオプションは、パラメーター名のヒントとは無関係に機能します。

大規模なプロジェクトでは、任意の数の名前空間を使用できます。これらの名前空間は、ネストされている場合や、名前がない場合もあります。そのような場合、ヒントは、現在のブレースによって閉じられているネームスペースを示します。

ReSharper: Inlay hints. Namespaces.
非定数参照によって渡された引数の参照ヒントを表示する

Google C++ スタイルガイド(英語)によると、慣例またはまれなケースで必要な場合を除き、非 const 参照パラメーターは許可されていません。しかし、これがあなたの場合、参照のヒントがあります:

ReSharper: reference hints for function arguments passed by a non-const reference

プリプロセッサディレクティブヒントを表示する

プリプロセッサディレクティブヒントは、条件付きインクルード(#ifdef , #ifndef , #if , #endif , #else および #elif)がマクロ定義にどのように対応するかをすばやく理解できます。

ReSharper: Preprocessor directive hints in C++

集約の初期化で名前のヒントを隠す

パラメーター名のヒントは、初期化するメンバーの名前を示し、C++17 以降の複雑な集約の初期化を解くのに役立ちます。

ReSharper C++: parameter name hints in aggregate initialization

マクロ呼び出しでパラメーター名のヒントを隠す マクロ呼び出しのヒントは、置換の詳細を提供します。
ReSharper: Inlay hints. Macro calls.
配列要素のインデックスヒントを隠す 配列のヒントは、多次元の初期化に役立ちます。
ReSharper: Inlay hints. Array elements.
他の設定とは関係なく、パラメーター名のヒントが常に非表示になるメソッドパターンのリストを構成できます。

パターンは、完全修飾メソッド名、パラメーター数、およびパラメーター名と照合されます。例:

  • System.Math.* は、FQN が System.Math で始まるすべてのメソッドに一致します。

  • System.Math.*(*, *) は、System.Math 名前空間のすべてのメソッドを 2 つのパラメーターと照合します。

  • (*info) は、パラメーター名が info で終わるすべての単一パラメーターメソッドに一致する

  • (key, value) は、すべてのメソッドとパラメーター key および value を一致させます。

  • Put(key, value) はすべての Put メソッドを keyvalue に一致させます

タイプ名のヒント

コンパクトなタイプ名のプレゼンテーションを使用する

型名が長すぎる場合があります。例:いくつかのフィールドを持つ匿名型は次のようになります。

ReSharper: Inlay hints. long type name

このオプションを有効にすると、短縮されたタイプ名がヒントに表示されます。ヒントの上にマウスを置くと、完全なタイプ名が表示されます。

ReSharper: Inlay hints. compact type name
メソッドの戻り型名のヒントを表示する

このオプションを使用して、コールチェーンのメソッドの戻り型の型名ヒントを有効または無効にします。チェーンの次のメソッドが新しい行に記述されている場合、これらのヒントはメソッドの後に表示されます。

ReSharper: Inlay hints return type in call chain

子オプションを使用して、この種のヒントの例外と表示を構成します。

暗黙的に型付けされた変数の型名のヒントを表示する

このオプションを使用して、var のタイプ名のヒントを表示または非表示にします。

子オプション変数のタイプが明らかな場合は非表示はデフォルトで有効になっているため、この種のヒントは、タイプを理解するのに必要でない場合には表示されません。ReSharper が明らかと考えるケースの詳細については、明確な場合は 'var' を使用する : 明らかと考えられるものは何ですか? を参照してください。

パターンマッチング式のタイプ名のヒントを表示する

このオプションを使用して、C# パターンマッチング式(英語)var、再帰パターン、およびタプルのタイプ名ヒントを表示または非表示にします。例:

ReSharper: Inlay hints. pattern matching
ラムダ式パラメーターの型名のヒントを表示する

このオプションは、ラムダ式のパラメーターの後に型名のヒントを有効にします。

ReSharper: Inlay hints. lambda expression parameter

子オプションパラメーターのタイプが明らかな場合は非表示はデフォルトで有効になっているため、この種のヒントは、タイプを理解するのに必要でない場合には表示されません。ReSharper が明らかと考えるケースの詳細については、明確な場合は 'var' を使用する : 明らかと考えられるものは何ですか? を参照してください。

LINQ クエリでクエリ範囲変数のタイプ名のヒントを表示する

このオプションは、LINQ 式(英語)でタイプ名のヒントを有効にします。

ReSharper: Inlay hints in LINQ expressions
型名が変数名から明らかな場合は非表示 このオプションは、次のような場合にパラメーターヒントを非表示にします。
ReSharper: Inlay hints in evident cases

キャレットがインレイヒントのあるコードアイテムにある場合、Alt+Enter を押してインレイ名のヒントを構成するを選択するか、代わりにパラメーターヒントを右クリックして、次のいずれかのコマンドを選択できます。

  • メソッドのすべての呼び出しのパラメーターヒントを非表示にするか、現在のアイテムに適用される名前ヒントを入力します(無効にしたヒントを表示する場合は、オプションページで対応するアイテムまたは例外パターンを見つけて削除できます)。

  • インレイヒントを完全に無効にします(オプションページで後で有効にできます)。

  • 詳細設定のオプションページを開きます。

ReSharper: configuring parameter name hints from the Alt+Enter menu

Control+Alt+Shift+5 ショートカットまたはステータスインジケーターのコンテキストメニューから現在のソリューションのパラメーター名のヒントを切り替えることもできます。

ReSharper; switching parameter name hints from the status indicator

インレイヒントの色は Visual Studio オプションで構成できます。ツール | オプション | 環境 | フォントおよび色に移動し、表示項目のリストで ReSharper インレイヒントを見つけます。

異なる言語での適用性

この機能は、次の言語とテクノロジーでサポートされています。

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is not available in HTMLFeature is not available in ASP.NETFeature is not available in RazorFeature is not available in JavaScriptFeature is not available in TypeScriptFeature is not available in CSSFeature is not available in XMLFeature is available in XAMLFeature is not available in Resource filesFeature is not available in build script filesFeature is not available in ProtobufFeature is not available in JSON

C# の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語による ReSharper の対応するトピックを参照してください。

最終更新日 :

関連ページ:

パラメータ情報

ReSharper | 編集 | パラメータ情報関数呼び出しを書いたり調べたりしているときはいつでも、ReSharperは関数のすべてのオーバーロードに対して許可された引数に関する詳細を表示できます。ツールチップでは、パラメータを持つすべてのパブリックシグニチャと、存在する場合は関数のドキュメントか...

宣言に移動

ReSharper | ナビゲート | 宣言に移動このコマンドを使用して、シンボルの使用方法からシンボルの宣言に移動します。このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウ、およびその他のツールウィンドウから呼び出すことができます。反対方向(シンボルの使用箇所)に移動する...

コードの構文スタイル : 名前付き / 位置引数

特定のタイプのパラメーターに名前付き引数を使用したい場合は、ReSharper がこの方法の実施を支援します。次のメソッド呼び出しを考えてみましょう。 AddCheckbox(true, true, "AutoFill", null); このコードを読むときは、メソッドシグネチャ...

コード注釈属性 -ReSharper

フレームワークは、以下で説明する多くの属性を提供します。これらの属性をコードで使用するには、ソースコードの注釈セクションの説明に従ってを参照する必要があります。注釈属性 :CanBeNullAttributeマークされた要素の値がになることがあることを示します。そのため、使用前にのチェックが必要です...

コードの構文スタイル : 暗黙的 / 明示的な型指定 ('var' キーワード)

C# 3.0 で導入された暗黙的に型付けされたローカル変数(キーワードとも呼ばれます)を使用すると、多くのシナリオで読みやすくなるため、非常に人気があります。デフォルトでは、ReSharper はキーワードの使用も推奨しますが、その使用方法の設定は柔軟に構成可能です。たとえば、特定のケースまたはどこ...

マーカーバーとステータスインジケータ

マーカーバーとステータスインジケーターを使用すると、現在のファイルの設計時コードインスペクションの結果を観察し、コードの課題間を移動できます。また、マーカーバーには、他の ReSharper アイテムの特別なマークが表示されます。次の場合、マーカーバーは表示されず、ステータスインジケータにはポーズア...