Eclipse Editor Settings

This page describes the noticeable changes made to the default code formatting settings in Eclipse. This is also a chance to review some of these changes and tweak them if necessary. None of these are essential for a pull request, but they all help. They can also be added after the original pull request but before a merge.

General

  • Line length is 80 characters

  • Use spaces instead of tabs for indentation

  • Use UTF-8 encoding

  • Use unix-style line endings (\n)

Code Conventions

  1. Open Window Preferences (Windows) or Eclipse Preferences (Mac)

  2. On the Java Code Style Formatter page, import your local copy of VaadinJavaConventions.xml

  3. On the Java Code Style Organize Imports page, import your local copy of flow.importorder

  4. On the Editor Save Actions tab, make sure that in case Format source code is active, the Format edited lines option is selected. Never use the Format all lines option, as that may introduce loads of unnecessary code changes, making code reviews a nightmare.

  5. Go to General Workspace

    1. Set Text file encoding to UTF-8

    2. Set New text file line delimiter to Unix

  6. Go to XML XML Files Editor and ensure the settings are configured as follows:

    • Line width: 72

    • Format comments: true

    • Join lines: true

    • Insert whitespace before closing empty end-tags: true

    • Indent using spaces: true

    • Indentation size: 4

Copyright

  1. Open Window Preferences (Windows) or Eclipse Preferences (Mac)

  2. On the Java Code Style Code Templates page, edit the Comments Files template to add the copyright text:

    Show code

    Expand code

    1. Copyright 2000-${currentDate:date('yyyy')} Vaadin Ltd.
    2. Licensed under the Apache License, Version 2.0 (the "License"); you may not
    3. use this file except in compliance with the License. You may obtain a copy of
    4. the License at
    5. http://www.apache.org/licenses/LICENSE-2.0
    6. Unless required by applicable law or agreed to in writing, software
    7. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
    8. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
    9. License for the specific language governing permissions and limitations under
    10. the License.