The white space settings page lets you control the white space used to separate individual syntax elements of source files. Making good use of spacing is considered good programming style and therefore Jalopy provides a great amount of configurability.
Because of the sheer amount of options, you can choose between two views that group the available options in different ways to provide a somewhat greater flexibility when adjusting the more than 150 individual options.
Choose view
Lets you choose between different views in which the white space options are presented to the user.
The available choices are:
-
Group by Java Token
The token view groups the white space options by the Java separator and operator tokens like commas, parentheses or assignments. This is the default and preferred view, because ideally it takes little more than twenty adjustments to configure behavior for all available options.
-
Groupy by Java Element
The element view groups the white space options logically by the different available elements like declarations, control statements or expressions. This way it is easier to adjust options for just one element as all related options are presented together.
Since 1.6
Lets you specify what operators should have a blank space printed before.
Controls whether a blank space will be printed before assignment operators. The
assignment operators are: = += -= *= \= %= &= |= ^= <<=
>>= >>>=
Controls whether a blank space will be printed before assignment operators in annotations.
Since 1.9
Controls whether a blank space will be printed before bitwise operators. The bitwise operators are: & | ^
Controls whether a blank space will be printed before logical operators. The
logical operators are: && ||
Example 2.330. Logical operator with spaces around
if((LA(1)=='/') &&(LA(2)!='*' ||(LA(2)=='*' &&LA(3)!='*'))) ...
Controls whether a blank space will be printed before mathematical operators.
The mathematical operators are: + - / * %
Controls whether a blank space will be printed before relational operators. The
relational operators are: == != < > <= >=
Controls whether a blank space will be printed before shift operators. The shift operators are: << >> >>>
Controls whether a blank space will be printed before postfix operators. The postfix operators are: ++ --
Since 1.6
Controls whether a blank space will be printed before the string concat operator.
Since 1.0.3
Example 2.340. String concat operator with space before
a="a" +1; b=1 +"b"; c=1+2+3 +"c"; d="d" +1 +2 +3; e="e" +(1+2) +"e";
Lets you specify what operators should have a blank space printed after.
Assignment operator
Controls whether a blank space will be printed after assignment operators. The
assignment operators are: = += -= *= \= %= &= |= ^= <<=
>>= >>>=
Assignment operator in annotations
Controls whether a blank space will be printed after assignment operators in annotations.
Since 1.9
Bitwise operator
Controls whether a blank space will be printed after bitwise operators. The bitwise operators are: & | ^
Logical operator
Controls whether a blank space will be printed after logical operators. The
logical operators are: && ||
Example 2.348. Logical operator with spaces around
if((LA(1)=='/')&& (LA(2)!='*'|| (LA(2)=='*'&& LA(3)!='*'))) ...
Complement operator
Controls whether a blank space will be printed after complement operators. The
logical operators are: ~ !
Mathematical operator
Controls whether a blank space will be printed after mathematical operators.
The mathematical operators are: + - / * %
Relational operator
Controls whether a blank space will be printed after relational operators. The
relational operators are: == != < > <= >=
Shift operators
Controls whether a blank space will be printed after shift operators. The shift operators are: << >> >>>
Prefix operator
Controls whether a blank space will be printed after prefix operators. The
prefix operators are: ++ --
Unary operator
Controls whether a blank space will be printed after unary operators. The
unary operators are: - +
Since 1.6
String concat operator
Controls whether a blank space will be printed after the string concat operator.
Since 1.0.3
Example 2.362. String concat operator with space after
a="a"+ 1; b=1+ "b"; c=1+2+3+ "c"; d="d"+ 1+ 2+ 3; e="e"+ (1+2)+ "e";
Lets you specify what commas should have a blank space printed before.
Annotation array
Controls whether a blank space will be printed before commas of annotation arrays.
Example 2.364. Annotation array with space before comma
@Target({FIELD ,METHOD ,CONSTRUCTOR}) public class Foo { }
Annotation type member argument
Controls whether a blank space will be printed before commas of annotation member arguments.
Enum constant
Controls whether a blank space will be printed before commas of enum constants.
Enum constant argument
Controls whether a blank space will be printed before commas of enum constants.
Example 2.370. Enum constant arguments with space before comma
enum Color{GREEN(0 ,255 .0),BLUE(0 ,0 ,255)}
extends/implements
Controls whether a blank space will be printed before the commas of extends and/or implements types.
Extends type
Controls whether a blank space will be printed before the commas of extends types.
Extends type
Controls whether a blank space will be printed before the commas of implements types.
Multiple declarations
Controls whether a blank space will be printed before the commas of multi-field and/or multi-variable declarations.
Field
Controls whether a blank space will be printed before the commas of multi-field declarations.
Example 2.376. Multi-field declaration with space before commas
class Foo { int a=0 ,b=1 ,c=2 ,d=3; }
Variable
Controls whether a blank space will be printed before the commas of multi-variable declarations.
Example 2.378. Multi-variable declaration with space before commas
void foo() { int a=0 ,b=1 ,c=2 ,d=3; }
Declaration parameter
Controls whether a blank space will be printed before the commas of method and/or constructor declarations parameters.
Constructor
Method
Throws clauses
Controls whether a blank space will be printed before the commas of throws clauses of method and/or constructor declarations.
Constructor
Controls whether a blank space will be printed before the commas of throws clauses of constructor declarations.
Example 2.384. Constructor declaration throws clause with space before commas
Foo() throws IOException ,FooException {
}
Method
Controls whether a blank space will be printed before the commas of throws clauses of method declarations.
Example 2.386. Method declaration throws clause with space before commas
void foo() throws IOException ,FooException { }
Call arguments
Controls whether a blank space will be printed before the commas of call arguments.
Constructor
Controls whether a blank space will be printed before the commas of constructor call arguments.
Method
Controls whether a blank space will be printed before the commas of method call arguments.
Creator
Controls whether a blank space will be printed before the commas of creator call arguments.
Array initializer
Controls whether a blank space will be printed before the commas of array initializers.
for
Controls whether a blank space will be printed before the commas of for initializer and/or incrementor parts.
Initializer
Controls whether a blank space will be printed before the commas of for initializer parts.
Example 2.396. for initializer with space before commas
for(int i=0 ,j=array.length;i<array.length;i++) {}
Incrementor
Controls whether a blank space will be printed before the commas of for incrementor parts.
Example 2.398. for incrementor with space before commas
for(int i=0,j=array.length;i<array.length;i++ ,j--) {}
Parameterized types
Controls whether a blank space will be printed before the commas of parameterized types.
Type parameter
Controls whether a blank space will be printed before the commas of type parameters.
Type argument
Controls whether a blank space will be printed before the commas of type arguments.
Lets you specify what commas should have a blank space printed after.
Annotation array
Controls whether a blank space will be printed after commas of annotation arrays.
Example 2.404. Annotation array with space after comma
@Target({FIELD, METHOD, CONSTRUCTOR}) public class Foo { }
Annotation type member argument
Controls whether a blank space will be printed after commas of annotation member arguments.
Enum constant
Controls whether a blank space will be printed after commas of enum constants.
Enum constant argument
Controls whether a blank space will be printed after commas of enum constants.
Example 2.410. Enum constant arguments with space after comma
enum Color{GREEN(0, 255, 0),BLUE(0, 0, 255)}
extends/implements
Controls whether a blank space will be printed after the commas of extends and/or implements types.
Extends type
Controls whether a blank space will be printed after the commas of extends types.
Implements type
Controls whether a blank space will be printed after the commas of implements types.
IMultiple declarations
Controls whether a blank space will be printed after the commas of multi-field and/or multi-variable declarations.
Field
Controls whether a blank space will be printed after the commas of multi-field declarations.
Variable
Controls whether a blank space will be printed after the commas of multi-variable declarations.
Example 2.418. Multi-variable declaration with space after commas
void foo() { int a=0, b=1, c=2, d=3; }
Declaration parameter
Controls whether a blank space will be printed after the commas of method and/or constructor declarations parameters.
Constructor
Controls whether a blank space will be printed after the commas of constructor declarations parameters.
Method
Throws clauses
Controls whether a blank space will be printed after the commas of throws clauses of method and/or constructor declarations.
Constructor
Controls whether a blank space will be printed after the commas of throws clauses of constructor declarations.
Example 2.424. Constructor declaration throws clause with space after commas
Foo() throws IOException, FooException {
}
Method
Controls whether a blank space will be printed after the commas of throws clauses of method declarations.
Example 2.426. Method declaration throws clause with space after commas
void foo() throws IOException, FooException { }
Call arguments
Controls whether a blank space will be printed after the commas of call arguments.
Constructor
Controls whether a blank space will be printed after the commas of constructor call arguments.
Method
Controls whether a blank space will be printed after the commas of method call arguments.
Creator
Controls whether a blank space will be printed after the commas of creator call arguments.
Array initializer
Controls whether a blank space will be printed after the commas of array initializers.
for
Controls whether a blank space will be printed after the commas of for initializer and/or incrementor parts.
Initializer
Controls whether a blank space will be printed after the commas of for initializer parts.
Example 2.436. for initializer with space after commas
for(int i=0, j=array.length;i<array.length;i++) {}
Incrementor
Controls whether a blank space will be printed after the commas of for incrementor parts.
Example 2.438. for incrementor with space after commas
for(int i=0,j=array.length;i<array.length;i++, j--) {}
Parameterized types
Controls whether a blank space will be printed after the commas of parameterized types.
Type parameter
Controls whether a blank space will be printed after the commas of type parameters.
Type argument
Controls whether a blank space will be printed after the commas of type arguments.
Lets you specify what colons should have a blank space printed before.
assert
Controls whether colons of assert statements should have a blank space printed before.
case
Controls whether colons of case statements should have a blank space printed before.
Conditional
Controls whether colons of the conditional operator should have a blank space printed before.
for
Controls whether colons of enhanced for statements should have a blank space printed before.
Label
Controls whether colons of labeled statements should have a blank space printed before.
Lets you specify what colons should have a blank space printed after.
assert
Controls whether colons of assert statements should have a blank space printed after.
Conditional
Controls whether colons of the conditional operator should have a blank space printed after.
for
Controls whether colons of enhanced for statements should have a blank space printed after.
Label
Controls whether colons of labeled statements should have a blank space printed after.
Please note that this option only applies when no line break is printed after the colon.
Lets you specify what semicolons should have a blank space printed before.
for
Controls whether semicolons of for statements should have a blank space printed before.
Lets you specify what semicolons should have a blank space printed after.
for
Controls whether semicolons of for statements should have a blank space printed after.
Lets you specify what question marks should have a blank space printed before.
Conditional operator
Controls whether question marks of the conditional operator should have a blank space printed before.
Example 2.466. Conditional operator with space before question mark
String value=condition ?TRUE:FALSE;
Type parameter
Controls whether question marks of type parameters should have a blank space printed before. Please note that this option only applies if no white space after the left angle bracket is forced (See "Space after left bracket type parameter").
Example 2.468. Type parameter with space before question mark
class QuestionMark<T extends Comparable< ? super Number>> {}
Type argument
Controls whether question marks of type arguments should have a blank space printed before. Please note that this option only applies if no white space after the left angle bracket and/or commas is forced (See "Space after left bracket type argument").
Lets you specify what question marks should have a blank space printed after.
Conditional operator
Controls whether question marks of the conditional operator should have a blank space printed after.
Example 2.472. Conditional operator with space after question mark
String value=condition? TRUE:FALSE;
Type parameter
Controls whether question marks of type parameters should have a blank space printed after. Please note that this option only applies if no white space before the right angle bracket is forced (See "Space before right angle bracket type parameter").
Example 2.474. Type parameter with space after question mark
class X10<T extends Map.Entry<? ,? >> {}
Type argument
Controls whether question marks of type arguments should have a blank space printed after. Please note that this option only applies if no white space before the right angle bracket and/or commas is forced (See "Space before right angle bracket type argument").
Lets you specify whether a blank space should be printed before the ellipsis.
Vararg
Controls whether a blank space will be printed before the ellipsis of a variable arity parameter (varag).
Since 1.2
Lets you specify whether a blank space should be printed after the ellipsis.
Vararg
Controls whether a blank space will be printed after the ellipsis of a variable arity parameter (varag).
Since 1.6
Lets you specify whether a blank space should be printed before the ampersand.
Type parameter
Controls whether a blank space will be printed before the ampersand of type parameters.
Since 1.6
Lets you specify whether a blank space should be printed after the ampersand.
Type parameter
Controls whether a blank space will be printed after the ampersand of type parameters.
Since 1.6
Lets you specify what left parentheses should have a blank space printed before.
Annotation argument list
Controls whether a blank space should be printed before the left parenthesis of annotation argument lists.
Annotation type member
Controls whether a blank space should be printed before the left parenthesis annotation type members.
Example 2.488. Annotation type member with space left paren
@interface MyAnnotation {
String value ();
}
Enum constant argument
Controls whether a blank space should be printed before the left parenthesis of enum constant argument lists.
Declaration parameter
Controls whether a blank space will be printed before the left parenthesis of method and/or constructor parameter lists.
Constructor
Control whether a blank space will be printed before the left parenthesis of constructor parameter lists.
Example 2.492. Constructor declaration with space before left parenthesis
Foo (int p1,int p2,int p3) { }
Method
Control whether a blank space will be printed before the left parenthesis of method parameter lists.
Example 2.494. Method declaration with space before left parenthesis
public void foo (int p1,int p2,int p3) { }
Statement expressions
Lets you control whether a blank space will be printed before the left parenthesis of statement expressions.
if
Lets you control whether a blank space will be printed before the left parenthesis of if expressions.
for
Lets you control whether a blank space will be printed before the left parenthesis of for expressions.
while
Lets you control whether a blank space will be printed before the left parenthesis of while expressions.
switch
Lets you control whether a blank space will be printed before the left parenthesis of switch expressions.
throw
Lets you control whether a blank space will be printed before the left parenthesis of throw expressions.
Example 2.504. throw statement with space before left parenthesis
throw (new UnsupportOperationException());
synchronized
Lets you control whether a blank space will be printed before the left parenthesis of synchronized expressions.
Example 2.506. synchronized statement with space before left parenthesis
synchronized (this) { performOperation(); }
catch
Lets you control whether a blank space will be printed before the left parenthesis of catch expressions.
Example 2.508. catch statement with space before left parenthesis
try { Integer.parseInt(value); } catch (NumberFormatException ex) { }
return
Lets you control whether a blank space will be printed before the left parenthesis of return expressions.
Call arguments
Controls whether a blank space will be printed before the left parenthesis of call arguments.
Constructor
Controls whether a blank space will be printed before the left parenthesis of constructor call arguments.
Example 2.512. Constructor call with space before left parenthesis
Foo(int p1,int p2,int p3){ super (p1,true); }
Method
Controls whether a blank space will be printed before the left parenthesis of method call arguments.
Creator
Controls whether a blank space will be printed before the left parenthesis of creator call arguments.
Lets you specify what left parentheses should have a blank space printed after.
Annotation argument list
Controls whether a blank space should be printed after the left parenthesis of annotation argument lists.
Enum constant argument
Controls whether a blank space should be printed after the left parenthesis of enum constant argument lists.
Declaration parameter
Controls whether a blank space will be printed after the left parenthesis of method and/or constructor parameter lists.
Constructor
Control whether a blank space will be printed after the left parenthesis of constructor parameter lists.
Example 2.522. Constructor declaration with space after left parenthesis
Foo( int p1,int p2,int p3) { }
Method
Control whether a blank space will be printed after the left parenthesis of method parameter lists.
Example 2.524. Method declaration with space after left parenthesis
public void foo( int p1,int p2,int p3) { }
Statement expressions
Lets you control whether a blank space will be printed before the left parenthesis of statement expressions.
if
Lets you control whether a blank space will be printed after the left parenthesis of if expressions.
for
Lets you control whether a blank space will be printed after the left parenthesis of for expressions.
while
Lets you control whether a blank space will be printed after the left parenthesis of while expressions.
switch
Lets you control whether a blank space will be printed after the left parenthesis of switch expressions.
throw
Lets you control whether a blank space will be printed after the left parenthesis of throw expressions.
Example 2.534. throw statement with space after left parenthesis
throw( new UnsupportOperationException());
synchronized
Lets you control whether a blank space will be printed after the left parenthesis of synchronized expressions.
Example 2.536. synchronized statement with space after left parenthesis
synchronized( this) { performOperation(); }
catch
Lets you control whether a blank space will be printed after the left parenthesis of catch expressions.
Example 2.538. catch statement with space after left parenthesis
try { Integer.parseInt(value); } catch( NumberFormatException ex) { }
return
Lets you control whether a blank space will be printed after the left parenthesis of return expressions.
Call arguments
Controls whether a blank space will be printed after the left parenthesis of call arguments.
Constructor
Controls whether a blank space will be printed after the left parenthesis of constructor call arguments.
Example 2.542. Constructor call with space after left parenthesis
Foo(int p1,int p2,int p3){ super( p1,true); }
Method
Controls whether a blank space will be printed after the left parenthesis of method call arguments.
Creator
Controls whether a blank space will be printed after the left parenthesis of creator call arguments.
Parenthesized expression
Controls whether a blank space will be printed after the left parenthesis of parenthesized expressions..
Type cast
Controls whether a blank space will be printed after the left parenthesis of type casts.
Example 2.550. Type cast with space after left parenthesis
LineManager m = ( LineManager)a.getParent();
Lets you specify what right parentheses should have a blank space printed before.
Annotation argument list
Controls whether a blank space should be printed before the right parenthesis of annotation argument lists.
Enum constant argument
Controls whether a blank space should be printed before the right parenthesis of enum constant argument lists.
Declaration parameter
Controls whether a blank space will be printed after the left parenthesis of method and/or constructor parameter lists.
Constructor
Control whether a blank space will be printed before the right parenthesis of constructor parameter lists.
Example 2.556. Constructor declaration with space before right parenthesis
Foo(int p1,int p2,int p3 ) { }
Method
Control whether a blank space will be printed before the right parenthesis of method parameter lists.
Example 2.558. Method declaration with space before right parenthesis
public void foo(int p1,int p2,int p3 ) { }
Statement expressions
Lets you control whether a blank space will be printed before the left parenthesis of statement expressions.
if
Lets you control whether a blank space will be printed before the right parenthesis of if expressions.

