Cs-contrib.unkrig.de
Introduction
This project adds custom checks, filters and quickfixes for CheckStyle and Eclipse-CS.
Download
Install the ECLIPSE plug-in from this update site:
http://cs-contrib.unkrig.de/update
If you're only interested in the checks (and not the ECLIPSE plug-in), you can download the most recent 'de.unkrig.cs-contrib.core_*.jar' file from
http://cs-contrib.unkrig.de/update/plugins/
and put it on CheckStyle's classpath.
A change log is also available.
Checks and Quickfixes
<de.unkrig.Alignment>
- Verifies that Java elements are vertically aligned.
<de.unkrig.CppCommentAlignment>
- Verifies that C++ comments ('// ...') are correctly aligned.
<de.unkrig.InnerAssignment>
- Verifies that assignments in expressions are parenthesized.
<de.unkrig.NameSpelling>
- Verifies that the names of Java elements match, respectively no not match given patterns.
<de.unkrig.ParenPad>
- Enhanced version of "ParenPad": NOSPACE now allows '
( // ...
'. - This check is superseded by 'de.unkrig.Whitespace'.
<de.unkrig.Whitespace>
- Verifies that tokens are, respectively are not preceded with (and/or followed by) whitespace.
Check 'de.unkrig.WhitespaceAround'
Checks that a token is surrounded by whitespace. Empty constructor bodies, method bodies, catch blocks and type bodies of the form
This check is superseded by 'de.unkrig.Whitespace'.
public MyClass() {} // empty constructor body public void func() {} // empty method body public void func() { new Object() { // ... }.hashCode(); // No space between '}' and '.' -- always allowed try { // ... } catch {} // empty catch block } interface MyInterface {} // emtpy type body
may optionally be exempted from the policy using the allowEmptyMethods
, allowEmptyConstructors
, allowEmptyCatches
and allowEmptyTypes
properties.
Properties:
- allowEmptyConstructors
- allow empty constructor bodies
- allowEmptyMethods
- allow empty method bodies
- allowEmptyCatches
- allow empty catch blocks
- allowEmptyTypes
- allow empty class and interface bodies
- tokens
- Tokens to check
Check 'de.unkrig.WrapAndIndent'
Statements must be uniformly wrapped and indented.
Properties
- basicOffset
- How many spaces to use for new indentation level
Quickfixes
- Wrap line
- Wrap this line at the correct position
- Join lines
- Append this line to the previous
- Correct indentation
- Correct the indentation of this line
Check 'de.unkrig.ZeroParameterSuperconstructorInvocation'
Checks that no constructor calls the zero-parameter superconstructor.
Quickfixes:
- Remove
- Remove redundant invocation of zero-parameter superconstructor
Filters
Filter 'de.unkrig.SuppressionLine'
Events (i.e. CheckStyle warnings) are switched off by a 'magic line' ('offCommentFormat') or back on by another 'magic line' ('onCommentFormat').
After the 'off' magic line, events do not show if at least one of the following conditions is true:
- The 'checkNameFormat' (if set) is found in the check name (e.g. 'de.unkrig.cscontrib.checks.Alignment')
- The 'messageFormat' (if set) is found in the event message
- The 'moduleIdFormat' (if set) is found in the ID of the module that generated the event
This filter can only work if a 'FileContentsHolder' module exists in the configuration.
Properties:
- offFormat
- Line pattern to trigger filter to begin suppression
- onFormat
- Line pattern to trigger filter to end suppression
- checkNameFormat
- Check name pattern to suppress
- messageFormat
- Message pattern to suppress
- moduleIdFormat
- Module ID pattern to suppress
License
CS-CONTRIB.UNKRIG.DE is published under the "New BSD License".
Source Code
The source code is available through SVN:
https://svn.code.sf.net/p/loggifier/code