[ANN] Lineage 2.1

An update to Lineage (still in time for the contest). More features and bug fixes. Enjoy!

Changes

- Highlight Usages in File for "import static" too.
- Create Unknown Inner Class intention (create an inner class from an unknown reference).
- Automatically add "abstract" keyword to implementing classes if not all methods are implemented.
- Fixed exception on opening new project (caused by retrotranslating the classes).
- Should work in injected contexts now.
- Shift+Tab now works in destination text field of subclass dialog


Features

Easy subclassing:
Position the cursor on the class or reference to a class you want to subclass and press Alt+Enter. An "Extend Class" intention appears, which when invoked, allows you to specify name, visibility (default: public) and destination package (default: the package from which you invoked it). All fields and buttons are accessible via the keyboard for the highest efficiency.

Easy subclassing with an inner class:
Creating an inner subclass of another class is just as easy as creating a regular subclass. Press Alt+Enter on a class or reference to a class and invoke "Extend Class with Inner Class". The Extend Class dialog now allows you to specify a destination class (using IDEA's familiar Class Chooser dialog) and if the created class should be declared "static".

Highlight Usages in File for "import":
NEW in 2.1 - Now works for "import static" too
Invoking highlight (default CtrlShiftF7) usages on the "import" keyword, will highlight all references to the class imported in the open file. When the import statement is an "on demand" import, a chooser will first popup, allowing you to choose which class to highlight or to highlight all imported classes.

Highlight Usages in File for "extends" and "implements":
Easily highlight all implementing or overriding methods in the file by invoking Highlight Usages in File on an "extends" or "implements" keyword. If necessary a chooser will pop up where you can specify from which class you want the implementing/overriding members highlighted


This plugin is compatible with IntelliJ IDEA 6.0 and can be found in the Available list of the Plugins dialog in the Settings of IntelliJ IDEA. Alternatively it can be downloaded from: http://plugins.intellij.net/plugin/?id=104

Bugs and feature requests may be reported in this forum or in JIRA:
http://www.jetbrains.net/jira/browse/LIN

Documentation and screen shots can be found here (soon):
http://www.jetbrains.net/confluence/display/CONTEST/Lineage

6 comments

Hmm, seems it's compiled against 6.0. I get this error on startup:


Sascha

0

D'oh! Please try version 2.1.1.

Bas

0

Hmm, almost. This is what I get from the "Create Inner Class" intention:


Also, I think it should scroll the editor to the newly created class. Currently it just moves the caret to the bottom which is a bit confusing.

Sascha

0

Version 2.1.2, available now, has both these issues fixed. Plus when creating an inner class from a reference in a throw statement, it now creates a subclass of Throwable instead of Object.

Bas

0

Please sign in to leave a comment.