Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set indentation of array's elements in Java Script source code in Eclipse?

How can I configure formatting options in Eclipse for Java Script source code so that having this code:

var o = {
    items: [{
        xtype: 'grid',
        columns: [<cursor here>{header: 'Column One'}],
    }],
};

after pressing Enter I get this

var o = {
    items: [{
        xtype: 'grid',
        columns: [
            {header: 'Column One'}],
    }],
};

instead of the default:

var o = {
    items: [{
        xtype: 'grid',
        columns: [
                  {header: 'Column One'}],
    }],
};

I'd like to have initializers of array's elements indented with one level of indentation (tab in my case) not aligned with the opening bracket. I can't get the right indentation even manually - given this code

var o = {
    items: [{
        xtype: 'grid',
        columns: [
{header: 'Column One'}], // cursor at the beginning of this line
    }],
};

after pressing Tab twice I get the same indentation as after pressing Enter above.
I'm using JavaScript Development Tools ver. 1.3.0.v201103031824 from Eclipse Web Tools Platform.

like image 775
Piotr Dobrogost Avatar asked Aug 21 '11 21:08

Piotr Dobrogost


People also ask

How to format Eclipse Java code?

Eclipse has a default Java code formatting profile, known as Eclipse [built-in], which it uses to format code every time you press the combination keys Ctrl + Shift + F (on Windows) and ⌘ + ⇧ + F (on Mac).


1 Answers

Hope this helps albeit a bit late...

You can change the Formatter for JavaScript in Eclipse->Preferences
Goto JavaScript->Code Style->Formatter

Edit to create your custom profile and make changes to the following:
In the Line Wrapping Tab

  • Change Default Indentation for array Initializers to "1"
  • Select Expressions->Array Initializers and set the line wrapping policy as desired. Wrap all except first seemed OK to me.
  • Change Indentation policy for the above to "Indent by one"
  • Check the Force split box to have the effect always regardless of whether or not a Wrap is required.
like image 115
sErVerdevIL Avatar answered Nov 01 '22 15:11

sErVerdevIL