入力支援
補完リストでスマートな提案を提供することによってあなたの時間を節約することに加えて、ReSharper はあなたのコードをさらに速く作成して、編集することを可能にする他のタイピング支援機能を提供します。
一致する区切り文字を自動挿入
デフォルトでは、開始区切り文字 (、[、" または ' を入力するたびに、対になった文字が自動的に挿入されます (適切な場合)。気が変わって Backspace を押して開始区切り文字を削除すると、その終了ペアも削除されます。一致する終了区切り文字がすでに存在する場合、ReSharper は別の終了区切り文字を追加しません。フォーマットに従って、一致するシンボルが挿入されます。
波括弧 {} に関しては、ReSharper は、Enter を押すか、Enter を押すとすぐに波括弧を閉じることができます。
必要に応じて、デフォルトの動作を変更できます。これを行うには、ReSharper オプション Alt+R, O のページに移動し、波括弧および丸括弧セクションのコントロールを使用します。
正しい長さ / 数のタイプミス
ReSharper は、配列 / コレクションの誤って入力された Length/Count プロパティに遭遇するのを防ぎます。配列を使用するために誤って Count プロパティの入力を開始するとすぐに、ReSharper を使用して、補完リストからそれを選択し、おそらく入力するつもりだった Length プロパティに置き換えることができます。

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

補完の提案を受け入れるとすぐに、正しいプロパティが表示されます。
ReSharper オプション Alt+R, O のページで一般的なエラーを修正するために特別なアイテムを追加する (長さと数のような) チェックボックスをオフにすると、Length/Count の誤入力に対する補完候補を無効にすることができます。
メソッドパラメーターの使用箇所から型パラメーターを作成する
ジェネリクスメソッドを作成するときは、新しいパラメーターに T を入力し、補完リストで対応する項目を選択することで、型パラメーターを簡単に追加できます

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

名前の入力が終わったら、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]でアノテーションを付けた項目を取得します。
シンボルにすでに
[NotNull]または[CanBeNull]がアノテーションされている場合は、それに応じて?または!を入力して、既存のアノテーションを変更することができます。パラメーターが [NotNull] 属性でマークされている場合は、パラメーター名またはパラメーター型の直後にキャレットを置き、! を押すことができます。
private void Foo([NotNull] object/*!*/ arg/*!*/)ReSharper はこのパラメーターに対して null チェックを生成します。ReSharper オプション Alt+R, O のページで null チェックパターンを設定できます。
null 許容参照型を使用している場合、ReSharper は null 許容型修飾子
?を正しい位置へ自動的に移動します。例:string myString?と入力すると、自動的にstring? myStringに修正されます。
デフォルトでは、[NotNull] または [CanBeNull] の入力支援が有効になっています。無効にしたい場合は、ReSharper オプション Alt+R, O のページで null の可能性をアノテーションする ... チェックボックスをオフにします。
式本体をブロック本体のメンバーに変換する
expression-bodied メンバーの => の後に { と入力すると、ReSharper はそれをブロック本体に変換します:

空行の仮想インデント
ReSharper は、末尾の空白文字を回避し、同時にキャレットを入力開始位置に配置できます。Enter を押すと、ReSharper はインデント文字を挿入しませんが、この行に対して計算されたインデントに従ってキャレットを設定します。入力を開始するとすぐに、ReSharper はインデント文字 (設定に応じて、空白、タブ、その両方の組み合わせ) を自動的に挿入し、コードが適切にフォーマットされた状態を維持します。
この機能は仮想インデントで呼び出され、デフォルトで有効になっています。エディター()に空白を表示することを選択しない限り、通知さえしません。
Enter でコメントを複数行にする
ブロックコメント
複数行のブロックコメント /*....*/ を記述する場合は、開始部分 /* を入力してから最初の行を記述し、行の末尾で Enter を押すだけで、ReSharper によって終了部分 */ が挿入されます。
さらに、ReSharper は、Enter を押すと、ブロックコメントの各行の先頭にアスタリスク * を挿入します。この動作はデフォルトで有効になっていますが、ReSharper オプション Alt+R, O のページで /* の後の Enter で * を挿入するチェックボックスをオフにすることで無効にできます。このオプションが有効になっている場合でも、Shift+Enter を押すと、先頭のアスタリスクなしで新しい行を追加できます。

行コメント
単純な (非 XML Doc) 行コメントでは、コメントテキストの途中で Enter を押すことができます。新しい行にコンパイルできないテキストが表示されるのを避けるために、ReSharper はテキストの前に 2 つのスラッシュ // を自動的に追加します。コメント行の最後で Enter を押すと、通常どおり空の新しい行が開始されます。
中括弧と括弧でコードブロックを囲む
ReSharper を使用すると、コードブロックまたは式を選択してから、開始 { または終了 } 中括弧を入力して選択内容を中括弧内に配置するか、開始 ( または終了 ) 括弧を入力して選択内容を括弧内に配置できます。
この動作を有効または無効にするには、ReSharper オプション Alt+R, O のページにある引用符、中括弧、括弧の入力時に選択範囲を囲むチェックボックスを使用します。
新しい行を自動インデントする
エディターで新しい行を開始すると、ReSharper は、インデントに影響するすべての設定を考慮して、必要なインデントを自動的に計算できます。たとえば、タブを使用するかどうか、使用する場合はどのようにするか (で構成可能)、チェーンメソッド呼び出しを揃えるかどうか (で構成可能) などです。
この動作はデフォルトで有効になっており、エディターで Enter を押すと、ReSharper はキャレットを次の行の予想されるインデント位置に設定します。
必要に応じて、ReSharper オプション Alt+R, O のページで Enter でスマートインデントをクリアして、この動作を無効にすることができます。
バックスペースでコード行をインデント解除する
空の行で Backspace を押すか、キャレットの左側に空白とタブしかない場合、ReSharper はキャレットを一度に 1 つずつ移動するのではなく、適切なインデント位置に戻すことができます。

この動作は、ReSharper オプション Alt+R, O のページのバックスペースでインデント解除セレクターで設定できます。次のオプションが利用可能です。
無効 - キャレットを一度に 1 ポジションずつ返します。
最も近いインデント位置まで — 現在のインデントサイズの倍数である最も近い位置にキャレットを返します。
適切なインデント位置まで(デフォルト) - コード構造に従って、キャレットを予想されるインデント位置に戻します。
構造的除去
ReSharper は、さまざまなコード構造の一部を削除した後、残りの空白とユーティリティ文字を自動的に削除できます。例: パラメーターまたは引数を削除した後の ,、属性を削除した後の []、初期化子を削除した後の =
これは、構造選択(Control+W)または構造ナビゲーション(Tab)で選択されたコード要素で Backspace、Delete、Ctrl+X を押すか、要素を再配置した後に選択が存在する場合(Ctrl+Shift+Alt + Up/Down/Left/Right)に発生します。

この動作を有効または無効にするには、ReSharper オプション Alt+R, O のページの構造的削除を有効にするチェックボックスを使用します。
関連ページ:
コード補完
ReSharper は、高度な機能を備えた Visual Studio のネイティブコード補完(IntelliSense)を補完し、拡張します。例: あなたの入力に基づいて提案のリストを絞り込み、選択した型と拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、型に応じて変数とフィールド名を提案するなど。ReSharper のコード補完の機能に慣れ親しむために、いくつかの実装の基本があります: デフォルトでは、ReSharper は Visual Studio のネイティブの...
フォーマットルールを構成する
フォーマットルールは非常に高いレベルの詳細に設定できます。例: 特定の演算子の周囲に空白を配置するか、入れ子になった文をインデントするかを定義できます。オプションでコードフォーマットルールを構成するメインメニューからを選択するか、Alt+R O を押します。ページを使用して、すべての言語で適用されるオプションを確認し、設定します。ページを使用して、言語固有のフォーマットを構成します。これらのページでは、下部にあるプレビュー領域を使用して、ReSharper がコードに特定の設定を適用する方法を表示...
ソースコードのアノテーション
ReSharper のコードアノテーションの恩恵を受ける最も簡単な方法は、ソースコードのシンボルにアノテーション属性を追加し、ReSharper がソリューションをより正確かつ洞察力で分析できるようにすることです。プロジェクトでコードアノテーションのサポートを有効にする:プロジェクトでアノテーション属性を利用するには、プロジェクトで参照する必要があります。推奨される方法は、アセンブリを使用して NuGet パッケージをインストールすることです。実際には、パッケージを入手するために NuGet W...
null チェックルーチンを生成する
ReSharper には、値型のパラメーター、式、null の変数をチェックするコードを生成するためのさまざまな方法が用意されています。目的に応じて、null チェックルーチンは 2 つのカテゴリに分けられます:null は例外とアサーションをチェックする、null 値を持つオブジェクトをスキップするための null チェック、null は例外とアサーションをチェックする:参照であるオブジェクトに遭遇することがプログラムで重大であり、例外をスローすることによってログに記録されるか、シグナルが通...
コード補完でのフィルターの使用
ReSharper を使用すると、シンボルの種類、アクセス修飾子などを使用して補完候補をフィルター処理できます。コード補完が呼び出されるたびに適用されたフィルターのセットを変更したり、フィルターの状態を保持することを選択したりできます。デフォルトでは、ReSharper は補完ポップアップの下部にフィルターバーを表示します。このバーでは、フィルターの状態を確認し、アイコンをクリックして特定のフィルターを有効または無効にできます。必要に応じて、ReSharper オプションのページでフィルターバー...