ReSharper 2024.2 ヘルプ

インレイヒント

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

プッシュツーヒントモード

インレイヒントは役立つ場合がありますが、一方で、エディタースペースを取り、場合によっては冗長に見えることがあります。

プッシュツーヒントモード(デフォルトで有効になっている)を使用できます。ヒントを非表示にして、Ctrl キーを押したままにすることで必要な場合にのみヒントを表示できます。このモードでは、Ctrl を 2 回押して、現在のエディタータブのヒントを切り替えることもできます。

インレイヒントを常に表示または非表示にしたい場合は、ReSharper オプション Alt+R, O環境 | インレイヒント | 一般ページのデフォルトの可視性セレクターで選択できます。デフォルトの表示設定に何を選択しても、環境 | インレイヒントの対応する設定ページで特定の種類のヒントに対してそれを上書きできます。

パラメーター名ヒント

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

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

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

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

ReSharper: inline parameter name hints help understand 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

他の多くの場合。

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

型変換のヒント

型変換のヒントは、コード内の暗黙的な型変換を示しています。

以下の例では、Vector3D から Vector2D に変換すると、データ(Z 値)がサイレントに失われます。ヒントは、これがどこで発生するかを確認できます。

ReSharper: Type conversion hints

特定の変換に対する型変換ヒントがあまり役に立たないと思われる場合は、その特定の型に関係するすべての変換に対する変換ヒントを無効にすることができます。これを行うには、代入演算子の横にキャレットを置き、Alt+Enter を押してインレイヒントの構成 | 型変換のヒント | 非表示 ... を選択します。変更は保存され、後で ReSharper オプション Alt+R, O環境 | インレイヒント | C# | 型変換のヒントページで確認したり元に戻したりすることができます。

コード分析のヒント

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

ReSharper Inlay hints: missing return

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

ReSharper Inlay hints: disposed resource variable

JetBrains.Annotations[MustDisposeResourceAttribute] を使用して、呼び出しコードでリソースの破棄を強制している場合、ReSharper は、破棄可能なリソースを返すコンストラクターとファクトリメソッドを視覚的に識別できます。

ReSharper Inlay hints: MustDisposeResourceAttribute

これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O環境 | インレイヒント | C# | その他ページで対応するセレクターを使用します。

C# 迎撃機のインレイヒント

インレイヒントは、Alt+Enter または Ctrl + ヒントアイコンをクリックしてインターセプトメソッドに移動する追加機能を備えており、インターセプトされた呼び出し(英語)を特定できます。

ReSharper: Inlay hint and navigation action for an intercepted method

インターセプターメソッドの [InterceptsLocation](英語) アノテーションには、インターセプトされた呼び出しに移動するためのヒントが含まれています。

ReSharper: Inlay hint and navigation action for an intercepted method

これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O環境 | インレイヒント | C# | インターセプターのヒントページで対応するセレクターを使用します。

名前のない構成要素のインレイヒント

タプルコンポーネント名がコンポーネント式から明らかでない場合、インレイヒントとしてタプルコンポーネント名を表示できます。

ReSharper: Inlay hints for tuple component names

インレイヒントは、コンポーネントの宣言された名前を表示することにより、分解パターンの読みやすさを大幅に向上させることができます。

ReSharper: Inlay hints for deconstruction pattern component names

メソッドが必要以上の変数を返し、その一部が _ で破棄された場合、インレイヒントは何が破棄されたかを確認できます。デフォルトでは、破棄のヒントは push-to-hint で機能します。

ReSharper: Inlay hints for discard names

これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O環境 | インレイヒント | C# | その他ページで対応するセレクターを使用します。

「#pragma warning」のヒント

#pragma warning ディレクティブを使用すると、ID に基づいて特定の警告を無効にしたり復元したりできます。各 ID が何を意味するのかを覚えるのは難しいため、ReSharper は警告の説明を含むインレイヒントを追加できます。この種のヒントは、ID が CS で始まるコンパイラー警告でのみ機能することに注意してください。

ReSharper: Inlay hints for '#pragma warning' directives

これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O環境 | インレイヒント | C# | その他ページで対応するセレクターを使用します。

後続のローカル関数のヒント

コードブロックの最後にローカル関数を配置するのが一般的ですが、そのようなブロックを読み取るときは、多くの場合、ローカル関数定義を過ぎてスクロールして、その後に実行可能コードがないことを確認する必要があります。

このような場合の可読性を向上させるために、ReSharper は、return;continue などの暗黙的な制御フローマーカーを視覚化するか、ブロック内に実行可能コードがなくなった場合に //Local Functions のみを表示するインラインヒントを提供します。

ReSharper: Inlay hints for trailing local functions

これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O環境 | インレイヒント | C# | その他ページで対応するセレクターを使用します。

閉じ括弧のヒント

