ReSharper 2024.3 ヘルプ

入力支援

補完リストでスマートな提案を提供することによってあなたの時間を節約することに加えて、ReSharper はあなたのコードをさらに速く作成して、編集することを可能にする他のタイピング支援機能を提供します。

一致する区切り文字を自動挿入

デフォルトでは、開始区切り文字 ([" または ' を入力するたびに、対になった文字が自動的に挿入されます (適切な場合)。気が変わって Backspace を押して開始区切り文字を削除すると、その終了ペアも削除されます。一致する終了区切り文字がすでに存在する場合、ReSharper は別の終了区切り文字を追加しません。フォーマットに従って、一致する記号が挿入されます。

波括弧 {} に関しては、ReSharper は、Enter を押すか、Enter を押すとすぐに波括弧を閉じることができます。

必要に応じて、デフォルトの動作を変更できます。これを行うには、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページに移動し、波括弧および丸括弧セクションのコントロールを使用します。

正しい長さ / 数のタイプミス

ReSharper は、配列 / コレクションの誤って入力された Length/Count プロパティに遭遇するのを防ぎます。配列を使用するために誤って Count プロパティの入力を開始するとすぐに、ReSharper を使用して、補完リストからそれを選択し、おそらく入力するつもりだった Length プロパティに置き換えることができます。

Completing mistyped Count property for array

同様に、間違って Length プロパティを入力し始めると、コレクションの使用箇所で Count プロパティを呼び出すのに役立ちます。

Completing mistyped Length property for collection

補完の提案を受け入れるとすぐに、正しいプロパティが表示されます。

void Foo(int[] array, List<int> collection) { if(array.Length == collection.Count }

ReSharper オプション Alt+R, O環境 | IntelliSense | 補完の振る舞いページで一般的なエラーを修正するために特別なアイテムを追加する (長さと数のような) チェックボックスをオフにすると、Length/Count の誤入力に対する補完候補を無効にすることができます。

メソッドパラメーターの使用箇所から型パラメーターを作成する

ジェネリクスメソッドを作成するときは、新しいパラメーターに T を入力し、補完リストで対応する項目を選択することで、型パラメーターを簡単に追加できます

Creating type parameter from usage in method parameters

ReSharper は新しい型パラメーターをメソッド宣言に追加し、宣言と使用箇所の両方で型パラメーターの名前を入力できる位置に移動します:

Creating type parameter from usage in method parameters

名前の入力が終わったら、Enter または Tab を押して入力を続けます。

ドットとセミコロンのスマートな動作

デフォルトでは、補完リストでメソッドを選択すると、ReSharper は自動的に括弧を追加し、引数の入力を開始する位置にそれらの間にキャレットを設定します。パラメーターなしでメソッドを呼び出し、別のメソッドをチェーンで呼び出したい場合は、キャレットがある場所にドットを入力すると、ReSharper がドットを正しい場所に移動します。

myStringBuilder.AppendLine(./*caret*/)myStringBuilder.AppendLine()./*caret*/ になります

完全なメソッド呼び出しを入力した後、別のメソッドをチェーン呼び出しすることにした場合は、キャレットを移動する必要はありません。最後のセミコロンの直後にドットを入力するだけです。

myStringBuilder.AppendLine();./*caret*/myStringBuilder.AppendLine()./*caret*/; になります

キャレットが括弧内にある場合、最後のセミコロンを入力するためにキャレットを外側に移動する必要はありません。すぐに、または最後の引数の後に入力するだけです。

myStringBuilder.AppendLine("line";/*caret*/)myStringBuilder.AppendLine("line");/*caret*/ になります

逐語的文字列補間の接頭辞を修正

C# 6.0 以降では、$ および @ 接頭辞を正しい順序で追加すると、同じ文字列を補間および逐語的に作成できます ( $@"some string")。

ReSharper では、順序は常に正しいでしょう - 間違ってタイプされた @$ は自動的に正しい $@ に置き換えられます。

NotNull/CanBeNull アノテーションを追加する

プロジェクトでコードアノテーションサポートが有効になっている場合は、[NotNull] アノテーションと [CanBeNull] アノテーションを追加し、1 回のキーストロークで null チェックを生成できます。

  • メソッドシグネチャーまたはメンバー宣言を記述するときは、型名の直後に ! または ? を入力して、[NotNull] または [CanBeNull] でアノテーションを付けた項目を取得します。

    ReSharper: typing assist for NotNull/CanBeNull annotations
  • シンボルにすでに [NotNull] または [CanBeNull] がアノテーションされている場合は、それに応じて ? または ! を入力して、既存のアノテーションを変更することができます。

  • パラメーターが [NotNull] 属性でマークされている場合は、パラメーター名またはパラメーター型の直後にキャレットを置き、! を押すことができます。

    private void Foo([NotNull] object/*!*/ arg/*!*/)

    ReSharper はこのパラメーターに対して null チェックを生成します。ReSharper オプション Alt+R, Oコード編集 | C# | null チェックページで null チェックパターンを設定できます。

デフォルトでは、[NotNull] または [CanBeNull] の入力支援が有効になっています。無効にしたい場合は、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページで null の可能性をアノテーションする ... チェックボックスをオフにします。

式本体をブロック本体のメンバーに変換する

expression-bodied メンバーの => の後に { と入力すると、ReSharper はそれをブロック本体に変換します:

ReSharper: Converting expression-bodied to block-bodied members

空行の仮想インデント

ReSharper helps you avoid trailing whitespaces and at the same time have your caret in the position to start typing. When you press Enter , ReSharper does not insert indent characters, however it sets the caret according to the indent calculated for this line. As soon as you start typing, ReSharper automatically inserts the indent characters (which could be whitespaces, tabs, or a mix of both, depending on the settings) so that your code stays properly formatted.

この機能は仮想インデントで呼び出され、デフォルトで有効になっています。エディター(編集 | 拡張 | 空白を表示する)に空白を表示することを選択しない限り、通知さえしません。

Enter でコメントを複数行にする

ブロックコメント

複数行のブロックコメント /*....*/ を記述する場合、開始部分 /* を入力してから最初の行を記述し、行の最後で Enter を押すだけで済みます。ReSharper は終了部分 */ を挿入します。

さらに、ReSharper は、Enter を押すと、ブロックコメントの各行の先頭にアスタリスク * を挿入します。この動作はデフォルトで有効になっていますが、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページで /* の後の Enter で * を挿入するチェックボックスをオフにすることで無効にできます。このオプションが有効になっている場合でも、Shift+Enter を押すと、先頭のアスタリスクなしで新しい行を追加できます。

ReSharper. Making block comments multiline on Enter

行コメント

単純な (非 XML Doc) 行コメントでは、コメントテキストの途中で Enter を押すことができます。新しい行にコンパイルできないテキストが表示されるのを避けるために、ReSharper はテキストの前に 2 つのスラッシュ // を自動的に追加します。コメント行の最後で Enter を押すと、通常どおり空の新しい行が開始されます。

中括弧と括弧でコードブロックを囲む

ReSharper を使用すると、コードブロックまたは式を選択してから、開始 { または終了 } 中括弧を入力して選択内容を中括弧内に配置するか、開始 ( または終了 ) 括弧を入力して選択内容を括弧内に配置できます。

この動作を有効または無効にするには、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページにある引用符、中括弧、括弧の入力時に選択範囲を囲むチェックボックスを使用します。

新しい行を自動インデントする

When you start a new line in the editor, ReSharper can automatically calculate required indent taking into account all settings that affect indentation, for example whether and how to use tabs (configurable on コード編集 | 一般的なフォーマッタスタイル ), whether to align chain method calls (configurable on コード編集 | C# | スタイルのフォーマット | 改行および折り返し ), and so on.

この動作はデフォルトで有効になっており、エディターで Enter を押すと、ReSharper はキャレットを次の行の予想されるインデント位置に設定します。

必要に応じて、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページで Enter でスマートインデントをクリアして、この動作を無効にすることができます。

バックスペースでコード行をインデント解除する

空の行で Backspace を押すか、キャレットの左側に空白とタブしかない場合、ReSharper はキャレットを一度に 1 つずつ移動するのではなく、適切なインデント位置に戻すことができます。

ReSharper: Backspace returns the caret to the proper indent position

この動作は、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページのバックスペースでインデント解除セレクターで設定できます。次のオプションが利用可能です。

  • 無効 - キャレットを一度に 1 ポジションずつ返します。

  • 最も近いインデント位置まで — 現在のインデントサイズの倍数である最も近い位置にキャレットを返します。

  • 適切なインデント位置まで(デフォルト) - コード構造に従って、キャレットを予想されるインデント位置に戻します。

構造的除去

ReSharper は、さまざまなコード構造の一部を削除した後、残りの空白とユーティリティ文字を自動的に削除できます。例: パラメーターまたは引数を削除した後の ,、属性を削除した後の []、初期化子を削除した後の =

これは、構造選択Control+W)または構造ナビゲーションTab)で選択されたコード要素で BackspaceDeleteCtrl+X を押すか、要素再配置した後に選択が存在する場合(Ctrl+Shift+Alt + Up/Down/Left/Right)に発生します。

ReSharper: Structural remove

この動作を有効または無効にするには、ReSharper オプション Alt+R, O環境 | エディター | 振る舞いページの構造的削除を有効にするチェックボックスを使用します。

関連ページ:

コード補完 (IntelliSense)

ReSharper は、高度な機能を備えた Visual Studio のネイティブコード補完(IntelliSense)を補完し、拡張します。例: あなたの入力に基づいて提案のリストを絞り込み、選択した型と拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、型に応じて変数とフィールド名を提案するなど。ReSharper のコード補完の機能に慣れ親しむために、いくつかの実装の基本があります: デフォルトでは、ReSharper は Visual Studio のネイティブの...

フォーマットルールを構成する

フォーマットルールは非常に高いレベルの詳細に設定できます。例: 特定の演算子の周囲に空白を配置するか、入れ子になった文をインデントするかを定義できます。オプションでコードフォーマットルールを構成するメインメニューからを選択するか、Alt+R O を押します。ページを使用して、すべての言語で適用されるオプションを確認し、設定します。ページを使用して、言語固有のフォーマットを構成します。これらのページでは、下部にあるプレビュー領域を使用して、ReSharper がコードに特定の設定を適用する方法を表示...

ソースコードのアノテーション

ReSharper のコードアノテーションの恩恵を受ける最も簡単な方法は、ソースコードのシンボルにアノテーション属性を追加し、ReSharper がソリューションをより正確かつ洞察力で分析できるようにすることです。デフォルトでは、すべてのアノテーション属性クラスは属性でマークされているため、コンパイラーはコード内の属性の使用を無視します。つまり、'JetBrains.Annotations.dll' アセンブリへのバイナリ参照は生成されません。ただし、プロジェクトで「JETBRAINS_ANNO...

null チェックルーチンを生成する

ReSharper には、値型のパラメーター、式、null の変数をチェックするコードを生成するためのさまざまな方法が用意されています。目的に応じて、null チェックルーチンは 2 つのカテゴリに分けられます:null は例外とアサーションをチェックする、null 値を持つオブジェクトをスキップするための null チェック、null は例外とアサーションをチェックする:参照であるオブジェクトに遭遇することがプログラムで重大であり、例外をスローすることによってログに記録されるか、シグナルが通...

コード補完でのフィルターの使用

ReSharper を使用すると、シンボルの種類、アクセス修飾子などを使用して補完候補をフィルター処理できます。コード補完が呼び出されるたびに適用されたフィルターのセットを変更したり、フィルターの状態を保持することを選択したりできます。デフォルトでは、ReSharper は補完ポップアップの下部にフィルターバーを表示します。このバーでは、フィルターの状態を確認し、アイコンをクリックして特定のフィルターを有効または無効にできます。必要に応じて、ReSharper オプションのページでフィルターバー...