コード要素を再配置する
JetBrains Rider を使用すると、コード内の式、ステートメント、型メンバー、その他の要素をすばやく並べ替えることができます。
仕組み
コードを並べ替えるには、移動したいコード要素や選択範囲の上で Ctrl+Shift+Alt を押します。 次に、キーボードの矢印のいずれかをキーの組み合わせに追加して、対応するコマンドを呼び出します。
上へ移動 および 下へ移動 コマンドは非常にわかりやすく、指定したスコープ内で他の要素に対して上下に要素を移動できます。 例えば、ファイル内の型や、型内の型メンバー、型メンバー内や複合ステートメント内のステートメントなどを上下に移動できます。
現在の要素がスコープの最初または最後にある場合、JetBrains Rider では上/down コマンドでこれ以上移動できません。
左に移動 および 右に移動 コマンドは、2 つの目的を果たします。
通常は 1 行で記述される要素を再配置します。 例: 左右の属性、関数パラメーター、式のオペランド、割り当てステートメントの一部などを移動できます。 左 / 右コマンドは、これらの要素が複数行で記述されている場合でも適用されます。
ステートメントを複合ステートメントまたはその直後のリージョン内に移動する(右に移動する)か、ステートメントを複合ステートメントまたはリージョン外に移動します(左に移動する)。
JetBrains Rider は無効な移動を許可しないようにしますが、コードのロジックまたはコンパイルを壊してしまう場合があります。 JetBrains Rider には、 型を外部スコープに移動リファクタリング や シグネチャーの変更リファクタリング など、コードを安全に並べ替えるのに役立つ多数のリファクタリング機能が用意されていることにご注意ください。 コード要素を移動した後にコードが壊れた場合は、 Alt+Enter を押して、使用可能な クイックフィックスを確認してください。 ほとんどの場合、 アクションリストで適切なリファクタリングが見つかります。
適用事例
JetBrains Rider では、以下の方法で要素を移動できます:
型と型メンバー。 シンボルに XML コメントがある場合、JetBrains Rider はそれらをシンボルと一緒に移動します。
現在のファイル内または包含する宣言内での型の上下
タイプ内でメンバーを上下にタイプします
左右のベースタイプ
型パラメーター left と right
型制約を上下に型する
左右の属性
宣言内のパラメーターや関数を使用する際の引数の左右の順序(関数宣言のパラメーターを並べ替える場合、JetBrains Rider は関数のすべての使用箇所で引数を変更することを保証する シグネチャーの変更リファクタリング を提案します)
プロパティの setter と getter の上下
ステートメント
左辺と右辺の代入文の一部
関数内または複合語内のステートメント
複合文からの文(左)、または直後の複合文への文 (右揃え)
switch ステートメント内のセクションを上下に切り替えます
if-else、try-catch ステートメントの 1 つの節、1 つのスイッチセクションから別のスイッチセクションへのステートメント
try-catch ステートメント内の
catch句を上下に移動複合ステートメントの右波括弧を上下に移動します(グリーディ波括弧)。 右波括弧を移動するには、キャレットを波括弧の外側に置き、 Ctrl+Shift+Alt を押して、上下の矢印キーで現在の複合ステートメントの後続のステートメントを内側に含めたり、最後のステートメントを外側に移動したりします。
タイプまたは名前空間の波括弧を開くか閉じることは、「貪欲な波括弧」としても機能します。 この場合、ネストされた型 / メンバー / ネームスペースがインクルード / 除外されます。
式
左と右の式のオペランド
コレクションの要素と配列の初期化の左右
問合せ式の上下の節
左右の範囲式オペランド(C# 8)
その他の要素
ジェネリクス型 / メソッド宣言の型パラメーター
左と右のテンプレート文字列の引数
補間された文字列内の値
行と C スタイルのコメントを上下に
#regionのブロックが上下に移動し、別の#regionブロックの中に入ったり来たりする#regionと#endregionは上下に指示しますキャレットが上下に配置されているテキストファイルの行
テキストファイル内での選択