|
|
| Changed: |
< < |
-- DaveKriewall - 23 Sep 2006
| > > |
-- DaveKriewall - 15 Feb 2007
|
| Added: |
> > |
- 15 Feb 2007 - Version 5.3
- Fix intermittent spacing problem with "new" expressions, e.g.
String[] args = new String[n];
would sometimes lose the space between "new" and "String" after being tabified.
-
- Handle leading annotations in variable and method declarations, so that modifiers are handled properly, e.g.
@CARD32 public final int target, internalFormat;
@INT32 protected int x, y, width;
@CARD32 public final int format, type;
can be tabified as follows:
@CARD32 public final int target, internalFormat;
@INT32 protected int x, y, width;
@CARD32 public final int format, type;
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.2"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.3"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-4_5.jar" attr="" comment="Tabifier plugin for IDEA 4.5" date="1092945689" path="C:\tabifier3\lib\tabifier-4_5.jar" size="181827" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-5.0-src.zip" attr="" comment="Tabifier 5.0 source" date="1092945839" path="C:\Temp\tabifier-5.0-src.zip" size="206481" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier5.1.2.zip" attr="" comment="Tabifier 5.1 source (for Irida build 3341)" date="1117482468" path="C:\Temp\tabifier5.1.2.zip" size="226210" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier5.2.zip" attr="" comment="Tabifier 5.2 source" date="1158960870" path="C:\Temp\tabifier5.2.zip" size="237539" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-4_5.jar" attr="h" comment="Tabifier plugin for IDEA 4.5" date="1092945689" path="C:\tabifier3\lib\tabifier-4_5.jar" size="181827" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-5.0-src.zip" attr="h" comment="Tabifier 5.0 source" date="1092945839" path="C:\Temp\tabifier-5.0-src.zip" size="206481" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier5.1.2.zip" attr="h" comment="Tabifier 5.1 source (for Irida build 3341)" date="1117482468" path="C:\Temp\tabifier5.1.2.zip" size="226210" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier5.2.zip" attr="h" comment="Tabifier 5.2 source" date="1158960870" path="C:\Temp\tabifier5.2.zip" size="237539" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
The new 4.0 version has many bug fixes and other improvements. It does a much better job at handling nested expressions and method calls. It also has several new features, such as the ability to right justify integer literals, e.g.
public static final int ONE = 1;
<nop>
| > > |
The newest version has many bug fixes and other improvements. It does a much better job at handling nested expressions and method calls. It also has several new features, such as the ability to right justify integer literals, e.g.
public static final int ONE = 1;
<nop>
|
| Changed: |
< < |
public ExpressionListParser(TokenColumn openParend,
<nop>
| > > |
public ExpressionListParser(TokenColumn openParend,
<nop>
|
| Changed: |
< < |
if ((psiExpressionList.getExpressions().length > expressionListIndex &&
<nop>
| > > |
if ((psiExpressionList.getExpressions().length > expressionListIndex &&
<nop>
|
| Changed: |
< < |
-- DaveKriewall - 30 May 2005
| > > |
-- DaveKriewall - 23 Sep 2006 |
|
|
| Added: |
> > |
- 23 Sep 2006 - Version 5.2
- Fix parsing bug where "new int[20]" and "new String[20]" did not recognize "int" (a primitive type) as an alignable item. Result was that "String[20]" was aligned after "int[20]" instead of below "int[20]".
- Fix parsing bug which caused annotations to be discarded.
- Split up configuration panels so that the sample text was more tailored for individual sections and the effect of settings changes can be more easily seen.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.1.x"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.2"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier5.2.zip" attr="" comment="Tabifier 5.2 source" date="1158960870" path="C:\Temp\tabifier5.2.zip" size="237539" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 20 Aug 2004
| > > |
-- DaveKriewall - 30 May 2005
|
| Added: |
> > |
- 30 May 2005 - Version 5.1
- Adjacent one-line method declarations are aligned as a group.
- Primarily a re-release to support new versions of IDEA (4.5.4 and Irida EAP).
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.0"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.1.x"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier5.1.2.zip" attr="" comment="Tabifier 5.1 source (for Irida build 3341)" date="1117482468" path="C:\Temp\tabifier5.1.2.zip" size="226210" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 15 May 2004
| > > |
-- DaveKriewall - 20 Aug 2004
|
| Added: |
> > |
- 20 Aug 2004 - Version 5.0
- Fixed problem parsing "new" expressions (due to PSI tree change in IDEA 4.5) which caused misalignment of '=' assignment operators.
- Plugin now uses code style settings for spaces within parentheses properly.
- Compiled for IDEA 4.5. Fixed configuration panel which now properly shows preview text again.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.8"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="5.0"}%
|
| Changed: |
< < |
%META:FIELD{name="TopicShortDescription" title="TopicShortDescription" value="This plugin aligns various syntactic elements of Java declarations and assignment statements."}%
| > > |
%META:FIELD{name="TopicShortDescription" title="TopicShortDescription" value="This plugin respaces Java code so that syntactic elements are aligned vertically."}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.5 plugin" date="1070878024" path="C:\tabifier3\lib\tabifier.jar" size="172242" user="DaveKriewall" version="1.28"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="h" comment="Tabifier 4.5 plugin" date="1070878024" path="C:\tabifier3\lib\tabifier.jar" size="172242" user="DaveKriewall" version="1.28"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier29.jar" attr="" comment="Tabifier 2.9 - for production build 3.0.x" date="1063334775" path="C:\Temp\tabifier29.jar" size="140564" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier29.jar" attr="h" comment="Tabifier 2.9 - for production build 3.0.x" date="1063334775" path="C:\Temp\tabifier29.jar" size="140564" user="DaveKriewall" version="1.1"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-4.5-src.zip" attr="" comment="Tabifier 4.5 source" date="1070878059" path="c:\temp\tabifier-4.5-src.zip" size="193559" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-4.8-src.zip" attr="" comment="Tabifier 4.8 source" date="1084573175" path="C:\temp\tabifier-4.8-src.zip" size="205762" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-2072.jar" attr="" comment="Tabifier 4.8 plugin for Pallada build 2072" date="1086126064" path="c:\tabifier3\lib\tabifier-2072.jar" size="178473" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-4.5-src.zip" attr="h" comment="Tabifier 4.5 source" date="1070878059" path="c:\temp\tabifier-4.5-src.zip" size="193559" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-4.8-src.zip" attr="h" comment="Tabifier 4.8 source" date="1084573175" path="C:\temp\tabifier-4.8-src.zip" size="205762" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-2072.jar" attr="h" comment="Tabifier 4.8 plugin for Pallada build 2072" date="1086126064" path="c:\tabifier3\lib\tabifier-2072.jar" size="178473" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-4_5.jar" attr="" comment="Tabifier plugin for IDEA 4.5" date="1092945689" path="C:\tabifier3\lib\tabifier-4_5.jar" size="181827" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-5.0-src.zip" attr="" comment="Tabifier 5.0 source" date="1092945839" path="C:\Temp\tabifier-5.0-src.zip" size="206481" user="DaveKriewall" version="1.1"}% |
|
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier-2072.jar" attr="" comment="Tabifier 4.8 plugin for Pallada build 2072" date="1086126064" path="c:\tabifier3\lib\tabifier-2072.jar" size="178473" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 14 Apr 2004
| > > |
-- DaveKriewall - 15 May 2004
|
| Added: |
> > |
- 14 May 2004 - Version 4.8
- Align single-line code blocks (e.g. one line method declarations).
- Improve determination of trailing vs. non-trailing comments.
- Fix "new thing[] {...}" array initializer parsing.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.7"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.8"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier-4.8-src.zip" attr="" comment="Tabifier 4.8 source" date="1084573175" path="C:\temp\tabifier-4.8-src.zip" size="205762" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 05 Dec 2003
| > > |
-- DaveKriewall - 14 Apr 2004
|
| Added: |
> > |
- 13 Apr 2004 - Version 4.7
- Re-enabled preview pane; works with IDEA production build 4.0.
- Save and restore "Rearrange and align modifiers" setting properly.
- Use new icon, courtesy of Alexey Efimov.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.5"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.7"}% |
|
|
| Changed: |
< < |
- 05 Dec 2004 - Version 4.4
| > > |
- 08 Dec 2003 - Version 4.5
- Fixes for submitted bugs involving continuation lines (e.g., method call parameters on several lines).
- Provide separate controls for parameter alignment in method declarations and method calls.
- Provide separate controls for first parameter of line vs. remainder of parameters.
- Align right-justified literals with respect to themselves, not other tokens.
- Added several "force space before/within {construct}" options:
- Space within empty parentheses "( )" and braces "{ }"
- Eliminate space before assignment operators
- Force space before array initializer left brace
- Force spaces within non-empty array initializer braces
- Improved Preview pane contents to cover all options.
- 05 Dec 2003 - Version 4.4
|
| Changed: |
< < |
- 03 Nov 2004 - Version 4.2 (4.3 is equivalent)
| > > |
- 03 Nov 2003 - Version 4.2 (4.3 is equivalent)
|
| Changed: |
< < |
- 30 Oct 2004 - Version 4.1
| > > |
- 30 Oct 2003 - Version 4.1
|
| Changed: |
< < |
- 29 Oct 2004 - Version 4.0
| > > |
- 29 Oct 2003 - Version 4.0
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.4"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.5"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.4 plugin" date="1070614415" path="C:\tabifier3\lib\tabifier.jar" size="165027" user="DaveKriewall" version="1.27"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.5 plugin" date="1070878024" path="C:\tabifier3\lib\tabifier.jar" size="172242" user="DaveKriewall" version="1.28"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-4.4-src.zip" attr="" comment="Tabifier 4.4 source" date="1070614449" path="C:\temp\tabifier-4.4-src.zip" size="181518" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-4.4-src.zip" attr="h" comment="Tabifier 4.4 source" date="1070614449" path="C:\temp\tabifier-4.4-src.zip" size="181518" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-4.5-src.zip" attr="" comment="Tabifier 4.5 source" date="1070878059" path="c:\temp\tabifier-4.5-src.zip" size="193559" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 03 Nov 2003
| > > |
-- DaveKriewall - 05 Dec 2003
|
| Changed: |
< < |
- 03 Nov 2004 - Version 4.2
| > > |
- 05 Dec 2004 - Version 4.4
- bug fixes: handle continuation line properly (e.g. with parameters on multiple lines; with all combinations of alignment settings).
- 03 Nov 2004 - Version 4.2 (4.3 is equivalent)
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.2"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.4"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.2A with NPE fix" date="1068833029" path="C:\old\tabifier3\lib\tabifier.jar" size="160615" user="DaveKriewall" version="1.26"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.4 plugin" date="1070614415" path="C:\tabifier3\lib\tabifier.jar" size="165027" user="DaveKriewall" version="1.27"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier4.2-source.zip" attr="" comment="Tabifier 4.2 source" date="1067891659" path="C:\Temp\tabifier4.2-source.zip" size="174866" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier4.2-source.zip" attr="h" comment="Tabifier 4.2 source" date="1067891659" path="C:\Temp\tabifier4.2-source.zip" size="174866" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier-4.4-src.zip" attr="" comment="Tabifier 4.4 source" date="1070614449" path="C:\temp\tabifier-4.4-src.zip" size="181518" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.2" date="1067891620" path="C:\tabifier3\lib\tabifier.jar" size="160719" user="DaveKriewall" version="1.25"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.2A with NPE fix" date="1068833029" path="C:\old\tabifier3\lib\tabifier.jar" size="160615" user="DaveKriewall" version="1.26"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 30 Oct 2003
| > > |
-- DaveKriewall - 03 Nov 2003
|
| Added: |
> > |
- 03 Nov 2004 - Version 4.2
- bug fix: class comments are no longer aligned with trailing comments. Class comments are defined as any comment with no preceding text on the line, or occurring before the first field or method definition of the class, or occurring after the closing right brace of the class.
- enhancement: array initializers are now formatted properly; but this formatting can be completely disabled on the configuration panel.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.1"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.2"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.1" date="1067536332" path="C:\tabifier3\lib\tabifier.jar" size="164498" user="DaveKriewall" version="1.24"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.2" date="1067891620" path="C:\tabifier3\lib\tabifier.jar" size="160719" user="DaveKriewall" version="1.25"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.9 source" date="1055867792" path="c:\temp\tabifier-source.zip" size="97227" user="DaveKriewall" version="1.10"}%
%META:FILEATTACHMENT{name="tabifier3.0-source.zip" attr="" comment="Tabifier 3.0 source" date="1063334539" path="C:\Temp\tabifier3.0-source.zip" size="124999" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="h" comment="Version 2.9 source" date="1055867792" path="c:\temp\tabifier-source.zip" size="97227" user="DaveKriewall" version="1.10"}%
%META:FILEATTACHMENT{name="tabifier3.0-source.zip" attr="h" comment="Tabifier 3.0 source" date="1063334539" path="C:\Temp\tabifier3.0-source.zip" size="124999" user="DaveKriewall" version="1.1"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier4.0-source.zip" attr="" comment="Tabifier 4.0 source" date="1067493320" path="C:\Temp\tabifier4.0-source.zip" size="172856" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier4.0-source.zip" attr="h" comment="Tabifier 4.0 source" date="1067493320" path="C:\Temp\tabifier4.0-source.zip" size="172856" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier4.2-source.zip" attr="" comment="Tabifier 4.2 source" date="1067891659" path="C:\Temp\tabifier4.2-source.zip" size="174866" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
Change History
| > > |
- 30 Oct 2004 - Version 4.1
- bug fix: allow negative integers (and all prefixed expressions involving integers) to be right justified as integer constants are.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.0"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.1"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.0 - for EAP build 957 (any >= 922)" date="1067493174" path="C:\tabifier3\lib\tabifier.jar" size="164357" user="DaveKriewall" version="1.23"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.1" date="1067536332" path="C:\tabifier3\lib\tabifier.jar" size="164498" user="DaveKriewall" version="1.24"}% |
|
|
| Changed: |
< < |
The tabifier plugin vertically aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Options...IDE Settings...Tabifier dialog.
| > > |
The tabifier plugin retabs Java code so that syntactic elements are aligned vertically. Extensive control over alignment is provided.
|
| Changed: |
< < |
New Version 3.0 features are indicated by bold sections. It is capable of reformatting "if" statements as follows:
| > > |
The new 4.0 version has many bug fixes and other improvements. It does a much better job at handling nested expressions and method calls. It also has several new features, such as the ability to right justify integer literals, e.g.
public static final int ONE = 1;
public static final int TWO = 2;
public static final int TEN = 10;
public static final int ELEVEN = 11;
It can align method declaration and method call parameters, even with multiple parameters per line:
public ExpressionListParser(TokenColumn openParend,
ColumnChoice params,
TokenColumn closeParend,
CodeStyleSettings codeStyleSettings, TabifierSettings settings,
NestedParser parser, int nestingLevel)
And its expression alignment is now recursive, e.g.
if ((psiExpressionList.getExpressions().length > expressionListIndex &&
psiExpressionList.getExpressions()[expressionListIndex] == child ) ||
(sawNoParameters == false &&
expressionListIndex > 0 ) )
It is capable of reformatting "if" statements as follows:
|
| Changed: |
< < |
The plugin ignores lines in the selection that are not Java field or variable declarations, or assignment statements. Therefore it is safe to select as much text as you want, even the entire file. The plugin operates much as the IDEA Code Layout tool does.
Version 3.0 plugin handles method calls and if statements. Method call parameters may be aligned. Calls to different methods may be grouped separately or together. If statement expressions are alignable, as well as the then- and else-statements.
| > > |
The plugin parses the entire Java file and reformats any construct it understands (within the selection). Therefore it is safe to select as much text as you want, even the entire file. The plugin operates much as the IDEA Code Layout tool does.
|
| Changed: |
< < |
Version 3.0 supplies many more alignment options. See the configuration panel, which now sports a handy Preview pane so you can see what the alignment will look like. (Thanks to MaximS? and the rest of the IntelliJ crew!)
| > > |
Version 3.0/4.0 supplies many more alignment options. See the configuration panel, which now sports a handy Preview pane so you can see what the alignment will look like. (Thanks to MaximS? and the rest of the IntelliJ crew!)
|
| Changed: |
< < |
- Version 3 different method names
| > > |
- Version 4.0 methods whose names differ from each other within the first characters
|
| Changed: |
< < |
- Version 3.0 User can choose to apply Code Layout to the contents of the Preview pane before it is tabified, thereby seeing the effect of the Reformat plugin (which runs code layout, then itself, then tabifier). If statement then- and else- statements seem to be put on a new line regardless of settings at the moment, making the 'if' alignment options less interesting.
- Version 3.0 Enable or disable debug output. In order for this to work, it appears you have to add the following to bin\log.xml:
| > > |
- Version 3.0/4.0 User can choose to apply Code Layout to the contents of the Preview pane before it is tabified, thereby seeing the effect of the Reformat plugin (which runs code layout, then itself, then tabifier). If statement then- and else- statements seem to be put on a new line regardless of settings at the moment, making the 'if' alignment options less interesting.
- Version 3.0/4.0 Enable or disable debug output. In order for this to work, it appears you have to add the following to bin\log.xml:
|
| Changed: |
< < |
This plugin requires IDEA build 655 or later, and has been tested with Ariadna (production) and Aurora (early access) releases.
Version 3.0 was built and tested with EAP build 922. Thanks for your patience while the new version was released!
| > > |
This plugin requires IDEA build 957, but may work with build 922 or later; it has been tested with Aurora EAP build 957.
|
| Changed: |
< < |
The following list is relative to version 2.x. If any of these appeal to you, please let me know.
- Add a "preview" panel similar to that presented on the Code Style dialogs, so that the user can immediately see the results of the indentation choices. (Done in 3.0)
- Enhance tabifier to handle multi-line expressions. (Done in 3.0)
- Add ability to reformat other types of Java constructs.
Version 3.0 The following list is relative to version 3.0. Please feel free to suggest others!
- Alignment of method declaration parameters, similar to variable declaration.
| > > |
The following list is relative to version 4.0.
|
| Deleted: |
< < |
- Plenty of bug fixes, no doubt.
|
| Changed: |
< < |
-- DaveKriewall - 12 Sep 2003
| > > |
-- DaveKriewall - 30 Oct 2003
|
| Deleted: |
< < |
-- JordanZimmerman - 19 Jul 2002
|
| Added: |
> > |
- 29 Oct 2004 - Version 4.0
- Complete rewrite of parsing and alignment code. Pretty much only the UI is the same. Necessary for handling recursive or nested syntactic constructs.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="3.0"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="4.0"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 3.0 - for EAP build 922" date="1063347931" path="c:\tabifier2\lib\tabifier.jar" size="134711" user="DaveKriewall" version="1.22"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 4.0 - for EAP build 957 (any >= 922)" date="1067493174" path="C:\tabifier3\lib\tabifier.jar" size="164357" user="DaveKriewall" version="1.23"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier4.0-source.zip" attr="" comment="Tabifier 4.0 source" date="1067493320" path="C:\Temp\tabifier4.0-source.zip" size="172856" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 3.0 - for EAP build 922" date="1063334423" path="C:\tabifier2\lib\tabifier.jar" size="134711" user="DaveKriewall" version="1.22"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 3.0 - for EAP build 922" date="1063347931" path="c:\tabifier2\lib\tabifier.jar" size="134711" user="DaveKriewall" version="1.22"}% |
|
|
| Added: |
> > |
New Version 3.0 features are indicated by bold sections. It is capable of reformatting "if" statements as follows:
if (param1 == p3 &&
j > 5 ) p3 = 7;
....
if (param1 == p3) p3 = 6;
else if (param1 == 2 ) method1(param1, true, 3);
else param1 = 7;
Method calls can be reformatted to align parentheses, commas, or parameters:
align_params = (ColumnSetting ) find(ALIGN_PARAMS );
align_semicolon = (ColumnSetting ) find(ALIGN_SEMICOLON );
align_semicolon_with_comma = (BooleanSetting) find(ALIGN_SEMICOLON_WITH_COMMA);
Typecast parentheses and types as well as many other expression components can also be aligned.
|
| Added: |
> > |
Version 3.0 plugin handles method calls and if statements. Method call parameters may be aligned. Calls to different methods may be grouped separately or together. If statement expressions are alignable, as well as the then- and else-statements.
|
| Added: |
> > |
Version 3.0 supplies many more alignment options. See the configuration panel, which now sports a handy Preview pane so you can see what the alignment will look like. (Thanks to MaximS? and the rest of the IntelliJ crew!)
|
| Changed: |
< < |
| > > |
- Version 3 different method names
|
| Changed: |
< < |
Depending on the user's choice, if no selection has been made in the file, either the entire file or only the line containing the cursor will be tabified. Default is the latter.
| > > |
- Depending on the user's choice, if no selection has been made in the file, either the entire file or only the line containing the cursor will be tabified. Default is the latter.
- Version 3.0 User can choose to apply Code Layout to the contents of the Preview pane before it is tabified, thereby seeing the effect of the Reformat plugin (which runs code layout, then itself, then tabifier). If statement then- and else- statements seem to be put on a new line regardless of settings at the moment, making the 'if' alignment options less interesting.
- Version 3.0 Enable or disable debug output. In order for this to work, it appears you have to add the following to bin\log.xml:
<category name="com.wrq.tabifier">
<priority value="INFO"/>
<appender-ref ref="CONSOLE-DEBUG"/>
</category>
|
| Changed: |
< < |
The plugin source contains a JUnit test suite. I wanted to do testing without having a second copy of IDEA running, and without the need to stop and restart IDEA for every version. I created a mock Program Structure Information (Psi) package that implements all the Psi interfaces but very little functionality -- just the basics of tree structure (parent/children/sibling nodes), text, and a few fields. I also wrote a class that will dump the Psi tree of a Java file as a new class, which when compiled and invoked recreates the Psi tree using mock objects.
| > > |
Version 3.0 was built and tested with EAP build 922. Thanks for your patience while the new version was released!
|
| Changed: |
< < |
If you are developing a plugin that uses Psi information, you may find it useful.
| > > |
The plugin source contains a JUnit test suite. It makes use of the new testing framework provided by IntelliJ.
|
| Changed: |
< < |
- Add a "preview" panel similar to that presented on the Code Style dialogs, so that the user can immediately see the results of the indentation choices.
- Enhance tabifier to handle multi-line expressions.
| > > |
- Add a "preview" panel similar to that presented on the Code Style dialogs, so that the user can immediately see the results of the indentation choices. (Done in 3.0)
- Enhance tabifier to handle multi-line expressions. (Done in 3.0)
|
| Added: |
> > |
Version 3.0 The following list is relative to version 3.0. Please feel free to suggest others!
- Alignment of method declaration parameters, similar to variable declaration.
- Alignment of javadoc comment parameter descriptions. For that matter, reflowing the javadoc text.
- Plenty of bug fixes, no doubt.
|
| Changed: |
< < |
-- DaveKriewall - 17 Jun 2003
| > > |
-- DaveKriewall - 12 Sep 2003
|
| Added: |
> > |
- 12 Sep 2003 - Version 3.0
- First cut at next major release. Works with EAP build 922.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.9"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="3.0"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.9. Place in IntelliJ /plugins directory" date="1055867702" path="c:\tabifier\lib\tabifier.jar" size="140564" user="DaveKriewall" version="1.21"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Tabifier 3.0 - for EAP build 922" date="1063334423" path="C:\tabifier2\lib\tabifier.jar" size="134711" user="DaveKriewall" version="1.22"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier3.0-source.zip" attr="" comment="Tabifier 3.0 source" date="1063334539" path="C:\Temp\tabifier3.0-source.zip" size="124999" user="DaveKriewall" version="1.1"}%
%META:FILEATTACHMENT{name="tabifier29.jar" attr="" comment="Tabifier 2.9 - for production build 3.0.x" date="1063334775" path="C:\Temp\tabifier29.jar" size="140564" user="DaveKriewall" version="1.1"}% |
|
|
| Changed: |
< < |
The tabifier plugin vertically aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Project Properties...Tabifier dialog.
| > > |
The tabifier plugin vertically aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Options...IDE Settings...Tabifier dialog.
|
| Changed: |
< < |
The plugin operates on selected lines of text. Put the caret anywhere in the first line to be re-aligned and then select to anywhere in the last line to be re-aligned. If no selection is made, the plugin selects the entire current line; otherwise the plugin extends the selection to the beginning of the first line and the end of the last line.
| > > |
The plugin operates on selected lines of text. Put the caret anywhere in the first line to be re-aligned and then select to anywhere in the last line to be re-aligned. If no selection is made, the plugin selects the entire current line (or, optionally, selects the entire file); otherwise the plugin extends the selection to the beginning of the first line and the end of the last line.
|
| Changed: |
< < |
Tabifier plugin settings are accessed via the Project Properties dialog. You may force alignment of any or all of the following syntactic items:
| > > |
Tabifier plugin settings are accessed via the Options...IDE Settings menu item. You may force alignment of any or all of the following syntactic items:
|
| Changed: |
< < |
This plugin requires IDEA build 655 or later.
| > > |
This plugin requires IDEA build 655 or later, and has been tested with Ariadna (production) and Aurora (early access) releases.
|
| Changed: |
< < |
-- DaveKriewall - 14 Jun 2003
| > > |
-- DaveKriewall - 17 Jun 2003
|
| Added: |
> > |
- 17 Jun 2003 - Version 2.9
- Tabifier settings dialog moved from Project Settings to IDE Settings under the Option menu item. You'll need to set them one last time; all settings henceforth apply to all projects.
- bug fix: tabifier now handles illegal syntax better; a variable declaration with a missing semicolon, for example, will no longer scare the tabifier into throwing an exception and quitting.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.8"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.9"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.8. Place in IntelliJ /plugins directory" date="1055540359" path="c:\tabifier\lib\tabifier.jar" size="140921" user="DaveKriewall" version="1.20"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.9. Place in IntelliJ /plugins directory" date="1055867702" path="c:\tabifier\lib\tabifier.jar" size="140564" user="DaveKriewall" version="1.21"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.8 source" date="1055540431" path="c:\temp\tabifier-source.zip" size="97197" user="DaveKriewall" version="1.9"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.9 source" date="1055867792" path="c:\temp\tabifier-source.zip" size="97227" user="DaveKriewall" version="1.10"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 27 May 2003
| > > |
-- DaveKriewall - 14 Jun 2003
|
| Added: |
> > |
- 13 Jun 2003 - Version 2.8
- bug fix: new functionality of version 2.7 did not handle groups of assignments where some were prefixed and others not, e.g.
int i = 1;
if (args.length == 0) i = 0;
else i = 1;
was incorrectly tabified to
int i = 1;
if (args.length == 0) i = 0;
else i = 1;
Now lines that have prefixes are aligned independently of those that don't, and tabifier produces output like the first example.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.7"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.8"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.7. Place in IntelliJ /plugins directory" date="1055466081" path="c:\tabifier\lib\tabifier.jar" size="140902" user="DaveKriewall" version="1.19"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.8. Place in IntelliJ /plugins directory" date="1055540359" path="c:\tabifier\lib\tabifier.jar" size="140921" user="DaveKriewall" version="1.20"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.7 source" date="1055466154" path="c:\temp\tabifier-source.zip" size="97111" user="DaveKriewall" version="1.8"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.8 source" date="1055540431" path="c:\temp\tabifier-source.zip" size="97197" user="DaveKriewall" version="1.9"}% |
|
|
| Added: |
> > |
- 12 Jun 2003 - Version 2.7
- bug fix: assignment statements preceded by other text now align properly; for example
if (args.length == 0) i = 0;
else i = 1;
becomes
if (args.length == 0) i = 0;
else i = 1;
- 12 Jun 2003 - Version 2.7
- bug fix: when tabifying a declaration with a preceding comment, but beginning the selection after the comment, tabifier skipped the statement -- but does no longer. For example, if only the three lines after the comment are selected in the following:
/**
* experiment with modifiers.
*/
public static final String PARAM_MAIN_PANEL = "mainpanel";
public static final String VALUE_MAIN_PANEL_TABS = "tabs";
public static final String DEFAULT_MAIN_PANEL = VALUE_MAIN_PANEL_TABS;
tabifier now properly aligns them all as follows:
public static final String PARAM_MAIN_PANEL = "mainpanel";
public static final String VALUE_MAIN_PANEL_TABS = "tabs";
public static final String DEFAULT_MAIN_PANEL = VALUE_MAIN_PANEL_TABS;
- 12 Jun 2003 - Version 2.7
- bug fix: indentation of lines in switch statements could be off by a level if "Indent case from switch" code layout option was selected.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.6"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.7"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.6. Place in IntelliJ /plugins directory" date="1054079681" path="c:\tabifier\lib\tabifier.jar" size="137695" user="DaveKriewall" version="1.17"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.7. Place in IntelliJ /plugins directory" date="1055466081" path="c:\tabifier\lib\tabifier.jar" size="140902" user="DaveKriewall" version="1.19"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.6 source" date="1054079764" path="c:\temp\tabifier-source.zip" size="94762" user="DaveKriewall" version="1.7"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.7 source" date="1055466154" path="c:\temp\tabifier-source.zip" size="97111" user="DaveKriewall" version="1.8"}% |
|
|
| Added: |
> > |
Depending on the user's choice, if no selection has been made in the file, either the entire file or only the line containing the cursor will be tabified. Default is the latter.
|
| Changed: |
< < |
- Add a dialog, similar to Code Layout, to allow reformatting of the entire file, just the selection, or all files in the project.
| > > |
- Enhance tabifier to handle multi-line expressions.
|
| Changed: |
< < |
-- DaveKriewall - 24 May 2003
| > > |
-- DaveKriewall - 27 May 2003
|
| Added: |
> > |
- 27 May 2003 - Version 2.6
- bug fix: An extra leading space could be emitted when (for example) variable types were not aligned but variable names were.
- enhancement: user can control what happens when no selection is made: tabify entire file, or only the line containing the cursor (default)
- debugging output now contains version number.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.5"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.6"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.5. Place in IntelliJ /plugins directory" date="1053824792" path="c:\tabifier\lib\tabifier.jar" size="134998" user="DaveKriewall" version="1.16"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.6. Place in IntelliJ /plugins directory" date="1054079681" path="c:\tabifier\lib\tabifier.jar" size="137695" user="DaveKriewall" version="1.17"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.5 source" date="1053824883" path="c:\temp\tabifier-source.zip" size="94571" user="DaveKriewall" version="1.6"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.6 source" date="1054079764" path="c:\temp\tabifier-source.zip" size="94762" user="DaveKriewall" version="1.7"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 22 May 2003
| > > |
-- DaveKriewall - 24 May 2003
|
| Added: |
> > |
- 24 May 2003 - Version 2.5 - bug fix:
- modified to work with Aurora build 816. Interface PsiType was replaced with PsiTypeElement in the Psi tree, which broke declaration parsing. Dynamically deteced, so this version still works with 3.0.x.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.4"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.5"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.4. Place in IntelliJ /plugins directory" date="1053547434" path="c:\tabifier\lib\tabifier.jar" size="134181" user="DaveKriewall" version="1.15"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.5. Place in IntelliJ /plugins directory" date="1053824792" path="c:\tabifier\lib\tabifier.jar" size="134998" user="DaveKriewall" version="1.16"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.4 source" date="1053547573" path="c:\temp\tabifier-source.zip" size="94164" user="DaveKriewall" version="1.5"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.5 source" date="1053824883" path="c:\temp\tabifier-source.zip" size="94571" user="DaveKriewall" version="1.6"}% |
|
|
| Added: |
> > |
If the Reformat plugin is also installed, it will automatically invoke the tabifier after a code layout operation (invoked by Ctrl-Alt-L or Ctrl-Alt-R), thus making the process of code layout and reformatting seamless. |
|
|
| Changed: |
< < |
-- DaveKriewall - 04 May 2003
| > > |
-- DaveKriewall - 22 May 2003
|
| Added: |
> > |
- 22 May 2003 - Version 2.4 - bug fix:
- multiline field or variable declarations (int a=1, \n b=2, \n c=3;) could be incorrectly aligned as if "b" and "c" were assignment expressions. If the grouping option was set to format adjacent declarations and assignments independently, then "b" and "c" would be aligned relative to each other but not to "a". Now treat "b" and "c" as declarations. This forces "a", "b" and "c" to be formatted together in all cases.
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.3"}%
| > > |
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.4"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.3. Place in IntelliJ /plugins directory" date="1053118854" path="c:\tabifier\lib\tabifier.jar" size="130905" user="DaveKriewall" version="1.14"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1046374076" path="D:\idea_plugins\tabifier2\src.zip" size="13403" user="JordanZimmerman" version="1.9"}%
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.3 source" date="1053119098" path="c:\temp\tabifier-source.zip" size="92621" user="DaveKriewall" version="1.4"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.4. Place in IntelliJ /plugins directory" date="1053547434" path="c:\tabifier\lib\tabifier.jar" size="134181" user="DaveKriewall" version="1.15"}%
%META:FILEATTACHMENT{name="src.zip" attr="h" comment="The source" date="1046374076" path="D:\idea_plugins\tabifier2\src.zip" size="13403" user="JordanZimmerman" version="1.9"}%
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.4 source" date="1053547573" path="c:\temp\tabifier-source.zip" size="94164" user="DaveKriewall" version="1.5"}% |
|
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginName" title="IntelliJPluginName" value=""}%
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value=""}%
%META:FIELD{name="IntelliJPluginVendor" title="IntelliJPluginVendor" value=""}%
| > > |
%META:FIELD{name="IntelliJPluginName" title="IntelliJPluginName" value="Tabifier"}%
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value="2.3"}%
%META:FIELD{name="IntelliJPluginVendor" title="IntelliJPluginVendor" value="Dave Kriewall"}%
|
| Changed: |
< < |
%META:FIELD{name="IntelliJPluginClassification" title="IntelliJPluginClassification" value=""}%
| > > |
%META:FIELD{name="IntelliJPluginClassification" title="IntelliJPluginClassification" value="CodeHelper, ProgramStructureInterface, LookAndFeel"}% |
|
|
| Changed: |
< < |
%META:FORM{name="WebForm"}%
| > > |
%META:FORM{name="IntelliJPluginWebForm"}%
%META:FIELD{name="IntelliJPluginName" title="IntelliJPluginName" value=""}%
%META:FIELD{name="IntelliJPluginVersion" title="IntelliJPluginVersion" value=""}%
%META:FIELD{name="IntelliJPluginVendor" title="IntelliJPluginVendor" value=""}%
%META:FIELD{name="IntelliJPluginBinary" title="IntelliJPluginBinary" value=""}%
%META:FIELD{name="IntelliJPluginSource" title="IntelliJPluginSource" value=""}%
%META:FIELD{name="IntelliJPluginClassification" title="IntelliJPluginClassification" value=""}% |
|
|
| Changed: |
< < |
The tabifier plugin aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Project Properties...Tabifier dialog.
| > > |
The tabifier plugin vertically aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Project Properties...Tabifier dialog.
|
| Deleted: |
< < |
- Hook the tabifier plugin onto the Code Layout tool so that it automatically runs after Code Layout.
|
| Added: |
> > |
- 16 May 2003 - Version 2.3 - enhancements:
- The Reformat plugin chains to Tabifier after IDEA's Reformat Code... tool runs, so tabification happens automatically on the same file (or same selection of file) as was reformatted by the code layout tool. That is, Ctrl-Alt-L or Ctrl-Alt-R invoke tabifier after IDEA is done reformatting code. Requires Reformat Plugin version 0.2 or later.
- renamed the package to com.wrq.tabifier to avoid conflict with Jordan's Selector plugin, which contains an older version of the tabifier. That plugin may ultimately go away, since IntelliJ is implementing block selection capability in Aurora.
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.2. Place in IntelliJ /plugins directory" date="1052027090" path="C:\tabifier\lib\tabifier.jar" size="127904" user="DaveKriewall" version="1.13"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.3. Place in IntelliJ /plugins directory" date="1053118854" path="c:\tabifier\lib\tabifier.jar" size="130905" user="DaveKriewall" version="1.14"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.2 source" date="1052019164" path="C:\temp\tabifier-source.zip" size="333713" user="DaveKriewall" version="1.3"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.3 source" date="1053119098" path="c:\temp\tabifier-source.zip" size="92621" user="DaveKriewall" version="1.4"}% |
|
|
| Deleted: |
< < |
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.2. Place in IntelliJ /plugins directory" date="1052018849" path="C:\tabifier\lib\tabifier.jar" size="127903" user="DaveKriewall" version="1.12"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.2. Place in IntelliJ /plugins directory" date="1052027090" path="C:\tabifier\lib\tabifier.jar" size="127904" user="DaveKriewall" version="1.13"}% |
|
|
| Changed: |
< < |
-- DaveKriewall - 23 Apr 2003
| > > |
-- DaveKriewall - 04 May 2003
|
| Added: |
> > |
- 03 May 2003 - Version 2.2 - bug fixes:
- fixed indentation problems when tab size did not equal indentation.
- when aligning by emitting tabs (instead of only spaces -- based on project "Use Tabs" setting), modifiers are now properly aligned and comments and quoted strings are unaffected.
|
| Added: |
> > |
|
| Changed: |
< < |
%META:FIELD{name="TopicShortDescription" title="TopicShortDescription" value="This plugin will re-align selected lines of text. "}%
| > > |
%META:FIELD{name="TopicShortDescription" title="TopicShortDescription" value="This plugin aligns various syntactic elements of Java declarations and assignment statements."}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.1. Place in IntelliJ /plugins directory" date="1051565443" path="C:\tabifier\lib\tabifier.jar" size="130047" user="DaveKriewall" version="1.11"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.2. Place in IntelliJ /plugins directory" date="1052018849" path="C:\tabifier\lib\tabifier.jar" size="127903" user="DaveKriewall" version="1.12"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.1 source" date="1051565928" path="C:\temp\tabifier-source.zip" size="212383" user="DaveKriewall" version="1.2"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.2 source" date="1052019164" path="C:\temp\tabifier-source.zip" size="333713" user="DaveKriewall" version="1.3"}% |
|
|
| Changed: |
< < |
| > > |
<nop>
|
| Changed: |
< < |
| > > |
|
| Changed: |
< < |
| > > |
<nop>
|
| Changed: |
< < |
| > > |
|
| Changed: |
< < |
The plugin ignores lines in the selection that are not Java field or variable declarations, or assignment statements. Therefore it is safe to select as much text as you want, even the entire file. The plugin operates much as the IDEA Code Layout tool does.
| > > |
The plugin ignores lines in the selection that are not Java field or variable declarations, or assignment statements. Therefore it is safe to select as much text as you want, even the entire file. The plugin operates much as the IDEA Code Layout tool does.
|
| Changed: |
< < |
If tabs are specified, the editor setting (IDE Settings...Code Style...Indents and Braces) for tab size is used.
| > > |
If tab characters (instead of spaces) are specified, alignment takes place as if tab characters were appended to the longest previous column. The editor setting (IDE Settings...Code Style...Indents and Braces) for tab size is used.
Whether tabs or spaces are actually emitted during reformatting depends on the project settings for "Use Tabs" and "Smart Tabs." If "Use Tabs" is unchecked, all reformatting is done with spaces, even though the appearance is as if tab characters were used. If "Use Tabs" is checked, tabs are used wherever possible, unless "Smart Tabs" is also checked, in which case only the block indentation is achieved using tabs, and the remainder is done using spaces.
|
| Changed: |
< < |
The following list is relative to version 2.0. If any of these appeal to you, please let me know.
| > > |
The following list is relative to version 2.x. If any of these appeal to you, please let me know.
|
| Added: |
> > |
- 4/28/2003 - Version 2.1 - bug fixes.
|
| Added: |
> > |
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.0. Place in IntelliJ /plugins directory" date="1051131125" path="C:\tabifier\lib\tabifier.jar" size="128838" user="DaveKriewall" version="1.10"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.1. Place in IntelliJ /plugins directory" date="1051565443" path="C:\tabifier\lib\tabifier.jar" size="130047" user="DaveKriewall" version="1.11"}%
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.0 source" date="1051131185" path="c:\temp\tabifier-source.zip" size="338554" user="DaveKriewall" version="1.1"}%
| > > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.1 source" date="1051565928" path="C:\temp\tabifier-source.zip" size="212383" user="DaveKriewall" version="1.2"}% |
|
|
| Changed: |
< < |
I like to declare variables like this (see CodeAlignment):
int v1;
String s2;
| > > |
The tabifier plugin aligns various syntactic elements of Java declarations and assignment statements according to rules specified on the Project Properties...Tabifier dialog.
|
| Changed: |
< < |
IDEA likes to declare them with single spaces.
| > > |
For example, I like to align variable declarations and assignment statements like this (see CodeAlignment):
int v1; // loop variable
String s2; // second string
public static PrintWriter p;
private static boolean debugging = true; // initialize
private static OutputStream outputstream = null;
|
| Changed: |
< < |
This plugin will re-align selected lines of text. Put the caret anywhere in the first line to be re-aligned and then select to anwhere in the last line to be re-aligned. The plugin adds itself to the editor popup menu.
| > > |
outputstream = new FileOutputStream?(f, true);
p = new DebuggingPrintWriter?(outputstream, true);
|
| Changed: |
< < |
This plugin requires build 655 or later. Also, this is my first plugin so comments/criticisms are welcome.
| > > |
IDEA likes to declare them with single spaces, like this:
int v1; // loop variable
String s2; // second string
public static PrintWriter p;
private static boolean debugging = true; // initialize
private static OutputStream outputstream = null;
outputstream = new FileOutputStream(f, true);
p = new DebuggingPrintWriter(outputstream, true);
The tabifier plugin automatically reformats the text into the first version, or any variation of it you choose.
The plugin operates on selected lines of text. Put the caret anywhere in the first line to be re-aligned and then select to anywhere in the last line to be re-aligned. If no selection is made, the plugin selects the entire current line; otherwise the plugin extends the selection to the beginning of the first line and the end of the last line.
The plugin ignores lines in the selection that are not Java field or variable declarations, or assignment statements. Therefore it is safe to select as much text as you want, even the entire file. The plugin operates much as the IDEA Code Layout tool does.
The plugin adds itself to the editor popup menu, and assigns itself a shortcut of Ctrl-Shift-Alt-T.
Tabifier plugin settings are accessed via the Project Properties dialog. You may force alignment of any or all of the following syntactic items:
- modifiers (only applies to field or variable declarations)
- variable type (only applies to field or variable declarations)
- variable name (or left-hand side of assignment statement)
- operator (usually "=", but may be a multicharacter operator like "+=")
- right-hand expression (the initialization expression for fields and variables)
- comma or semicolon
- trailing comments
For each of these, if alignment is to take place, you can specify how many spaces or tab characters are to be appended to the longest text to reach the next alignment column (tab stop). In the example above, all columns except comma/semicolon were aligned, and spacing was set for each to one space character.
If tabs are specified, the editor setting (IDE Settings...Code Style...Indents and Braces) for tab size is used.
If modifier reordering and alignment is specified, modifiers will be
reordered according to the Java spec recommendation (as implemented in the java.util.Modifier class) and aligned vertically. Mutually exclusive modifiers, such as public/private/protected, occupy the same column. For example,
static public final int CONSTANT = 0;
private static int nextID = 0;
would, with modifier reordering and alignment enabled, appear as:
public static final int CONSTANT = 0;
private static int nextID = 0;
If modifier reordering and alignment is disabled, modifiers remain intact. In this case, and with variable types aligned, the example is reformatted as:
static public final int CONSTANT = 0;
private static int NextID = 0;
No space/tab specification is permitted for modifiers since modifiers begin immediately at column zero (relative to the indentation of the entire block, of course.)
When multiple lines of text are selected, the tabifier plugin groups them automatically for formatting based on indentation level. For example,
int i = 0;
while (i < 10)
{
int j = i;
...
}
the declarations of i and j are tabified independently.
Additional grouping rules are available. Presence of the following may be specified to force a new formatting group:
- blank lines
- non-blank lines other than declaration or assignment statements
- a change from declaration to assignment statements or vice versa
This plugin requires IDEA build 655 or later.
The plugin source contains a JUnit test suite. I wanted to do testing without having a second copy of IDEA running, and without the need to stop and restart IDEA for every version. I created a mock Program Structure Information (Psi) package that implements all the Psi interfaces but very little functionality -- just the basics of tree structure (parent/children/sibling nodes), text, and a few fields. I also wrote a class that will dump the Psi tree of a Java file as a new class, which when compiled and invoked recreates the Psi tree using mock objects.
If you are developing a plugin that uses Psi information, you may find it useful.
The following list is relative to version 2.0. If any of these appeal to you, please let me know.
- Add a "preview" panel similar to that presented on the Code Style dialogs, so that the user can immediately see the results of the indentation choices.
- Hook the tabifier plugin onto the Code Layout tool so that it automatically runs after Code Layout.
- Add a dialog, similar to Code Layout, to allow reformatting of the entire file, just the selection, or all files in the project.
- Add ability to reformat other types of Java constructs.
Please also notify me of any bugs or other suggestions for improvement. Thanks!
-- DaveKriewall - 23 Apr 2003
|
| Changed: |
< < |
- 2/27/2003 - Version 9 - 1. New version number scheme. 2. DaveKriewall has taken over development and has added new features: "Align modifiers" and "Align trailing // comments". Dave promises more features to come. Thanks Dave!
| > > |
- 4/23/2003 - Version 2.0 - major revision. Tabifier now uses program structure information (Psi) to identify text as declaration (field or variable) or assignment statements. Only this text is aligned; other text is left intact. Therefore the entire file may be tabified in a single operation (select all text, tabify). Many additional options for controlling the alignment of text have been added. Modifiers may be reordered and aligned. Alignment may occur at variable type, variable name, assignment operator, right-hand expression, trailing comma/semicolon, and/or trailing comments.
- 2/27/2003 - Version 1.9 - 1. New version number scheme. 2. DaveKriewall has taken over development and has added new features: "Align modifiers" and "Align trailing // comments". Dave promises more features to come. Thanks Dave!
|
| Added: |
> > |
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory " date="1046374060" path="D:\idea_plugins\tabifier2\tabifier.jar" size="39831" user="JordanZimmerman" version="1.9"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Version 2.0. Place in IntelliJ /plugins directory" date="1051131125" path="C:\tabifier\lib\tabifier.jar" size="128838" user="DaveKriewall" version="1.10"}%
|
| Added: |
> > |
%META:FILEATTACHMENT{name="tabifier-source.zip" attr="" comment="Version 2.0 source" date="1051131185" path="c:\temp\tabifier-source.zip" size="338554" user="DaveKriewall" version="1.1"}% |
|
|
| Added: |
> > |
- 2/27/2003 - Version 9 - 1. New version number scheme. 2. DaveKriewall has taken over development and has added new features: "Align modifiers" and "Align trailing // comments". Dave promises more features to come. Thanks Dave!
|
| Changed: |
< < |
%META:FIELD{name="TestedOnOS" title="TestedOnOS" value=""}%
%META:FIELD{name="ShouldRunOnOS" title="ShouldRunOnOS" value=""}%
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment=" Place in /plugins directory " date="1034024322" path="D:\idea_plugins\tabifier\tabifier.jar" size="21145" user="JordanZimmerman" version="1.8"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1034024337" path="D:\idea_plugins\tabifier\src.zip" size="9368" user="JordanZimmerman" version="1.8"}%
| > > |
%META:FIELD{name="TestedOnOS" title="TestedOnOS" value="OsWin2K"}%
%META:FIELD{name="ShouldRunOnOS" title="ShouldRunOnOS" value="AnyOS"}%
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory " date="1046374060" path="D:\idea_plugins\tabifier2\tabifier.jar" size="39831" user="JordanZimmerman" version="1.9"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1046374076" path="D:\idea_plugins\tabifier2\src.zip" size="13403" user="JordanZimmerman" version="1.9"}% |
|
|
| Changed: |
< < |
%META:FORM{name="PluginWebForm"}%
| > > |
%META:FORM{name="WebForm"}% |
|
|
| Added: |
> > |
%META:FORM{name="PluginWebForm"}%
%META:FIELD{name="TopicClassification" title="TopicClassification" value="IntelliJPluginPackage"}%
%META:FIELD{name="TopicShortDescription" title="TopicShortDescription" value="This plugin will re-align selected lines of text. "}%
%META:FIELD{name="TestedOnOS" title="TestedOnOS" value=""}%
%META:FIELD{name="ShouldRunOnOS" title="ShouldRunOnOS" value=""}% |
|
|
| Changed: |
< < |
This plugin requires build 637 or later. Also, this is my first plugin so comments/criticisms are welcome.
| > > |
This plugin requires build 655 or later. Also, this is my first plugin so comments/criticisms are welcome.
|
| Added: |
> > |
- 10/7/2002 - Version 1.7 - OpenAPI for EditorSettings changed in Build 655. Unfortunately, this version cannot be backwards compatible.
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory " date="1033067728" path="D:\idea_plugins\tabifier\tabifier.jar" size="21055" user="JordanZimmerman" version="1.7"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1033067742" path="D:\idea_plugins\tabifier\src.zip" size="9219" user="JordanZimmerman" version="1.7"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment=" Place in /plugins directory " date="1034024322" path="D:\idea_plugins\tabifier\tabifier.jar" size="21145" user="JordanZimmerman" version="1.8"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1034024337" path="D:\idea_plugins\tabifier\src.zip" size="9368" user="JordanZimmerman" version="1.8"}% |
|
|
| Added: |
> > |
- 9/26/2002 - Version 1.6 - OpenAPI for Preferences panel changed in Build 650. This new version should work with 650 and previous builds.
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory" date="1028042582" path="d:\idea_plugins\tabifier\tabifier.jar" size="21070" user="JordanZimmerman" version="1.6"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1028042599" path="D:\idea_plugins\tabifier\src.zip" size="8867" user="JordanZimmerman" version="1.6"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory " date="1033067728" path="D:\idea_plugins\tabifier\tabifier.jar" size="21055" user="JordanZimmerman" version="1.7"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1033067742" path="D:\idea_plugins\tabifier\src.zip" size="9219" user="JordanZimmerman" version="1.7"}% |
|
|
| Added: |
> > |
- 7/30/2002 - Version 1.5 - Bug fix - was tabifying next line if entire previous line was selected.
|
| Changed: |
< < |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory " date="1027871524" path="d:\idea_plugins\tabifier\tabifier.jar" size="21030" user="JordanZimmerman" version="1.5"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1027871548" path="D:\idea_plugins\tabifier\src.zip" size="8854" user="JordanZimmerman" version="1.5"}%
| > > |
%META:FILEATTACHMENT{name="tabifier.jar" attr="" comment="Place in /plugins directory" date="1028042582" path="d:\idea_plugins\tabifier\tabifier.jar" size="21070" user="JordanZimmerman" version="1.6"}%
%META:FILEATTACHMENT{name="src.zip" attr="" comment="The source" date="1028042599" path="D:\idea_plugins\tabifier\src.zip" size="8867" user="JordanZimmerman" version="1.6"}% |
|
|
| Changed: |
< < |
This plugin requires build 636 or later. Also, this is my first plugin so comments/criticisms are welcome.
| > > |
This plugin requires build 637 or later | | |