Jindent 4.2.4 released

on .

Java Formatter:
New features:
  • Added support for alignment of parameter declarations which are always wrapped to a new line.
  • Added new optional line wrapping strategy to save more space while formatting.
  • Added new setting to indent blocks from case labels.
  • Added new setting to disable wrapping of import statements.
  • Split general brace style settings into new sub categories: do-while/while/for, switch-case, if-else and block/initializer.
Bugfixes:
  • Aligning variable declarations could exceed the maximal line length. This is fixed.
  • Jindent's JavaDoc completion did not skip insertions for JavaDocs containing {@inheritDoc} tags. This is fixed.
  • Fixed wrong blank line insertion in switch-case blocks.
  • Fixed insertion of extra white spaces into comments like: //////////////////////
  • Semicolons following inline comments were wrapped to a new line. This is fixed.


C Formatter:
New features:
  • Added alignment and white space support for (de)reference operators in types.
  • Added alignment and white space support for bit fields.
  • Added white space support for sizeof operators.
  • Added new optional line wrapping strategy to save more space while formatting.
  • Added new formatting setting to wrap specific qualifiers to a new line.
  • Added new setting to indent blocks from case labels.
  • Split general brace style settings into new sub categories: do-while/while/for, switch-case, if-else and block/initializer.
  • Added new formatting feature to support static code analyzers which expect a white space insertion for intentionally left empty statements in loops.
Bugfixes:
  • Parsing C files containing C++ tokens as identifiers (like: new, delete, ...) threw a parsing error. To handle this problem the C/C++ formatter engine has been split into a single C and C++ formatter to differ between C and C++ grammar more precisely.
  • Jindent was not able to recognize \e in character and string declarations. This is fixed.
  • Added support to handle statements as parameters for more complex macro calls.
  • Added support to align parameters of macro calls like method calls.
  • Fixed formatting of macro calls followed by semicolons.
  • Fixed an alignment bug for initialized variable declarations in methods. Declarations like: MY_NUMBER x = 10, y = 20, z = 30; were not alignment correctly. This is fixed.
  • Aligning variable declarations could exceed the maximal line length. This is fixed.
  • Fixed another alignment bug for variable declarations and variable assignments.
  • Bit field constants were not supported in the C grammar file. This is added.
  • Keyword static before variable assignments were not recognized correctly. This is fixed.
  • Added support for FORM FEED (ASCII 12) characters in source code files.
  • Built in types used as function call arguments like: call_me(pz, double); threw an error. This is fixed.
  • Fixed parsing bug with #include directives used in initializers. Jindent now supports:
    type name = 
    #include "myfile.h"
    ;
  • Fixed wrong blank line insertion in switch-case blocks.
  • Fixed insertion of extra white spaces into comments like: //////////////////////
  • Fixed parse errors for pointer qualifiers like: char * POINTER_32 data;.
  • Fixed parse error for functions in concatenated string expressions: message( TEXT() TEXT() "some text here...")>
  • Fixed alignment bug in header files for parameters declarations. The output looked like:
    HRESULT SHPathToPidlEx(LPCTSTR       ,
                           LPITEMIDLIST *,
                           LPSHELLFOLDER );
    			
    but now the alignment is correct:
    HRESULT SHPathToPidlEx(LPCTSTR,
                           LPITEMIDLIST *,
                           LPSHELLFOLDER);
    			
  • Semicolons following inline comments were wrapped to a new line. This is fixed.
  • Fixed wrong alignment of indented preprocessor directives inside blocks.
  • Fixed parse error for character constants containing more than one letter.
  • Fixed grammar bugs for qualifiers in functions.
  • Fixed grammar bug for variable declarations with parentheses. Declarations like: IppVCHuffmanSpec_32s *(H264Bitstream::m_tblCoeffToken[5]) threw errors. This is fixed now.
  • Fixed parsing error for comments declared inside pre-processor defines:
    #define MY_NUMBER 42 /* my 
                            multi-line
                            comment */
                 
  • Comment alignment groups were only built for complete switch statements. That could lead to odd looking alignments for very big case labels. To fix this issue comment alignments will be now grouped for single case blocks.


