IntelliJ IDEA 2020.2ヘルプ

コードの再フォーマットと再配置

IntelliJ IDEAでは、コード・スタイル設定で指定した要件に従ってコードを再フォーマットできます。ただし、プロジェクトでEditorConfigを使用する場合、.editorconfig ファイルで指定されたオプションは、コードを再フォーマットするときにコードスタイル設定で指定されたオプションをオーバーライドします。

設定にアクセスするには、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | コード・スタイルに移動します。詳細については、コードスタイルの構成を参照してください。

コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、およびモジュールを再フォーマットできます。コードの一部または一部のファイルを再フォーマットから除外することもできます。

ファイル内のコードフラグメントを再フォーマットする

  1. エディターで、再フォーマットしたいコードフラグメントを選択します。

  2. メインメニューからコード | 再フォーマット Ctrl+Alt+Lを選択します。

ファイルを再フォーマットする

  1. ファイルをエディターで開いて Ctrl+Alt+Shift+L を押すか、プロジェクトツールウィンドウでファイルを右クリックしてコードの再フォーマットを選択します。

  2. 開いたダイアログで、必要に応じて、次の再フォーマットオプションを選択します。

    • インポートの最適化 : 未使用のインポートを削除する、足りないものを追加する、またはインポート文を整理するには、このオプションを選択します。

      詳しくは、インポートの最適化のセクションを参照してください。

    • エントリーの再配置 : コードスタイル設定で指定された配置規則に基づいてコードを再配置する必要がある場合は、このオプションを選択します。

    • コードを整理する : コードクリーンアップインスペクションを実行するには、このオプションを選択します。

    Reformat Files dialog

    OKをクリックします。

    再フォーマット中にコードに加えられた正確な変更を確認するには、ローカル・ヒストリー機能を使用します。

モジュールまたはディレクトリを再フォーマットする

  1. プロジェクトツールウィンドウで、モジュールまたはディレクトリを右クリックし、コンテキストメニューからコードの再フォーマットを選択するか Ctrl+Alt+Lを押します。

  2. 開いたダイアログで、再フォーマットオプションを指定し、OKをクリックします。

    Module or directory reformat dialog

    スコープの指定や特定のファイルタイプへの再フォーマットの絞り込みなど、コードの再フォーマットにフィルタを適用することもできます。

行のインデントを再フォーマットする

指定した設定に基づいて行のインデントを再フォーマットできます。

  1. エディター内で、必要なコードの一部を選択して Ctrl+Alt+Iを押します。

  2. インデント設定を調整する必要がある場合は、設定/環境設定ダイアログ Ctrl+Alt+Sエディター | コード・スタイルに進みます。

  3. 適切な言語ページのタブとインデントタブで、適切なインデントオプションを指定してOKをクリックします。

再フォーマットからコードまたはファイルを除外する

ファイルのグループまたはコードの一部を再フォーマットから除外することができます。

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | コード・スタイルに移動します。

  2. フォーマッター制御タブで、コメントでフォーマッター・マーカーを使用可能にするチェックボックスを選択します。スコープエリアがアクティブになります

  3. スコープ領域で、the Add icon をクリックして、再フォーマットから除外するファイルを指定できるスコープを追加します。

    Scopes dialog

除外されたファイルを再フォーマットしようとすると、IntelliJ IDEAは、このファイルのフォーマットが無効であることを通知するポップアップを表示します。必要に応じて、ポップアップのリンクをクリックしてコード・スタイル設定ページを開き、除外範囲を変更します。

エディターでのコードフラグメントの再フォーマットからの除外

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、エディター | コード・スタイルに移動し、フォーマッター制御タブのコメントでフォーマッター・マーカーを使用可能にするチェックボックスを選択します。

  2. エディターで、除外する領域の先頭で、行コメント Ctrl+/ を作成し、領域の最後に //@formatter:offと入力し、再度行コメントを作成して //@formatter:onと入力します。

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

コードを再フォーマットするときに無視されるフォーマット規則を選択できます。例:単純なメソッドや関数を1行に収めるようにIDEを調整することができますが、通常はコードの再フォーマット後に複数行に展開されます。

  1. 設定/環境設定 | エディター | コード・スタイルにジャンプし、あなたのプログラミング言語を選択し、折り返しおよび括弧タブを開いてください。

  2. 再フォーマット時の保持セクションで、無視したいフォーマット規則を選択し、適用するものを選択解除します。

  3. コードを再フォーマットする ( Ctrl+Alt+L ).

IntelliJ IDEAは現在のスタイル設定に従ってあなたのコードを再フォーマットし、選択したルールのための既存のフォーマットを維持します。

コードの再配置

設定/環境設定ダイアログで設定された配置規則に従って、コードを再配置できます。ルールのグループ(エイリアス)を作成し、一致するルールを作成するときに参照することもできます。

Code Style settings

例:コードエントリをアルファベット順に並べ替える必要がある場合は、適切な一致ルールエントリを選択し、順序フィールドを名前順に並べ替えます。

Matching rules example

コードエントリの並べ替え

  1. 設定/環境設定ダイアログ Ctrl+Alt+S で、エディター | コード・スタイルに移動します。

  2. 配置規則を作成する言語を選択します。

  3. 配置タブで、グループ化ルールや一致ルールなどの適切なオプションを指定します。

    エイリアスを作成する必要がある場合は、Configure matching rules aliases をクリックし、開いたダイアログでグループ名とそのルールを追加します。

    Rules Alias Definitions
  4. 変更を保存するには、OKをクリックします。

  5. エディターで、並べ替えるコードエントリを選択し、メインメニューからコード | コードの再配置を選択します。

最終更新日: 2020年7月09日

関連ページ:

コードスタイルの構成

特定のコーディングガイドラインが企業内に存在する場合は、ソースコードを作成する際に、このガイドラインに従わなければなりません。IntelliJ IDEAは、必要なコードスタイルを維持できます。コードスタイルは、プロジェクトレベルとIDEレベル(グローバル)で定義されます。プロジェクトレベルでは、設定...

ファイルの再フォーマット・ダイアログ

コード | コードの再フォーマット現在のファイルのエディターで を押すとダイアログが表示されます。メインメニューからコード | コードの再フォーマットを選択するか を押すと、IntelliJ IDEAは指定されたスコープのソースコードを自動的に再フォーマットしようとします。再フォーマット、またはフ...

自動インポート

まだインポートしていないクラス、静的メソッド、または静的フィールドを使用している場合は、欠落しているimportステートメントを追加するように指示するポップアップが表示され、手動で追加する必要はありません。提案を受け入れるには を押します。インポート可能なソースが複数ある場合、 を押すと候補のリス...

スコープ

macOSのIntelliJ IDEA | 環境設定 | 外観および振る舞い | スコープスコープは、さまざまな操作が適用されるファイルのセットです。このダイアログを使用して、さまざまなIntelliJ IDEAアクション(使用箇所の検索やコードインスペクションなど)のスコープを定義できます。スコー...

コード・スタイル

macOSのIntelliJ IDEA | 環境設定 | エディター | コード・スタイルスキーム:この領域では、コードスタイルスキームを選択し、必要に応じて変更します。コードスタイルスキームの設定は、IntelliJ IDEAがコードを生成、リファクタリング、または再フォーマットするたびに自動的に...

ルールエイリアス定義ダイアログ

コード・スタイル: Javaの配置タブで一致ルールを追加するときに、いくつかの配置ルールをエイリアスにグループ化して参照できます。詳しくは、コードの再配置のセクションを参照してください。<エイリアス名>このエリアを使用して、新しいエイリアス定義を追加したり、既存のエイリアス定義を確認した...