IntelliJ IDEA 2025.1 ヘルプ

コードスタイル: Java

このページを使用して、Java ファイルのフォーマットオプションを設定します。これらの設定を変更すると、プレビューペインに、コードへの影響が表示されます。

タブとインデント

項目

説明

タブ文字を使用する

インデントには Tab キーを使用します。チェックボックスをオフにすると、IntelliJ IDEA はタブの代わりにスペースを使用します。

スマートタブ

  • このチェックボックスをオンにすると、ネストされたコードブロックのインデントには必要に応じてタブとスペースが使用され、配置インデントにはスペースのみが使用されます。

  • このチェックボックスをオフにすると、タブのみが使用されます。これは、指定されたタブサイズに適合するスペースのグループが自動的にタブに置き換えられることを意味します。これにより、細かい配置が解除される可能性があります。

タブ文字を使用するオプションが有効になっている場合は、スマートタブチェックボックスが使用できます。

タブサイズ

このフィールドには、タブに含めるスペースの数を指定します。

インデント

このフィールドでは、各インデントレベルに挿入するスペースの数を指定します。

連続インデントの文字数

前の行から続く行のインデントを指定して、同じステートメントまたはコードブロックの一部であることを明確にします。継続インデントは、1 つのステートメントが長すぎて 1 行に収まらない場合に使用されます。

空行でインデントを保持する

このチェックボックスを選択すると、IntelliJ IDEA は、空の行にコードが含まれているかのようにインデントを保持します。

このチェックボックスをオフにすると、IntelliJ IDEA はタブ文字とスペースを削除します。

ラベルインデント

このフィールドでは、label ステートメントの前の次の行に挿入するスペースの数を指定します。

絶対ラベルインデント

このチェックボックスをオンにすると、ラベルのインデントはスペースの絶対数としてカウントされます。それ以外の場合、ラベルの字下げは以前の字下げのレベルと比較してカウントされます。

トップレベルのクラスメンバーに対してインデントしない

トップレベルのクラスメンバーをクラス宣言インデントレベルに配置するには、このチェックボックスを選択します。

式の開始に相対インデントを使用する

可能な 2 つのインデント動作を切り替えるには、このチェックボックスを使用します。

  • このオプションを無効にすると、コードブロックは新しい行で始まる最も近い祖先ブロックに合わせて配置されます。

  • このオプションを有効にすると、コードブロックは列形式でフォーマットされます。

スペース

さまざまなコンテキストでスペースを挿入、挿入しない、削除するには、チェックボックスを選択またはクリアします。

括弧の前

項目

サンプル

メソッド宣言の丸括弧

選択すると、メソッド宣言の開き括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

public void foo (int x, int y) {}
public void foo(int x, int y) {}

メソッド呼び出しの丸括弧

選択すると、メソッド呼び出しの開き括弧の前にスペースが挿入されます。

それ以外の場合、スペースは挿入されません。

System.out.print (a);
System.out.print(a);

'if' の丸括弧

選択すると、if ステートメントの開き括弧の前にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

if (0 < x && x < 10) {}
if(0 < x && x < 10) {}

'for' の丸括弧

選択すると、for ループの開き括弧の前にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

for (int i = 0; i < x; i++) {}
for(int i = 0; i < x; i++) {}

'while' の丸括弧

選択すると、while ループの開き括弧の前にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

while (x != y) {}
while(x != y) {}

'switch' の丸括弧

選択すると、switch ステートメントの開き括弧の前にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

switch (e.getCode()) {}
switch(e.getCode()) {}

'try' の丸括弧

選択すると、try ステートメントの開き括弧の前にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try (Res r1 = getResource(); Res r2 = null) {}
try(Res r1 = getResource(); Res r2 = null) {}

'catch' の丸括弧

選択すると、catch ブロックの開き括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

catch (MyException e) {}
catch(MyException e) {}

'synchronized' の丸括弧

選択すると、synchronized ブロックの開き括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

synchronized (this) {}
synchronized(this) {}

アノテーションパラメーター

選択すると、アノテーションパラメーターの開き括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

@SuppressWarnings ({"ALL"})
@SuppressWarnings({"ALL"})

分解リスト

選択すると、分解パターンの開き括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

case Rec (String s, int i) r -> {}
case Rec(String s, int i) r -> {}

演算子の周囲

項目

サンプル

代入演算子 (=、+=、...)

選択すると、代入式の代入演算子の前後にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

int[] empty = new int[]{};
int[] empty=new int[]{};

論理演算子(&& | |)

選択すると、論理式の論理演算子の前後にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

public void checkValue() { if (0 < x && x < 10) { } }
public void checkValue() { if (0 < x && x < 10) { } }

等値演算子 (==、!=)

選択すると、比較式の等式演算子の前後にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

while (x != y) {}
while (x!=y) {}

比較演算子 (<、>、<=、> =)

選択すると、比較式の関係演算子の前後にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

if (0 < x && x < 10) {}
if (0<x &&x< 10) {}

ビット演算子(& |、^)

選択すると、ビット演算子の前後にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

y += (y ^ 0x123) << 2;
y += (y^0x123) << 2;

加法演算子 (+、-)

選択すると、加法演算子の周囲にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

