Documentation versions (currently viewingVaadin 24)

Editor Settings for Contributors

How to organize your development environment for Vaadin documentation contributions.

Setting up your development environment as do Vaadin employees makes it easier to review and accept code contributions.

General Formatting Rules

  • Spaces instead of tabs

  • UTF-8 encoding

  • 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

All source code files need to include a copyright notice at the beginning of the file.

  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:

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

Unless required by applicable law or agreed 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.

Known Problems in Configuration

IntelliJ IDEA has a known problem with importing sources of other modules as resources. This affects the Flow project where flow-client has flow-server sources as a resource.

The fix for this is to comment out the flow-server resource for the flow-client/pom.xml (source) during development.

To build the flow-client package, remember to un-comment the resource. And don’t commit this change to the repository.