ReSharper 2026.1 Help

フォーマットルールを適用する

編集および貼り付けられたコードの自動フォーマット

エディターでコードを入力すると、ReSharper はセミコロン ; を入力した時点で式を整形し、右波括弧 } を入力した時点でコードブロックを整形します。 必要に応じて、ReSharper オプション 環境 | エディター | 振る舞い ページでこのような自動フォーマットを無効化できます。 Alt+R、O

ReSharper では、コードを貼り付ける際に フォーマット規則を自動的に適用することもできます。 デフォルトでは、貼り付けられたコードは完全に再フォーマットされず、インデント設定のみが適用されます。 貼り付けたコードを完全にフォーマットしたい場合や、貼り付け時のフォーマットを無効化したい場合は、ReSharper オプション Alt+R、O 環境 | エディター | 振る舞い ページで 貼り付けで自動フォーマット セレクターを使用してください。

既定では、Visual Studio は編集済みおよび貼り付け済みのコードに独自のフォーマット規則を適用します。 ReSharper の自動フォーマット機能を使用する場合は、Visual Studio の自動フォーマットを無効化することをおすすめします。 Visual Studio のオプション(ツール | オプション )で行うことができます。 たとえば、C# の場合、 テキストエディター | C# | コードスタイル | フォーマット | 一般 オプションページの対応するチェックボックスをクリアします。

既存のコードを再フォーマットする

ReSharper には、既存のコードを整形するためのいくつかの方法があります。 一言で言えば、いつも Control+Alt+L を使うことができますが、以下に述べるいくつかの詳細や選択肢があります。

スコープ内の既存のコードを再フォーマットする

  1. コードを再フォーマットする範囲を選択します。

    • エディターで選択して、選択範囲のコードを再フォーマットします。

    • ファイル内のコードを再フォーマットするには、ファイル内の任意の場所にキャレットを置きます。

    • ソリューションエクスプローラー の 1 つまたは複数の項目を選択して、これらの項目およびその子項目にあるファイルのコードを再フォーマットします。

  2. Control+Alt+L を押すか、メインメニューから ReSharper | 編集| コードの整形 を選択してください。 あるいは、 Control+Shift+A を押して、ポップアップでコマンド名を入力して、そこで選択することもできます。

Alt+Enter リストから現在選択されているコードを再フォーマットできます。

現在の選択を再フォーマットする

  1. エディターで、再フォーマットするコードブロックを選択します。

  2. Alt+Enter を押して、 再フォーマットとクリーンアップ | 選択範囲の再フォーマット を選択します。

    現在選択されているコードの再フォーマット

または、 コードのクリーンアップを利用して、任意のスコープのコードを整形できます。 コードの再フォーマットを他のコードスタイルの適用と組み合わせる場合は、コードのクリーンアップが役立つことがあります。

コードクリーンアップでコードを再フォーマットする

  1. コードを再フォーマットする範囲を選択します。

    • エディターで選択して、選択範囲のコードを再フォーマットします。

    • ファイル内のコードを再フォーマットするには、ファイル内の任意の場所にキャレットを置きます。

    • ソリューションエクスプローラー の 1 つまたは複数の項目を選択して、これらの項目およびその子項目にあるファイルのコードを再フォーマットします。

  2. 次のいずれかを実行します。

    • Control+Alt+F を押すか、メインメニューから ReSharper | 編集| コードのクリーンアップ… を選択してください。

    • テキストエディターの任意の場所を右クリックするか、選択項目を右クリックし、コンテキストメニューで コードのクリーンアップ を選択します。

  3. 開いた コードのクリーンアップ ダイアログで、 ビルトイン: コードの整形プロファイルを選択します。

  4. 実行 をクリックします。 ReSharper は、選択したスコープのコードをフォーマット環境設定に従って整形します。

コードのクリーンアップ ダイアログを開いてプロファイルを選択せずにコードを整形したい場合は、デフォルトの コードの整形プロファイルを サイレントクリーンアップにバインドし、 Control+Shift+Alt+F を押して実行できます。 コードの再フォーマットと他のコードスタイルタスクを組み合わせた カスタムクリーンアッププロファイルを作成することもできます。