大きなコードブロックの最後にある場合、閉じ括弧が何を表しているかが明確でないことがよくあります。閉じ括弧は、ネストされた型、メソッド、複雑なステートメントの終了を示す場合があります。インレイヒントを使用すると、各閉じ括弧が正確に何の終わりであるかを示すことで、コード構造をすばやく明確にすることができます。

ReSharper: Inlay hints for closing braces

視覚的なノイズを減らすために、これらのヒントは 10 行を超えるブロックに対してのみ、またキャレットが閉じ括弧に設定されている場合にのみ表示されます。

これらのヒントを有効または無効にするには、ReSharper オプション Alt+R, O環境 | エディター | 外観ページにあるインレイヒントを使用して、一致するブロックのヘッダーを表示します ... チェックボックスを使用します。

インレイヒントの構成

ReSharper オプション Alt+R, O環境 | インレイヒントページの対応する設定ページで、インレイヒントを切り替えて構成できます。

インレイヒントを使用しない場合は、環境 | インレイヒント | 一般設定ページのインレイヒントを有効にするチェックボックスをオフにすることで無効にできます。ReSharper はヒントの計算を停止するため、一部のリソースを節約できます。

ただし、特定の種類のヒントのみを表示する場合は、そのページのデフォルトの可視性セレクターを表示しないに設定してから、目的の種類のヒントの可視性セレクターでこれをオーバーライドできます。

パラメーター名のヒントについては、特定のパターンに一致するメソッドのヒントをさらに非表示にすることができます。そのためには、これらのパターンを ReSharper オプション Alt+R, O環境 | インレイヒント | [language] | パラメーター名ヒントページの下部に追加します。

パターンの例を次に示します。

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

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

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

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

  • Put(key, value) は、パラメーター key および value を持つすべての Put メソッドに一致します。

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

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

  • この種のヒントの表示を変更する

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

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

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

パラメーター名型名、または型名のヒントを右クリックすると、対応する型またはパラメーター宣言の宣言に移動することもできます。

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

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

ReSharper; switching parameter name hints from the status indicator

インレイヒントの色とフォントサイズを設定できます。フォントサイズは、ReSharper オプション Alt+R, O環境 | インレイヒント | 一般ページで設定できます。フォント色は、Visual Studio オプションで設定できます。ツール | オプション | 環境 | フォントおよび色に移動し、表示項目のリストで ReSharper インレイヒントを見つけます。

異なる言語での適用性

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

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語別 ReSharper セクションの対応するトピックを参照してください。

関連ページ:

パラメーター情報

関数呼び出しを書いたり調べたりするときはいつでも、ReSharper は、関数のすべてのオーバーロードで許可されている引数の詳細を表示できます。ポップアップには、関数の XML ドキュメントから取得したパラメーターと簡単な説明 (利用可能な場合) を含むすべての公開署名が表示されます。パラメーター情報を使用:パラメーターを入力すると、ReSharper は入力されたパラメーターと互換性のある次のシグネチャーを自動的にハイライトし、適用できないシグネチャーをグレー表示します。既存の関数呼び出しの...

宣言に移動

このコマンドを使用して、任意のシンボルの使用箇所からシンボルの宣言に移動します。このコマンドは、ソリューションエクスプローラー、ファイル構造ウィンドウ、その他のツールウィンドウから呼び出すことができます。反対方向(シンボルの使用箇所)に移動するには、すでにシンボル宣言を行っているときに宣言に移動コマンドを呼び出すか、シンボルの使用に移動コマンドを使用できます。シンボルの宣言に移動するキャレットをエディターのシンボルに配置するか、ツールウィンドウでシンボルを選択します。メインメニューで選択するか

破棄分析

コード内のリソースリークの数を減らし、パフォーマンスを向上させるには、使い捨てリソースを正しく処理する必要があります。一方では、特定の API の呼び出しサイトでキーワードを強制したいと考えていますが、他方では、の使用ごとに誤検知による大量のノイズが発生することは避けたいと考えています。使い捨てリソースの処理を分析するために、ReSharper は JetBrains.Annotations からの一連のアノテーション属性に依存します。分析を開始するには、重要な使い捨て API に [MustDisp...

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...

言語による ReSharper: MSBuild

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...

言語による ReSharper: Google プロトコルバッファ (Protobuf)

ReSharper は、Google プロトコルバッファ(Protobuf)バージョン 2.x および 3.0 の .proto ファイルで IDE サポートを提供します。ReSharper は、.proto ファイルの言語構文をハイライトし、エラーを検出してハイライトします。基本コード補完と他のタイピング支援機能はエディターで利用可能です。型と値の宣言に行き、それらの使用箇所を検索し、他のナビゲーション機能を楽しむことができます。Protobuf コードを再フォーマットしてシンボルの名前を変更するこ...