C++ Formatter:
New features:
  • Added alignment and white space support for (de)reference operators in types.
  • Added alignment and white space support for bit fields.
  • Added white space support for sizeof operators.
  • Added new optional line wrapping strategy to save more space while formatting.
  • Added new formatting setting to wrap specific qualifiers to a new line.
  • Added line wrapping support for long template definitions.
  • Added new setting to indent blocks from case labels.
  • Split general brace style settings into new sub categories: do-while/while/for, switch-case, if-else and block/initializer.
  • Added new formatting feature to support static code analyzers which expect a white space insertion for intentionally left empty statements in loops.
Bugfixes:
  • Jindent was not able to recognize \e in character and string declarations. This is fixed.
  • Added support to handle statements as parameters for more complex macro calls.
  • Added support to align parameters of macro calls like method calls.
  • Fixed formatting of macro calls followed by semicolons.
  • Fixed an alignment bug for initialized variable declarations in methods. Declarations like: MY_NUMBER x = 10, y = 20, z = 30; were not alignment correctly. This is fixed.
  • Aligning variable declarations could exceed the maximal line length. This is fixed.
  • Fixed another alignment bug for variable declarations and variable assignments.
  • Bit field constants were not supported in the C++ grammar file. This is added.
  • Keyword static before variable assignments were not recognized correctly. This is fixed.
  • Added support for FORM FEED (ASCII 12) characters in source code files.
  • Built in types used as function call arguments like: call_me(pz, double); threw an error. This is fixed.
  • Fixed parsing bug with #include directives used in initializers. Jindent now supports:
    type name = 
    #include "myfile.h"
    ;
  • Fixed wrong blank line insertion in switch-case blocks.
  • Fixed insertion of extra white spaces into comments like: //////////////////////
  • Fixed parse errors for pointer qualifiers like: char * POINTER_32 data;.
  • Fixed parse error for functions in concatenated string expressions: message( TEXT() TEXT() "some text here...")>
  • Fixed alignment bug in header files for parameters declarations. The output looked like:
    HRESULT SHPathToPidlEx(LPCTSTR       ,
                           LPITEMIDLIST *,
                           LPSHELLFOLDER );
    			
    but now the alignment is correct:
    HRESULT SHPathToPidlEx(LPCTSTR,
                           LPITEMIDLIST *,
                           LPSHELLFOLDER);
    			
  • Semicolons following inline comments were wrapped to a new line. This is fixed.
  • Fixed wrong alignment of indented preprocessor directives inside blocks.
  • Fixed parse error for character constants containing more than one letter.
  • Fixed grammar bugs for qualifiers in functions.
  • Fixed grammar bug for variable declarations with parentheses. Declarations like: IppVCHuffmanSpec_32s *(H264Bitstream::m_tblCoeffToken[5]) threw errors. This is fixed now.
  • Fixed wrong white space insertions after scopes ::.
  • Fixed parsing error for comments declared inside pre-processor defines:
    #define MY_NUMBER 42 /* my 
                            multi-line
                            comment */
                 
  • Comment alignment groups were only built for complete switch statements. That could lead to odd looking alignments for very big case labels. To fix this issue comment alignments will be now grouped for single case blocks.


Jindent Customizer:
New features:
  • Cleaned up line wrapping sections and settings.


Jindent JDeveloper Plugin:
Added support for JDeveloper 11.1.2.2.0


Jindent Netbeans Plugin:
Added support for Netbeans 7.1 and 7.2


Jindent IntelliJ IDEA Plugin:
Added support for IntelliJ IDEA 11


Jindent Eclipse Plugin:
New features:
  • Added support for Eclipse 3.7.x and 4.2.x
  • Jindent's progress dialog is now embedded more natively into the Eclipse IDE.
Bugfix:
  • The previous 'format on save' concept based on listeners contained several problems with refreshed file resources. We now switched to Eclipse's built in 'actions on save' concept to prevent malfunctions. Therefore Jindent now offers its own 'format on save' action which can be enabled inside the Eclipse IDE easily.


Jindent Installer:
New features:
  • Improved support for Windows 7 and Mac OS.