変更をファイルに保存するたびにフォーマットを適用して、編集内容が常にコードスタイルに準拠していることを確認できます。

変更の保存時にフォーマット設定を自動的に適用する

  1. メインメニューから ReSharper | オプション を選択するか、 Alt+R O を押します。

  2. クリーンアッププロファイル設定ページに移動します: コード編集 | コードのクリーンアップ | プロファイル

  3. ビルトイン: コードの整形 プロファイルを選択し、 デフォルトに設定する をクリックします(デフォルトプロファイルは サイレントクリーンアップ にも利用されます)。

  4. コード編集 | コードのクリーンアップ | 一般 オプションページに移動し、 ファイル保存時にクリーンアップを自動的に実行する を選択します。

    オプションで、ファイルマスクによって特定のファイルへの自動クリーンアップを制限できます。

    ファイルの変更された部分のみ を選択して、変更によって影響を受けるコードにクリーンアップが適用され、ファイル内の残りのコードが変更されないようにすることもできます。

    ファイルの変更された部分のみをクリーンアップすることを選択した場合は、次のオプションを使用してこの動作を微調整できます。

    • 部分的なクリーンアップが不可能な場合は完全なクリーンアップを実行する — このオプションに応じて、ReSharper はファイル全体をクリーンアップするか、ファイルの変更部分のみのクリーンアップができない場合は対象ファイルをスキップします。

    • 共有ファイル保存時のクリーンアップを許可する — このオプションを使用して、共有プロジェクトのファイルなど、ソリューションに複数回含まれるファイルの部分的なクリーンアップを有効または無効にします。

  5. ダイアログで 保存 をクリックして変更を適用し、ReSharper に保存場所を任せるか、 保存先 セレクターから特定の設定レイヤーを選択して変更を保存します。 詳細については、 resharper 設定の管理と共有 をご参照ください。

  6. 次回編集を終了してファイル( Ctrl+S​ )またはすべてのファイル( Ctrl+Shift+S​ )を保存すると、ReSharper は選択したプロファイルで対象ファイルをクリーンアップします。 デフォルトのクリーンアッププロファイルが選択されていない場合、ReSharper はプロファイルのいずれかを選択するよう促します。

コードインスペクションを使用して、C# および C++ のフォーマット規則を維持する

C# および C++ では、 コードインスペクション機能を使ってコードフォーマットスタイルを維持することもできます。 ReSharper には、 数十種類のフォーマットインスペクションがあり、すべてデフォルトで無効になっています。

ソリューションによっては、メソッド間でのインデントサイズの違い、switch ステートメント内の case ラベルのインデントの違い、改行の欠落など、コードベースに何百ものマイナーなフォーマット違反がある可能性があります。 これらすべての違反に対してコードインスペクションを有効にすると、うるさすぎることがあります。

一方、コードの可読性を低下させたり、コードの理解に影響を及ぼす可能性のあるフォーマットの問題があります。 たとえば、次のようになります。

  • 1 つの同じ行に複数の型メンバーがあり

  • 1 行に複数のステートメント

  • 子ステートメントの前後に間違ったインデントがあり

  • 宣言波括弧のインデントが間違っています。

このようなフォーマットの問題については、コードインスペクションを 有効にすることをお勧めします。

ReSharper: Code inspections and quick-fixes for violations of the code formatting style

既存のフォーマットを保持

一部のフォーマット規則は「ソフト適用」もでき、ReSharper が コード補完コード生成機能で新しいコードを生成する場合、 コードテンプレートを適用・ リファクタリングを実行する場合には反映されますが、既存コードの 整形時(例: Control+Alt+L 使用時)は無視されます。

フォーマットルールを緩くするには、特定のコンテキストに対して 既存の維持 ...最大空白行を維持するシンプルラップ 設定を使用します。 これらの環境設定の構成は、ReSharper オプション Alt+R、O で確認または変更できます:

ReSharper: 選択したルールの既存の書式を維持する

さまざまな改行スタイルでコードを再フォーマットする

