[ANN] Tabifier plugin - new version 4.4

The Tabifier plugin re-spaces Java code so that syntactic elements are aligned vertically.

Version 4.4 fixes many problems with continuation lines, occurring (for example) with method calls whose parameters span more than one line.

Let me know if you have problems or suggestions! Thanks for your patience.

-Dave

2 comments

This is a list of the outstanding enhancements and feature requests for the Tabifier plugin, version 4.4.

I'm publishing it (a) so I won't lose it and (b) you can check to see if I've forgotten your suggestion or bug.

Spacing Adjustments
Handle requests made in http://www.intellij.net/forums/thread.jsp?forum=22&thread=54765 for more code layout spacing options.

- space between parentheses: yields () or ( )
- eliminate space before assignment operator (overrides code style setting "Space around assignment operators")
- space between array dimensions and array initializer
- spaces inside {} array initializer expression

(Following options may be implemented in Rearranger plugin instead of Tabifier.)

(if unchecked, lines are unaffected):

- force one/no blank line after opening brace
- force one/no blank line before closing brace

(Separate controls for class and method braces)

Adaptive grouping algorithm to prevent overrunning right margin or insertion of "too many" spaces. I anticipate three controls:

1) Checkbox indicating that alternative groupings be tried to prevent right margin overrun
2) Checkbox indicating that trailing comments be "unaligned" (left justified) to prevent or minimize right margin overrun
3) Numeric value representing the maximum number of spaces per line (on average) that may be added to a group.

The algorithm will take a group as currently delimited by blank line or statement type.

then the group is taken as it is. If not, the group is split into subgroups, first 2 (all combinations), then 3 (all combinations), up to the number of lines - 1. The combinations of a subgrouping are compared for least number of spaces inserted; the combination with the least number of spaces inserted is then tested to see if it meets the formula above. If not, continue on with the next subgrouping (larger number of subgroups). If breaking the group into single lines still does not fix the problem then no tabification takes place.

Add new configuration option to separate alignment of parameters in method signatures from alignment of parameters in method calls.

Display progress bar as tabification of large files or multiple files takes place.

Tabify multiple files by right=clicking on a directory in the project view.

Provide a new configuration option to *turn partial chopping into complete chopping, *before tabification.

so...

would become

Without that what happens is as follows...


Provide a new configuration option to left justify parameters except the first on the line, so example above yields: (param2 and param3 are left justified)


Right justify numeric literals only with respect to other numeric literals, not to all terms in the same column. So

instead of


Fix bug handling // comments. These comments, e.g. before a method declaration, are treated as "trailing comments" and are moved to the right but should remain against the left margin, e.g.


*Improve appearance of chained binary expressions *with multiple terms on each line, e.g.

*Improve preview pane; *expand examples to show behavior of all settings; maybe display the current document in the preview pane.

Please respond with any additional bugs or suggestions.

-Dave

0

Add capability to align @param and @return tag descriptions in javadoc comments.

0

Please sign in to leave a comment.