Dear IntelliJ,
we are structuring our classes by grouping "similar members" to categories.
For example, category "Constants" contains all static final fields. Category
"Utils" contains all non-static private methods. Category "Implemented"
contains all overridden/implemented methods. All members of a category are
located together within the source code. Each category starts with a
separator, in our case a line comment.
For most refactorings, like "Move...", "Encapsulate Field", "Create field",
etc., this is very important. Because currently, I always have to go to the
code the refactoring changed and move this code into the appropriate
category.
An example:
===========
public class G2PunktIdentifierType {
// Constants
==============================================================
public static final G2PunktIdentifierType ADV = new
G2PunktIdentifierType("A");
public static final G2PunktIdentifierType RES = new
G2PunktIdentifierType("R");
public static final G2PunktIdentifierType HNR = new
G2PunktIdentifierType("H");
// Fields
=================================================================
private final String shortName;
// Setup
==================================================================
private G2PunktIdentifierType(String shortName) {
this.shortName = shortName;
}
// Accessing
==============================================================
public String getShortName() {
return shortName;
}
public String getLongName() {
return longName;
}
public boolean isAutomatic() {
return isAutomatic;
}
// Implemented
============================================================
public String toString() {
return shortName;
}
}
Proposal:
=========
I would like IDEA to automatically layout in such a way. Therefore I would
suggest to expand the class templates (IDE options) to define categories and
corresponding separators.
A separator is automatically added/removed by IDEA, if there is at least
one/no member in the corresponding category.
Categories can be defined by an arbitrary combination of primitive
properties, like the following:
- static/non-static
- final/non-final
- public/protected/packagage/private
- constructor/method/field
- abstract/overridden/implemented/non-overridden
- getter/setter/others
- ... some other primitive properties, IDEA knows.
With best regards,
Marc Strapetz.
_______________________________________________
Eap-list mailing list
[EMAIL PROTECTED]
http://www.intellij.com/mailman/listinfo/eap-list