ReSharper 2020.1ヘルプ

インレイ・ヒント

Inlay hints are configurable editor adornments that improve readability of your code.

パラメーター名ヒント

As an alternative to writing named arguments(英語) in method calls, you can make use of ReSharper's parameter name hints— editor adornments that show parameter names next to the corresponding arguments at method calls.

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

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

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

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

The idea of the parameter name hints is to automatically show parameter names for arguments whose intention may not be clear, but at the same time not to clutter the editor with hints where the argument purpose is obvious, and of course if there are named arguments in the call. To achieve this, ReSharper applies a number of configurable heuristics.

型名のヒント

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

  • 匿名型

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

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

    ReSharper: Inlay hints return type in call chain

他の多くの場合。

If necessary, you can configure type name hints for each specific case.

欠落している構成ヒント

ReSharperは、インレイヒントを使用して、関数で欠落しているリターンとswitchステートメントで欠落しているブレークを表示できます。これにより、不足しているものをすぐに理解できます。

ReSharper Inlay hints: missing return

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

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

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

パラメーター名ヒント
パラメーター名ヒントを表示するLets you enable or disable parameter name hints.
非リテラル用に非表示変数、リソース、式、または呼び出しである引数に対するパラメータ名のヒントを非表示にして、特定の種類の非リテラル引数に対して例外を設定できるようにします。
ビルダーのようなメソッドの非表示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);
他の設定とは関係なく、パラメーター名のヒントが常に非表示になるメソッドパターンのリストを構成できます。

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

  • 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

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

最終更新日: 2020年6月22日

関連ページ:

パラメータ情報

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

宣言に移動

ReSharper | ナビゲート | 宣言に移動Use this command to navigate to the declaration of a symbol from any symbol usage. You can invoke this command from the Solut...

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

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

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

Usingimplicitly typed local variables(also known askeyword) introduced in C# 3.0 has become quite popular as it improves readability in many scenarios...

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

Marker bar and Status indicator let observe the results of the設計時コードインスペクションin the current file andnavigate between code issuesAlso, the marker bar di...

異なる言語でのReSharperの機能

以下の表は、各ReSharper機能がサポートされている言語/技術を説明しています。言語固有の機能のみを一覧表示し、プロジェクト依存関係図、名前空間の調整リファクタリング、スタックトレースエクスプローラー、最近のファイルを見るなどのプロジェクト/ソリューションのスコープには多くの機能は含まれていませ...