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
Open Window › Preferences (Windows) or Eclipse › Preferences (Mac)
On the Java › Code Style › Formatter page, import your local copy of VaadinJavaConventions.xml
On the Java › Code Style › Organize Imports page, import your local copy of flow.importorder
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.
Go to General › Workspace
Set Text file encoding to UTF-8
Set New text file line delimiter to Unix
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
Open Window › Preferences (Windows) or Eclipse › Preferences (Mac)
On the Java › Code Style › Code Templates page, edit the Comments › Files template to add the copyright text:
Show code
Expand code
Copyright 2000-${currentDate:date('yyyy')} Vaadin Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.