IntelliJ IDEA Editor Settings
This page describes the noticeable changes made to the default code formatting settings in IntelliJ IDEA. 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
Install the Eclipse Code Formatter plugin, then restart IDEA
Open Settings (Ctrl+Alt+S or ⌘+,)
On the Other Settings › Eclipse Code Formatter page
Check Use the Eclipse code formatter
In the Supported file types section, check Enable Java
In Eclipse Java Formatter config file, browse to your local copy of VaadinJavaConventions.xml
Go to Editor › Code Style, and set Hard wrap at (columns) to 80
Imports
Open Settings (Ctrl+Alt+S or ⌘+,)
Go to Editor › General › Auto Import and un-check Optimize imports on the fly
Go to Editor › Code Style › Java and on the Imports tab
Make sure that Use single class import is checked
Set both Class count to use import with ‘*‘ and Names count to use static import with ‘*‘ to 99
On the Import Layout pane, make sure that Layout static imports separately is checked
Remove all the packages in the list Packages to Use Import with ‘*‘
Organize Java imports to comply to the convention defined below:
Show code
Java
Expand code
import javax.*
import java.*
<blank line>
import all other imports
<blank line>
import com.google.gwt.*
import com.vaadin.*
<blank line>
import elemental.*
import static all other imports
Copyright
Open Settings (Ctrl+Alt+S or ⌘+,)
Go to Editor › Copyright › Copyright Profiles and create a new profile named Vaadin, with the copyright text as defined below:
Show code
Expand code
Copyright 2000-$today.year 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.
Known Problems in Configuration
IntelliJ IDEA has a known problem with importing sources of other module as resources. Which is the case with the Flow project where flow-client
has flow-server
sources as a resource.
The fix for this is to during development time comment out the flow-server
resource for the flow-client/pom.xml
.
Show code
Comment out the flow-server resource
Expand code
<resource><directory>../flow-server/src/main/java</directory></resource>
Note | Build flow-client package To build the flow-client package remember to un-comment the resource. |
- Go one level higher, to Editor › Copyright, and set Default project copyright to the Vaadin profile you just created