ReSharper では、フォーマット規則による整形ではなく、明示的なアクションを利用して同様のコードを異なる方法で整形することもできます。 これらのアクションは、関連ルールで 既存フォーマットの維持を選択している場合に最も役立ちます。 ただし、より厳格な設定の場合は、対応する明示的なフォーマットアクションは機能しません。これは、そのような構成の場合、該当するコンテキストでは常にフォーマット規則が適用されるためです。 例えば、 既存の維持 ... の環境設定が無効になっている場合、下記の wrap/chop/spacious/compact 各コマンドがすべて同じ結果になります。 一部の折り返しルールが チョップ ... に設定されている場合、たとえ wrap や compact コマンドを使っても、該当するコンテキストではコードが常に分割されます。

長い行をラップしてチョップする

長い行を折り返す アクションと 長い行を切り詰める アクションは、キャレットが許容最大行長を超える行にある場合に使用できます。最大行長は、ReSharper オプション Alt+R、O コード編集 | C# | スタイルのフォーマット | 改行および折り返し ページで 右余白 (カラム) 環境設定から変更できます。

Alt+Enter を押して、必要な改行を追加するアクションの 1 つを選択できます。

ReSharper: 長い行をラップしてチョップする

長い行を折り返す は、設定された行の長さを超えないように、十分な改行を追加します。

var reportHtml = CreateReport("359CD313-7C7E-49B2-A2AB-E12FDFD1319D", DateTimeOffset.UtcNow.AddMonths(-1), DateTimeOffset.UtcNow, useRichText: true);
var reportHtml = CreateReport("359CD313-7C7E-49B2-A2AB-E12FDFD1319D", DateTimeOffset.UtcNow.AddMonths(-1), DateTimeOffset.UtcNow, useRichText: true);

長い行を切り詰める は、ライン上の各エンティティに改行を追加します:

var reportHtml = CreateReport("359CD313-7C7E-49B2-A2AB-E12FDFD1319D", DateTimeOffset.UtcNow.AddMonths(-1), DateTimeOffset.UtcNow, useRichText: true);
var reportHtml = CreateReport("359CD313-7C7E-49B2-A2AB-E12FDFD1319D", DateTimeOffset.UtcNow.AddMonths(-1), DateTimeOffset.UtcNow, useRichText: true);

コードブロックのコンパクトで広々とした厳密なフォーマット

選択したコードを明示的に再フォーマットするための別の一連のアクションは、よりコンパクトな(改行が少ない)またはより広い(改行が多い)スタイルを適用できます。

これらのアクションを呼び出すには、コードのブロックを選択し(Control+W を複数回押して論理ブロックを選択できます)、 Alt+Enter を押して 再フォーマットとクリーンアップ | 選択範囲の再フォーマット を選択します。

ReSharper: コードブロックのコンパクトで広々とした厳密なフォーマット

改行が多すぎてコードの読み取りに役立たない場合は、改行を削除することをお勧めします。 以下の例では、空の getter と setter は有用な情報をもたらさず、1 行に安全に配置できます。 これは、 コンパクトフォーマット (より少ない改行) アクションで実行できます。

public string Name { get; set; } public int Age { get; set; }
public string Name { get; set; } public int Age { get; set; }

広々としたフォーマット (チョップ) を使用すると、複数行のコードブロックを読みやすくすることができます。 例: 複雑な if 文や重い XElement コンストラクター呼び出しで改行を追加したい場合があります:

summaryTable.Add(new XElement("tr", new XElement("td", XmlHelpers.CreateHyperlink(inspection.Text, CodeInspectionHelpers.TryGetStaticHref(inspection.Id), null, true), new XComment(compoundName)), new XElement("td", GetSeverityLink(inspection.Severity))));
summaryTable.Add(new XElement("tr", new XElement("td", XmlHelpers.CreateHyperlink(inspection.Text, CodeInspectionHelpers.TryGetStaticHref(inspection.Id), null, true), new XComment(compoundName)), new XElement("td", GetSeverityLink(inspection.Severity))));

厳格なフォーマット アクションは、 既存の維持 ... 環境設定の有無にかかわらず、改行を無視して選択部分を整形します。 再インデントのみ アクションは、他のフォーマット環境設定を適用せずインデントのみ修正します。

2026 年 6 月 12 日