x = f(x * 3 + 5);
x = f(x * 3+5);

乗法演算子 (*、/、%)

選択すると、乗法演算子の周囲にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

x = f(x * 3 + 5);
x = f(x*3 + 5);

シフト演算子 (<<、>>、>>>)

選択すると、ビットシフト演算子の周囲にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

y += (y ^ 0x123) << 2;
y += (y ^ 0x123)<<2;

単項演算子 (!,-,+,++,--)

選択すると、単項演算子の周囲にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

x = y >= 0 ? arr[y] : - 1;
x = y >= 0 ? arr[y] : -1;

ラムダの矢印

選択すると、ラムダ矢印の周囲にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Runnable r = () -> {};
Runnable r = ()->{};

メソッド参照の二重コロン

選択すると、メソッド参照の二重コロンの周囲にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Runnable r1 = this :: bar;
Runnable r1 = this::bar;

左波括弧の前

項目

サンプル

クラスの左波括弧

選択すると、クラス宣言のクラス名と開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

public class Main { }
public class Main{ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでクラス宣言内波括弧の配置行末に配置に設定されている場合にのみ関係します。

メソッドの左波括弧

選択すると、メソッド宣言内のメソッドパラメーターリストの閉じ括弧と開き括弧の間にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

public int add(int a, int b) { }
public int add(int a, int b){ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでメソッド宣言内波括弧の配置行末に配置に設定されている場合にのみ関係します。

'if' の左波括弧

選択すると、if ステートメントの条件式の閉じ括弧と開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

if (0 < x && x < 10) { }
if (0 < x && x < 10){ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'else' の左波括弧

選択すると、else キーワードと if-else ステートメントの開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

if (x) { System.out.println("Hello from x!"); } else { System.out.println(y); }
if (x) { System.out.println("Hello from x!"); } else{ System.out.println(y); }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'for' の左波括弧

選択すると、for ループの条件式の閉じ括弧と開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

for (int a : X) { System.out.print(a); }
for (int a : X){ System.out.print(a); }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'while' の左波括弧

選択すると、while ループの条件式の閉じ括弧と開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

while (x != y) { x = f(x * 3 + 5); }
while (x != y){ x = f(x * 3 + 5); }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'do' の左波括弧

選択すると、do キーワードと do-while ループの開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

do { System.out.println("Count is: " + count); count++; } while (count <= 3);
do{ System.out.println("Count is: " + count); count++; } while (count <= 3);

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'switch' の左波括弧

選択すると、switch ステートメントの条件式の閉じ括弧と開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

switch (e.getCode()) { }
switch (e.getCode()){ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'try' の左波括弧

選択すると、try キーワードと try ブロックの開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch (Exception e) { }
try{ get("x"); } catch (Exception e) { }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'catch' の左波括弧

選択すると、catch ステートメントの引数リストと catch ブロックの左中括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch (Exception e) { }
try { get("x"); } catch (Exception e){ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'finally' の左波括弧

選択すると、finally キーワードと finally ブロックの開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch (Exception e) { } finally { }
try { get("x"); } catch (Exception e) { } finally{ }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

'synchronized' の左波括弧

選択すると、synchronized キーワードと synchronized ブロックの開き括弧の間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

synchronized (this) { switch (e.getCode()) { }
synchronized (this){ switch (e.getCode()) { }

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

配列初期化子の左波括弧

選択すると、配列初期化子の左中括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

int[] empty = new int[] {};
int[] empty = new int[]{};

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

アノテーション配列イニシャライザーの左波括弧

選択すると、配列初期化子の左中括弧の前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

@SuppressWarnings( {"ALL"})
@SuppressWarnings({"ALL"})

チェックボックスの選択またはクリアは、折り返しと波括弧タブでその他波括弧の配置行末に配置に設定されている場合にのみ関係します。

キーワードの前

項目

説明

'else' キーワード

選択すると、if ブロックの閉じ括弧と else/elseif キーワードの間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

if (x) { System.out.println("Hello from x!"); } else { System.out.println(y); }
if (x) { System.out.println("Hello from x!"); }else { System.out.println(y); }

'while' キーワード

選択すると、do-while ループの do ブロックの閉じ括弧と while キーワードの間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

do { System.out.println("Count is: " + count); count++; } while (count <= 3);
do { System.out.println("Count is: " + count); count++; }while (count <= 3);

'catch' キーワード

選択すると、try ブロックの閉じ括弧と catch キーワードの間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch (Exception e) { }
try { get("x"); }catch (Exception e) { }

'finally' キーワード

選択すると、catch ブロックの閉じ括弧と finally キーワードの間にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch (Exception e) { } finally { }
try { get("x"); } catch (Exception e) { }finally { }

範囲内

項目

説明

コードの波括弧

選択すると、コード中括弧内のスペースは常に挿入されます。選択しない場合は、スペースは挿入されません。

括弧

選択すると、括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

x = y >= 0 ? arr[ y ] : -1;
x = y >= 0 ? arr[y] : -1;

配列初期化子の波括弧内

選択すると、配列初期化子式の括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

int[] numbers = { 1, 2, 3, 4, 5 };
int[] numbers = {1, 2, 3, 4, 5};

空配列イニシャライザーの波括弧

選択すると、空の配列初期化子 { } の中括弧内にスペースが挿入されます。それ以外の場合は、スペースは挿入されません。

int[] empty = new int[]{ };
int[] empty = new int[]{};

丸括弧のグループ化

選択すると、複雑な式のグループ化括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

y += ( y ^ 0x123 ) << 2;
y += (y ^ 0x123) << 2;

メソッド宣言の丸括弧

選択すると、メソッド宣言の括弧内にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

public void foo( int x, int y ){ }
public void foo(int x, int y){ }

空メソッド宣言の丸括弧

選択すると、空のメソッド宣言括弧内にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Runnable r = ( ) -> { };
Runnable r = () -> { };

メソッド呼び出しの丸括弧

選択すると、メソッド呼び出しの括弧内にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

System.out.println( "Hello, World!" );
System.out.println("Hello, World!");

空メソッド呼び出しの丸括弧

選択すると、空のメソッド呼び出し括弧内にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

switch (e.getCode( )) { }
switch (e.getCode()) { }

'if' の丸括弧

選択すると、if ステートメントの括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

for (int num : numbers) { if ( x ) { System.out.println("Hello from x!"); } else { System.out.println(y); } }
for (int num : numbers) { if (x) { System.out.println("Hello from x!"); } else { System.out.println(y); } }

'for' の丸括弧

選択すると、for ループの括弧内に常にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

for ( int a : X ) { System.out.print(a); }
for (int a : X) { System.out.print(a); }

'while' の丸括弧

選択すると、while ループの括弧内に常にスペースが挿入されます。それ以外の場合、スペースは挿入されません。

while ( x != y ) { x = f(x * 3 + 5); }
while (x != y){ x = f(x * 3 + 5); }

'switch' の丸括弧

選択すると、switch ステートメントの括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

switch ( e.getCode() ) { }
switch (e.getCode()){ }

'try' の丸括弧

選択すると、try ステートメントの括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

try ( MyRes r1 = getRes(); MyRes r2 = null ) { }
try (MyRes r1 = getRes(); MyRes r2 = null) { }

'catch' の丸括弧

選択すると、catch 構成要素の括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

try { get("x"); } catch ( Exception e ) { }
try{ get("x"); } catch (Exception e) { }

'synchronized' の丸括弧

選択すると、synchronized ステートメントの括弧内のスペースが常に挿入されます。それ以外の場合、スペースは挿入されません。

synchronized ( this ) { switch ( e.getCode() ) { }
synchronized (this) { switch ( e.getCode() ) { }

型キャストの丸括弧

選択すると、型キャスト括弧内のスペースが常に挿入されます。選択しない場合は、スペースは挿入されません。

int[] arr = ( int[] )g(y);
int[] arr = (int[])g(y);

アノテーションの丸括弧

選択すると、アノテーションの括弧内にスペースが常に挿入されます。選択しない場合は、スペースは挿入されません。

@SuppressWarnings( {"ALL"} )
@SuppressWarnings({"ALL"})

山括弧

選択すると、山括弧括弧内のスペースが常に挿入されます。選択しない場合は、スペースは挿入されません。

class Bar{ static < U, T > U mess(T t){ return null; } }
class Bar{ static <U, T> U mess(T t){ return null; } }

ヘッダーを記録する

選択すると、レコードヘッダー内にスペースが常に挿入されます。選択しない場合は、スペースは挿入されません。

record Rec( String s, int i ){ }
record Rec(String s, int i){ }

分解リスト

選択すると、分解リスト内のスペースは常に挿入されます。選択しない場合は、スペースは挿入されません。

switch ( o ) { case Rec( String s, int i ) r -> { } }
switch ( o ) { case Rec(String s, int i) r -> { } }

ボディが存在する場合のブロックブレースの内側

選択すると、分解リスト内のスペースは常に挿入されます。選択しない場合は、スペースは挿入されません。

if (true) { System.out.println( "Condition is true" ); }
if (true){ System.out.println( "Condition is true" ); }

三項演算子 (?:) 内

項目

説明

'?' の前

'?' の後

':' の前

':' の後

'?' と ':' の間

このセクションのチェックボックスを選択すると、三項演算子の ? の周囲、: の周囲、?: の間にスペースが自動的に挿入されます。

例: '?' の前':' の後が選択されている場合、IntelliJ IDEA は、3 項条件式の ? の前と : の後にスペースを自動的に挿入します。それ以外の場合、スペースは挿入されません。

x=y>=0 ?arr[y]: -1;
x=y>=0?arr[y]:-1;

型引数

項目

説明

コンマの後

選択すると、複数の型を持つ型引数のコンマの後にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Bar.<String, Integer>mess(null);
Bar.<String,Integer>mess(null);

左山括弧の前

選択すると、型引数で山括弧括弧を開く前にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Bar. <String,Integer>mess(null);
Bar.<String,Integer>mess(null);

閉じ山括弧の後

選択すると、型引数の山括弧括弧の後にスペースが挿入されます。選択しない場合は、スペースは挿入されません。

Bar.<String,Integer>mess(null);
Bar.<String,Integer> mess(null);

その他

項目

説明

コンマの前

選択すると、パラメーターリスト、引数リスト、配列宣言などのコンマの前にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

public void foo(int x ,int y){ }
public void foo(int x,int y){ }

コンマの後

選択すると、パラメーターリスト、引数リスト、配列宣言などのコンマの後にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

public void foo(int x,int y){ }
public void foo(int x, int y){ }

'for' のセミコロンの前

選択すると、for ループ内のセミコロンの前にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

for(int i=0 ;i<x ;i++){ y+=(y^0x123)<<2; }
for(int i=0;i<x;i++){ y+=(y^0x123)<<2; }

'for' のセミコロンの後

選択すると、for ループ内のセミコロンの後にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

for(int i=0; i<x; i++){ y+=(y^0x123)<<2; }
for(int i=0;i<x;i++){ y+=(y^0x123)<<2; }

型キャストの後

選択すると、キャストの閉じ括弧の後にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されず、キャストされた変数はキャストに固定されます。

int[] arr=(int[]) g(y);
int[] arr=(int[])g(y);

アノテーション値ペアの '=' の周囲

選択すると、アノテーション値のペア内の = 演算子の周囲にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

@Annotation(param1 = "value1", param2 = "value2")
@Annotation(param1="value1", param2="value2")

foreach のコロンの前

選択すると、foreach ループ内のコロンの前にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

for(int a : X){ System.out.print(a); }
for(int a: X){ System.out.print(a); }

1 行列挙型の波括弧の内側

選択すると、定数リストを囲む 1 行の列挙型の中括弧内にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

public enum Day{ MONDAY,TUESDAY,WEDNESDAY }
public enum Day{MONDAY,TUESDAY,WEDNESDAY}

型パラメーター

項目

説明

左山括弧の前

選択すると、型パラメーターの開始山括弧括弧の前にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

public class Foo <T extends Bar&Abba,U>{
public class Foo<T extends Bar&Abba,U>{

型境界の周囲

選択すると、型パラメーターの型境界の周囲にスペースが自動的に挿入されます。選択しない場合は、スペースは挿入されません。

public class Foo <T extends Bar&Abba,U>{
public class Foo<T extends Bar&Abba,U>{

折り返しと波括弧

このタブでは、IntelliJ IDEA がソースコードの再フォーマット時に適用するコードスタイルオプションをカスタマイズします。左側のペインには、例外リスト(整形時の保持)と、様々なコード構成要素(リスト、ステートメント、演算、アノテーションなど)の配置および配置オプションが表示されます。右側のペインにはプレビューが表示されます。

アライメントはインデントオプションよりも優先されます。

次でハードラップ

次でハードラップフィールドを使用して、要素の右側に必要なマージンスペースを指定します。デフォルトオプションを選択すると、グローバル設定の右マージンの値が使用されます。

入力時に折り返す

入力時に折り返す設定を使用して、編集したテキストを指定した次でハードラップにどのように合わせるかを指定します。

  • デフォルト : この場合、IntelliJ IDEA は、グローバル設定で指定されている入力時に折り返すオプションを使用します。

  • はい : この場合、IntelliJ IDEA は右マージンフィールドで指定された値を使用します。

  • いいえ : この場合、このオプションはオフになり、行は右マージンで指定された値を超える可能性があります。

ビジュアルガイド

複数の右マージンを指定するには、ビジュアルガイドフィールドを使用します。デフォルト値のままにするか、余白のスペース数を入力することができます。複数のマージンを指定する場合は、コンマで区切って番号を入力します。

整形時の保持

チェックボックスを使用して、ソースコードの再フォーマット時に IntelliJ IDEA が行う例外を構成します。例: デフォルトでは、改行チェックボックスが選択されています。コードに標準の規則よりも短い行が含まれている場合は、ソースコードを再フォーマットする前に改行チェックボックスを無効にすることで変換できます。

折り返しオプション

折り返しスタイルは、左側のペインで指定されたさまざまなコード構造に適用されます(たとえば、メソッド呼び出し引数、メソッド宣言パラメーター、割り当てステートメント)。

項目

説明

ラッピングスタイル

このリストから、希望の折り返しスタイルを選択します。

  • 折り返さない : このオプションを選択すると、特別な折り返しスタイルは適用されません。

    このオプションを選択すると、ネストされたアライメントと波括弧の設定は無視されます。

  • 長い場合は折り返す : このオプションを選択すると、右マージンを超える行が適切なインデントで折り返されます。

  • 常に折り返す : このオプションを選択すると、リスト内のすべての要素が折り返され、行ごとに適切なインデントを持つ要素が 1 つになります。

  • 長い場合は切り捨てる : このオプションを選択すると、リスト内の右マージンを超える要素が折り返され、行ごとに適切なインデントを持つ要素が 1 つになります。

アライメントオプション

項目

説明

複数行の場合は揃える

このチェックボックスをオンにすると、次の各行の同じ列でコード構成が開始されます。それ以外の場合は、コード構造の位置は現在のインデントレベルによって決定されます。

次のラインの <character(s)>

行が折り返されたときに、指定された文字を次の行に移動するには、このチェックボックスを選択します。

新しい行に 'else' を配置

対応する文または文字を次の行に移動するには、このチェックボックスを使用します。

<character> の後に改行を入れる

指定した文字の後のコードを改行するには、このチェックボックスを選択します。

'else if' を特別扱いする

このチェックボックスを選択すると、else if ステートメントは同じ行に配置されます。

それ以外の場合、else if ステートメントは対応するインデントレベルの次の行に移動されます。

'case' 分岐をインデントする

このチェックボックスを選択すると、case ステートメントは対応するインデントレベルに配置されます。それ以外の場合、case ステートメントは switch と同じインデントレベルに配置されます。

波括弧配置オプション

項目

説明

波括弧配置スタイル

このリストを使用して、クラス宣言メソッド宣言、およびその他のタイプの宣言での左中括弧の位置を指定します。使用可能なオプションは次のとおりです。

  • 行末に配置 : 開き括弧を宣言行の末尾に配置するには、このオプションを選択します。

  • 折り返されている場合は次の行に配置 : 左括弧を複数行の宣言行の後の行の先頭に配置するには、このオプションを選択します。

  • 次の行に配置 : このオプションを選択すると、宣言中の行の後の行頭に開き括弧が配置されます。

  • シフトして次の行に配置 : 宣言行の後ろの行に左中括弧を配置して、対応するインデントレベルに移動するには、このオプションを選択します。

  • それぞれシフトして次の行に配置 : このオプションを選択すると、宣言行の後の行に左中括弧が配置され、次の行も次のインデントレベルに移動します。

波括弧を強制する

このリストから、ifforwhiledo () while ステートメントの括弧の導入方法を選択します。使用可能なオプションは次のとおりです。

  • 強制しない : このオプションを選択すると、中括弧の挿入が自動的に抑制されます。

  • 複数行の場合 : このオプションを選択すると、ステートメントが複数の行を占める場合に中括弧が自動的に挿入されます。IntelliJ IDEA はステートメント全体の行数を分析しますが、その条件だけを分析しないことに注意してください。

    IntelliJ IDEA は自動的に中括弧を挿入します:

  • 常時 : このチェックボックスを選択すると、中括弧が常に自動的に導入されます。

チェーンメソッド呼び出し

次のオプションを使用して、連鎖メソッド呼び出しをフォーマットし、読みやすくします。チェーン呼び出しの設定に関係なく、ビルダーメソッド呼び出しは常にラップされることに注意してください。

項目

説明

最初の呼び出しを折り返す

最初のメソッド呼び出しを連鎖メソッドでラップできるようにします。

複数行の場合は揃える

複数のメソッド呼び出しを揃えます。

ビルダーメソッド

ビルダーメソッドとして扱いたいメソッドのコンマ区切りの名前(識別子)を指定します。

次に例を示します: withTitle,withYear,addAuthor,withName,withLastName,end,build

ビルダーメソッドのインデントを維持

コードを再フォーマットするときに、手動で挿入する追加のインデントをそのまま保持します。

空白行

このタブを使用して、再フォーマット後に IntelliJ IDEA が保持してコードに挿入する空白行の数と場所を定義します。ロケーションのタイプごとに、挿入する空白行の数を指定します。結果はプレビューペインに表示されます。

項目

説明

維持する最大空白行

この領域には、指定された場所で再フォーマットした後に保持する空白行の数を指定します。

最大空白行

この領域では、指定された位置に存在する空白行の数を指定します。

JavaDoc

項目

説明

位置合わせ

Javadoc コメントを配置する方法を定義します。

  • パラメーター説明の位置を合わせる : パラメーターの説明を最長のパラメーター名に合わせて配置します。それ以外の場合は、説明は対応するパラメーター名から 1 つのスペースで区切られます。

  • 例外の説明の位置を合わせる : スローされた例外の説明を最長の例外名に合わせて配置します。それ以外の場合は、説明と例外名は 1 つのスペースで区切られます。

空白行

Javadoc コメントに空白行を挿入する場所を定義します。

  • 説明の後 : Javadoc コメントの説明セクションの後に空白行を自動的に挿入します。

  • パラメーター説明の後 : @param タグのグループの後に空行を自動的に挿入します。

  • return タグの後 : @return タグの後に空行を自動的に挿入します。

無効なタグ

この領域では、無効なタグを保存するかどうかを定義します。

  • 無効なタグを維持する : @invalidTag を保存します。

  • 空の @param タグを維持する : 説明なしで @param タグを保持します。

  • 空の @return タグを維持する : 説明なしで @return タグを保持します。

  • 空の @throws タグを維持する : 説明なしで @throws タグを保持します。

その他

この領域で、Javadoc コメントの追加のフォーマットオプションを指定します。

  • 行頭のアスタリスク (*) を許可する : Javadoc コメントの各行をアスタリスクで始めます。

  • @exception の代わりに @throws を使用する : @throws タグを使用します。

  • 右マージンで折り返す : 右マージンを超えるテキストを次の行に折り返します。

  • 空白行に "<p>" を生成する : 空の行に </p> タグを自動的に挿入します。

  • 空白行を維持する : 空の行を手動で追加するには、このチェックボックスを選択します。

  • 1 行のコメントは折り返さない : 開始タグと終了タグを使用して、1 行に短いコメントを付けます。

  • 改行を保持する : このチェックボックスが選択されていない場合(デフォルト)、ラインフィードは再フォーマット時に保持されません。これは、コメントを段落の境界内でフォーマットして、最小限のスペースを占める必要がある場合に便利です。

    このチェックボックスをオンにすると、改行は保存されます。

  • パラメーターの説明の前に改行する : Javadoc パラメーターの説明(ある場合)を新しい行に配置します。継続インデント値に基づいてインデントを使用します。

  • 継続行をインデントする : 複数行コメントの後続の行をインデントします。

配置

このタブでは、好みに合わせてコードを並べ替える一連のルールを定義できます。

項目

説明

グループ化ルール

このエリアを使用して、グループ化ルールを設定します。

  • getter と setter をまとめる

    getter と setter のメソッドを一緒に保つには、このチェックボックスを選択します。デフォルトでは、このチェックボックスが選択されています。

  • オーバーライドされたメソッドをまとめる

    オーバーライドされたメソッドをクラスとインターフェースごとにグループ化するには、このチェックボックスを選択します。順序リストで、順序を維持または名前順オプションを選択します。

  • 依存メソッドをまとめる

    依存するメソッドをグループ化するには、このチェックボックスをオンにします。オーダーリストで、深さ優先で並べ替えまたは幅優先で並べ替えオプションを選択します。前者は、入れ子の階層に従ってメソッドを配置します。後者は、同じネストレベルの兄弟メソッドをグループ化します。

    class foo { public function parent() { $this->child1(); $this->child2(); } private function child1() { $this->nested1(); } private function nested1() { $this->nested2(); } private function nested2() { } private function child2() { } }
    class foo { public function parent() { $this->child1(); $this->child2(); } private function child1() { $this->nested1(); } private function child2() { } private function nested1() { $this->nested2(); } private function nested2() { } }

一致ルール

この領域を使用して、ルールのリストとして要素の順序を定義します。すべてのルールには、修飾子や型などの一致のセットがあります。

  • the Add button : このボタンを使用してルールを追加します。空のルール領域が開きます。

  • the Add Section Rule button : このボタンを使用してセクションルールを追加します。セクションルールを使用すると、メソッドまたは変数を自分が定義したセクションに移動できます。

    例: 以下のセクションルールを作成することができます。

    A matching rule

    アレンジ後、クラス内のメソッドは、作成されたセクションルールで指定されているように再配置され、コメントに囲まれます。

    //methods start public void test() {} private int a() { return 1; } static void r() {} //methods end
  • the Remove button : このボタンを使用してリストからルールを削除します。

  • the Edit button : このボタンを使用して既存のルールを編集します。このボタンを表示するには、編集するルールに移動してボタンをクリックします。表示されるポップアップで、ルールフィールドを変更します。

  • the Move up button the Move down button : これらのボタンを使用して、選択したルールを上下に移動します。

  • Configure matching rules : このボタンを使用して、一致ルールのエイリアスを構成します。この場合、配置ルールを作成するときに、一連の異なるルールを含むカスタムルール (エイリアス) を定義し、そのエイリアスを現在のルールに適用できます。

空のルール

このエリアを使用して、新しい一致ルールを作成するか、既存のルールを編集します。次のフィルターから選択できます。

  • タイプ : このフィルターを使用して、ルールのクラスまたはメソッドを選択します。

    タイプキーワードを 2 回クリックすると、条件が無効になることに注意してください。

  • 修飾子 : このフィルターを使用して、ルールの修飾子のタイプを選択します。

    修飾キーワードを 2 回クリックすると、条件が無効になることに注意してください。

  • 名前 : このフィールドを使用して、ルールのエントリ名を指定します。このフィルターは、フィールド名、メソッド名、クラス名などのエントリ名のみに一致します。フィルターは正規表現をサポートし、標準の構文(英語)を使用します。一致は名前全体に対して実行されます。

  • 順序 : このリストを使用して、ルールのソート順を選択します。このオプションは、複数の要素が同じ一致ルールを使用する場合に役立ちます。この場合、順序を維持を選択すると、再配置前に設定されたのと同じ順序が維持され、名前で並べ替えを選択すると、同じ一致ルールを持つ要素が名前で並べ替えられます。

  • エイリアス : このオプションは、ルールの別名定義ダイアログで定義されたエイリアスを表示します。不要なものは削除できます。

the Sort Alphabetically button

このアイコンは、順序リストから名前で並べ替えを選択すると表示されます。アイコンは、このルールの項目がアルファベット順にソートされていることを示します。

インポート

この表は、インポートが最適化されたときに実行されるアクションをリストしています。

項目

説明

一般

このエリアでは、一般的なインポートオプションを設定します。

オプション:

  • シングルクラスインポートを使用する : コード生成またはインポートの最適化中に、パッケージから特定のクラスのみをインポートします。それ以外の場合は、パッケージ全体をインポートするステートメントが挿入されます。

  • 完全修飾クラス名を使用する : コード生成またはインポートの最適化中にインポートされるクラスの完全修飾名を使用します。それ以外の場合は、通常のインポートステートメントが挿入されます。

  • 内部クラスのインポートを挿入する : コードで参照されている内部クラスのインポートを作成します。

  • JavaDoc で完全修飾名を使用する : Javadoc では完全修飾クラス名を使用してください。それ以外の場合、クラスはインポートされます。

  • '*' でインポートに使用するクラス数 : 単一のクラスをインポートするすべてのステートメントがパッケージ全体をインポートするステートメントに置き換えられるまで、単一のパッケージからインポートされるクラスの数を指定します。

  • '*' で static インポートに使用する名前数 : このフィールドでは、単一のメンバーをインポートするすべてのステートメントがクラス全体をインポートするステートメントに置き換えられるまで、単一のクラスからインポートされるメンバーの数を指定します。

JSP インポートレイアウト

この領域で、JSP インポート文をコード内でどのように整理するかを設定します。導入された変更は、下のプレビューペインに表示されます。

オプション:

  • コンマ区切りのインポートリストを使用する : このオプションを選択すると、コンマ区切りリストで編成された文をインポートできます。

  • ページディレクティブごとに import 文を使用する : 1 行に 1 つのインポート文を作成するには、このオプションを選択します。

'*' を使用したインポートを使用するパッケージ

この領域では、パッケージとクラスのリストを常に完全にインポートするように構成します。

オプション:

  • Static: 選択したクラスに対して静的インポートを宣言する場合は、このチェックボックスを選択します。

  • パッケージ : この列のテキストフィールドに、常に完全にインポートされるパッケージとクラスを指定します。

    入力が終わると、IntelliJ IDEA はパッケージ名の最後に自動的に .* を追加します。

  • サブパッケージの使用 : このチェックボックスを選択すると、選択したパッケージのすべてのサブパッケージが完全にインポートされます。

  • パッケージの追加 : このボタンをクリックして、パッケージとクラスのリストに新しいエントリを追加します。

  • 空白の追加 : このボタンをクリックして、パッケージとクラスのリストに空の区切り記号を追加します。

  • 除去 : このボタンをクリックして、選択したパッケージまたはクラスをリストから削除します。

インポートのレイアウト

この領域では、インポートステートメントをコード内でどのように編成するかを構成します。特定のクラスを最初に配置するか、最後に配置するか、順番に配置するかを設定できます。インポートされたクラスは、パッケージごとにグループ化され、パッケージ内でアルファベット順にソートされます。

オプション:

  • static インポートを分けてレイアウト : このチェックボックスが選択されていると、すべての静的インポートは別のセクションに保存されます。それ以外の場合、すべての import 文は指定されたレイアウト規則に従ってソートされます。

  • Static: 選択したパッケージに対して静的インポートを宣言する場合は、このチェックボックスを選択します。

  • パッケージ : この列のテキストフィールドに、インポートするパッケージを指定します。

  • サブパッケージの使用 : このチェックボックスを選択すると、選択したパッケージのすべてのサブパッケージに IntelliJ IDEA がレイアウトルールを適用します。

  • パッケージの追加 : このボタンをクリックして、パッケージのリストに新しいエントリを追加します。

  • 空白の追加 : このボタンをクリックすると、選択したエントリの後に空白行が挿入されます。これは、対応する import 文の間に空白行を挿入する必要があることを示します。

  • 上へ移動 / 下へ移動 : これらのボタンをクリックして、パッケージまたは空白行をリスト内で上下に移動し、インポート文の順序を定義します。

  • 除去 : 選択したパッケージをリストから削除するには、このボタンをクリックしてください。

コード生成

項目

説明

ネーミング

  • 長い名前を使用する : コード補完のルックアップリストで最も長い名前をハイライトします。無効になっている場合は、最も短い名前をハイライトします。

  • 名前の接頭辞および名前の接尾辞 : IntelliJ IDEA コード生成機能を使用して、新しいシンボルの命名候補を生成するための接頭辞と接尾辞を指定します。空白のフィールドの場合は、接頭辞または接尾辞のないデフォルトの名前の候補が使用されます。接頭辞値を追加すると、IntelliJ IDEA は提案されたベース名の最初の文字を大文字に自動的に変換します。

    例: 静的フィールドの接頭辞が s として定義され、フィールドのタイプが Counter である場合、推奨される静的フィールド名は sCounter になります。

デフォルトの可視性

生成されたフィールドとメソッドのデフォルトのアクセスレベルを選択します。

明示的に指定するか、エスカレートを選択して自動的に必要なレベルに上げることができます。

変数宣言

デフォルトで final 修飾子を使用してローカル変数とパラメーターを生成するかどうかを指定します。

コードのコメント

この領域を使用して、生成されたコメントのコードスタイルを構成します(Ctrl+/ 行および Ctrl+Shift+/ ブロック)。

  • 最初の列に行コメントを入れる : 最初の列の開始行コメント(Ctrl+/)。このオプションを無効にすると、コメントはコードに合わせて調整されます。

  • コメントの最初に空白を追加する : 行コメント文字とコメント行の最初の文字の間にスペースを挿入します。

  • 整形時に強制する : コードを再フォーマットするときは、既存のコメントの行コメント文字とコメント行の最初の文字の間にスペースを挿入します。最初の文字は英数字記号である必要があることに注意してください。そうでない場合、スペースは挿入されません。例: //&Lorem ipsum コメントはリフォーマッターによって無視されます。

    このオプションは、コメントの最初に空白を追加するが有効になっている場合に使用可能になります。

  • 最初の列にブロックコメントを入れる : 最初の列でブロックコメント(Ctrl+Shift+/)を開始します。このオプションを無効にすると、コメントはコードに合わせて調整されます。

  • ブロックコメントの周りにスペースを追加する : ブロックコメント文字とコメント付きテキストの最初の文字の間にスペースを挿入します。

メソッドシグネチャーのオーバーライド

  • @Override アノテーションを挿入 : メソッドをオーバーライドするときに @Override アノテーションを挿入します。

  • synchronized 修飾子を繰り返す : 同期されるメソッドをオーバーライドするときに、synchronized キーワードを追加します。

  • コピーするアノテーション : オーバーライドするメソッドにコピーするアノテーションを指定します。

  • 外部アノテーションを使用 : アノテーションをソースコードに保存するか、外部に保存するかを指定するように求めます。無効にすると、デフォルトでアノテーションがソースコードに追加されます。

ラムダ本体

ラムダ式が既存のメソッドを呼び出す場合、メソッド参照を使用して名前でメソッドを参照することをお勧めします。これらのチェックボックスは、メソッド参照に置換可能なラムダインスペクションに影響します。有効にすると、対応するラムダ式が、関連するクイックフィックスとともに警告としてハイライトされます。無効にした場合、コードはハイライトされませんが、ラムダ式をメソッド参照に置き換えるインテンションは引き続き使用可能です。

  • 可能な場合は Class::isInstance および Class::cast を使用する

    例: obj1 -> obj1 instanceof FooFoo.class::isInstance に、obj -> (Foo)objFoo.class::cast に置き換えます。

  • null チェックを Objects::nonNull または Objects::isNull に置換する

    例: x -> x != nullObjects::nonNull に置き換えます。

  • 可能な場合は Integer::sum などを使用する

    例: (a, b) -> a + bInteger::sum に置き換えます。

関連ページ:

コードの整形

IntelliJ IDEA を使用すると、現在のコードスタイルスキームまたは .editorconfig ファイルで指定した要件に従ってコードを再フォーマットできます。で定義されていないものがあれば、プロジェクト設定から取得されます。コードの一部、ファイル全体、ファイルのグループ、ディレクトリ、モジュールを再フォーマットできます。また、コードの一部または一部のファイルを再フォーマットから除外することもできます。コードフラグメントを再フォーマットするエディターで、再フォーマットしたいコードフラグメント...

コードスタイル

スキーム:この領域で、コードスタイルスキームを選択し、必要に応じて変更します。コードスタイルスキームの設定は、IntelliJ IDEA がコードを生成、リファクタリング、再フォーマットするたびに自動的に適用されます。IDE には、プロジェクトスキームとデフォルトスキームの 2 つの定義済みスキームが付属しています。プロジェクトスキームでは、構成する設定は現在のプロジェクトにのみ適用されます。これらの設定は、.idea の codeStyles フォルダーに保存され、VCS を介してプロジェクトと共...

コードの再配置

配置ルールの構成:設定ダイアログのコードスタイルページで設定された配置規則に従って、コードを再配置できます。ルールのグループ(エイリアス)を作成し、一致するルールを作成するときに参照することもできます。グループ化ルールを構成するグループ化ルールを使用すると、関連するクラスメソッドをまとめることができます。を押して設定を開き、エディター | コードスタイル | Java を選択します。配置タブで、グループ化ルール領域のグループ化オプションを選択します。依存メソッドをまとめるオプションの場合、深さ優...

自動インポート

まだインポートしていないクラス、静的メソッド、静的フィールドを使用している場合、IDE は不足しているインポート文を追加するよう促すツールヒントを表示します。これにより、手動で追加する必要がなくなります。提案を受け入れるには、を押してください。インポート可能なソースが複数ある場合、を押すと候補のリストが開きます。インポートツールチップの背景色を変更するには、を押してに移動します。インポートステートメントを自動的に追加する:選択肢がない場合は、インポート文を自動的に追加するように IDE

アノテーション

アノテーションは、クラス、メソッド、パラメーターなどのコード要素に関する情報を提供するメタデータの一部です。Java には、一連の組み込みアノテーションがあります。また、Spring や Lombok などの多くのライブラリやフレームワークは、独自のアノテーションを定義しています。これらのアノテーションによって提供されるメタデータは、コンパイル時と実行時の両方で使用でき、たとえば定型コードを生成したり、リフレクションを通じてユーザークラスと対話したりできます。コード契約アノテーション:コードの...

コードスタイル: SQL

このページで、コードスタイル設定を構成する SQL ダイアレクトを選択します。SQL コードスタイルを構成するで SQL スタイルを構成する方法の詳細を参照してください。すべての SQL ダイアレクトで、次のコードスタイル設定が利用できます。大 / 小文字単語の大文字と小文字のオプションを変更します。クエリ、、およびその他のクエリ構造のコードスタイルを構成します。DDL、ビュー、制約、その他の DDL 構造のコードスタイルを構成します。コード宣言された変数、ルーチン引数、ルーチンステートメント、...