ReSharper 2020.1ヘルプ

入力支援

補完リストでスマートな提案を提供することによってあなたの時間を節約することに加えて、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 }

列挙型の等価性とフラグチェックを生成する

列挙型の値をこの列挙型のメンバーの1つと比較する必要がある場合は、点を入力して、補完リストで目的の列挙型メンバーを選択します。

Completing enum members to produce equality/flag checks

ReSharperがあなたのために比較を生成します:

public enum Direction { North, East, South, West } void Turn(Direction whereTo) { if(whereTo == Direction.South }

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

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

Creating type parameter from usage in method parameters

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

Creating type parameter from usage in method parameters

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

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

By default, when you choose a method in the completion list ReSharper automatically adds parentheses and sets your caret between them in the position to start typing arguments. If you want to call the method without parameters, and chain-call another method, you can type the dot right where your caret is and ReSharper will move it to the right place:
myStringBuilder.AppendLine(./*caret*/) becomes myStringBuilder.AppendLine()./*caret*/
If you just typed a complete method call, and then decide to chain-call another method, you do not have to move your caret, just type the dot right after the final semicolon:
myStringBuilder.AppendLine();./*caret*/ becomes myStringBuilder.AppendLine()./*caret*/;

When you caret is inside parentheses, you do not have to move it outside to type the final semicolon, just type it right away or after the last argument:
myStringBuilder.AppendLine("line";/*caret*/) becomes myStringBuilder.AppendLine("line");/*caret*/

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

C# 6.0から開始して、$ および @ プレフィックスを正しい順序で追加した場合、同じストリングを補間(英語)および逐語的(英語)に作成できます: $@"some string"

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

NotNull / CanBeNull注釈を追加する

If code annotations support is enabled in your project, you can add [NotNull] and [CanBeNull] annotations, as well as generate null checks with a single keystroke:

  • メソッドシグネチャーまたはメンバー宣言を記述するときは、型名の直後に ! または ? を入力して、[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を使うと、末尾の空白を避けることができ、同時に入力を開始する位置にキャレットを置くことができます。Enterキーを押すと、ReSharperはインデント文字を挿入しませんが、この行に計算されたインデントに従ってキャレットを設定します。入力を開始すると、ReSharperは自動的にインデント文字(空白、タブ、または両方の組み合わせ)を挿入し、コードが適切にフォーマットされた状態を維持します。

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

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

ブロック・コメント

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

Additionally, ReSharper will insert the asterisk * in the beginning of each line of a block comment as you press Enter . This behavior is enabled by default, but you can turn it off by clearing the /* の後の Enter で * を挿入する checkbox on the 環境 | エディター | 振る舞い page of ReSharper options ( Alt+R O ) . Even if this option is enabled, you can press Shift+Enter to add a new line without the leading asterisk.

ReSharper. Making block comments multiline on Enter

行コメント

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

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

ReSharperでは、コードブロックまたは式を選択してから、openingc { または終了 } ブレースを入力して選択を中括弧に入れるか、開始 ( または終了 ) 括弧を入力して括弧内に選択を配置できます。この動作を有効または無効にするには、ReSharperオプション(Alt+R O)の環境 | エディター | 振る舞いページの波括弧または丸括弧の入力時に選択範囲を囲むチェックボックスを使用します。

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

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

ReSharper: Backspace returns the caret to the proper indent position

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

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

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

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

最終更新日: 2020年5月29日

関連ページ:

後置テンプレート

後置テンプレートは後ろにジャンプすることなくすでにタイプした式を変換できます - ちょうど式の後にドットをタイプしそして補完リストからテンプレートを選んでください。You can extend the default set of postfix templates with your custom...

コード補完 (IntelliSense)

ReSharperは、高度な機能を備えたVisual Studioのネイティブコード補完(IntelliSense)を補完し、拡張します。例:あなたの入力に基づいて提案のリストを絞り込み、選択したタイプと拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、タイプに応じて変数と...

コードフォーマットルールの管理と適用

ReSharper | 編集 | コードの再フォーマットコードスタイルの重要な点は、コードの書式設定方法、つまり、空白と空白行を使用してコードブロックを配置および分離する方法、インデントにタブを使用するかどうか、および使用する方法。ReSharperコードのフォーマットルールの豊富なセットには、デフ...

一致する区切り文字を強調表示する

When you work with code in the editor, ReSharper can help you quickly understand code structure by highlighting the opening or closing delimiter (,,,

ソースコードの注釈

ReSharperのコード注釈の恩恵を受ける最も簡単な方法は、ソースコードのシンボルに注釈属性を追加し、ReSharperがソリューションをより正確かつ洞察力で分析できるようにすることです。デフォルトでは、すべての注釈属性クラスは属性でマークされているため、コンパイラはコード内の属性の使用を無視しま...

nullチェックルーチンの生成

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