インレイヒント
インレイヒントは、コードの読みやすさを向上させる構成可能なエディターの装飾です。
プッシュツーヒントモード
インレイヒントは役立つ場合がありますが、一方で、エディタースペースを取り、場合によっては冗長に見えることがあります。
プッシュツーヒントモード(デフォルトで有効になっている)を使用できます。ヒントを非表示にして、Ctrl キーを押したままにすることで必要な場合にのみヒントを表示できます。このモードでは、Ctrl を 2 回押して、現在のエディタータブのヒントを切り替えることもできます。
インレイヒントを常に表示または非表示にしたい場合は、ReSharper オプション Alt+R, O の ページのデフォルトの可視性セレクターで選択できます。デフォルトの表示設定に何を選択しても、 の対応する設定ページで特定の種類のヒントに対してそれを上書きできます。
パラメーター名ヒント
メソッド呼び出しで名前付き引数を記述する代わりに、ReSharper のパラメーター名ヒント(メソッド呼び出しで対応する引数の横にパラメーター名を表示するエディター装飾)を使用できます。
次のメソッド呼び出しを考えてみましょう。
このコードを読むときは、ここで何が起こるかを理解するために、メソッドシグネチャーを停止して調査する必要があります(パラメーター情報ツールチップを使用するか、メソッド宣言に移動することで実行できます)。パラメーター名のヒントを使用すると、同じ呼び出しがより明確になります。
パラメーター名のヒントのアイデアは、インテンションが明確でない可能性のある引数のパラメーター名を表示することですが、同時に、引数の目的が明らかなヒントでエディターを乱雑にしないことです。もちろん、名前付き引数がコール。これを実現するために、ReSharper はいくつかの構成可能なヒューリスティックを適用します。
型名のヒント
型名のヒントは、異なるコンテキストで変数と式が持つ型を理解できます。例:
匿名型
ラムダ式のパラメーター
コールチェーンでメソッドのタイプを返します。
他の多くの場合。
必要に応じて、特定のケースごとにタイプ名のヒントを設定できます。
型変換のヒント
型変換のヒントは、コード内の暗黙的な型変換を示しています。
以下の例では、Vector3D
から Vector2D
に変換すると、データ(Z
値)がサイレントに失われます。ヒントは、これがどこで発生するかを確認できます。
特定の変換に対する型変換ヒントがあまり役に立たないと思われる場合は、その特定の型に関係するすべての変換に対する変換ヒントを無効にすることができます。これを行うには、代入演算子の横にキャレットを置き、Alt+Enter を押してAlt+R, O の ページで確認したり元に戻したりすることができます。
を選択します。変更は保存され、後で ReSharper オプションコード分析のヒント
インレイヒントを使用すると、不足している関数の戻り値とスイッチステートメントの不足しているブレークを表示できます。これにより、何が欠落しているかをすぐに理解できます。
インレイヒントを使用して、リソース変数が破棄される場所を確認できます。
JetBrains.Annotations の [MustDisposeResourceAttribute] を使用して、呼び出しコードでリソースの破棄を強制している場合、ReSharper は、破棄可能なリソースを返すコンストラクターとファクトリメソッドを視覚的に識別できます。
これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O の ページで対応するセレクターを使用します。
C# 迎撃機のインレイヒント
インレイヒントは、Alt+Enter または Ctrl + ヒントアイコンをクリックしてインターセプトメソッドに移動する追加機能を備えており、インターセプトされた呼び出し(英語)を特定できます。
インターセプターメソッドの [InterceptsLocation](英語) アノテーションには、インターセプトされた呼び出しに移動するためのヒントが含まれています。
これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O の ページで対応するセレクターを使用します。
名前のない構成要素のインレイヒント
タプルコンポーネント名がコンポーネント式から明らかでない場合、インレイヒントとしてタプルコンポーネント名を表示できます。
インレイヒントは、コンポーネントの宣言された名前を表示することにより、分解パターンの読みやすさを大幅に向上させることができます。
メソッドが必要以上の変数を返し、その一部が _
で破棄された場合、インレイヒントは何が破棄されたかを確認できます。デフォルトでは、破棄のヒントは push-to-hint で機能します。
これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O の ページで対応するセレクターを使用します。
「#pragma warning」のヒント
#pragma warning
ディレクティブを使用すると、ID に基づいて特定の警告を無効にしたり復元したりできます。各 ID が何を意味するのかを覚えるのは難しいため、ReSharper は警告の説明を含むインレイヒントを追加できます。この種のヒントは、ID が CS
で始まるコンパイラー警告でのみ機能することに注意してください。
これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O の ページで対応するセレクターを使用します。
後続のローカル関数のヒント
コードブロックの最後にローカル関数を配置するのが一般的ですが、そのようなブロックを読み取るときは、多くの場合、ローカル関数定義を過ぎてスクロールして、その後に実行可能コードがないことを確認する必要があります。
このような場合の可読性を向上させるために、ReSharper は、return;
や continue
などの暗黙的な制御フローマーカーを視覚化するか、ブロック内に実行可能コードがなくなった場合に //Local Functions
のみを表示するインラインヒントを提供します。
これらのヒントの可視性を構成するには、ReSharper オプション Alt+R, O の ページで対応するセレクターを使用します。
閉じ括弧のヒント
大きなコードブロックの最後にある場合、閉じ括弧が何を表しているかが明確でないことがよくあります。閉じ括弧は、ネストされた型、メソッド、複雑なステートメントの終了を示す場合があります。インレイヒントを使用すると、各閉じ括弧が正確に何の終わりであるかを示すことで、コード構造をすばやく明確にすることができます。
視覚的なノイズを減らすために、これらのヒントは 10 行を超えるブロックに対してのみ、またキャレットが閉じ括弧に設定されている場合にのみ表示されます。
これらのヒントを有効または無効にするには、ReSharper オプション Alt+R, O の ページにあるインレイヒントを使用して、一致するブロックのヘッダーを表示します ... チェックボックスを使用します。
インレイヒントの構成
ReSharper オプション Alt+R, O の ページの対応する設定ページで、インレイヒントを切り替えて構成できます。
インレイヒントを使用しない場合は、インレイヒントを有効にするチェックボックスをオフにすることで無効にできます。ReSharper はヒントの計算を停止するため、一部のリソースを節約できます。
設定ページのただし、特定の種類のヒントのみを表示する場合は、そのページのデフォルトの可視性セレクターを表示しないに設定してから、目的の種類のヒントの可視性セレクターでこれをオーバーライドできます。
パラメーター名のヒントについては、特定のパターンに一致するメソッドのヒントをさらに非表示にすることができます。そのためには、これらのパターンを ReSharper オプション Alt+R, O の ページの下部に追加します。
パターンの例を次に示します。
System.Math.*
は、FQN がSystem.Math
で始まるすべてのメソッドに一致します。System.Math.*(*, *)
は、System.Math
名前空間のすべてのメソッドを 2 つのパラメーターと照合します。(*info)
は、パラメーター名がinfo
で終わるすべての単一パラメーターメソッドに一致します(key, value)
は、すべてのメソッドとパラメーターkey
およびvalue
を一致させます。Put(key, value)
は、パラメーターkey
およびvalue
を持つすべてのPut
メソッドに一致します。
キャレットがインレイヒントのあるコードアイテムにある場合、Alt+Enter を押してインレイ名のヒントを構成するを選択するか、代わりにパラメーターヒントを右クリックして、次のいずれかのコマンドを選択できます。
メソッドのすべての呼び出しのパラメーターヒントを非表示にするか、現在のアイテムに適用される名前ヒントを入力します(無効にしたヒントを表示する場合は、オプションページで対応するアイテムまたは例外パターンを見つけて削除できます)。
この種のヒントの表示を変更する
インレイヒントを完全に無効にします(後でオプションページで有効にできます)。
詳細設定のオプションページを開きます。
パラメーター名、型名、または型名のヒントを右クリックすると、対応する型またはパラメーター宣言の宣言に移動することもできます。
Control+Alt+Shift+5 ショートカットまたはステータスインジケーターのコンテキストメニューから現在のソリューションのパラメーター名のヒントを切り替えることもできます。
インレイヒントの色とフォントサイズを設定できます。フォントサイズは、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 コードを再フォーマットしてシンボルの名前を変更するこ...