Inner classes are second-class citizens in IDEA?

I've felt for a long time that inner classes are treated as second-class
citizens in IDEA. I don't see "Improvement to inner class support" on
Demetra roadmap. Issues like these illustrate the problems:

Create missing methods should provide a inner/outer scope feature

Move class refactoring

"Create local variable" and "Create parameter" intentions not shown for
unresolved references passed as arguments to constructor in anonymous
inner class declaration

Add intention to inline inner class to anonymous inner class

Move method to inner class

"Bring xxx into scope" intention does not appear when use and def are in
different classes

I think all of these are important issues which would make working with
inner classes much nicer and friendlier and pleasurable, providing the
level of control and usability that developers expect from IDEA. Maybe
they go overlooked because IDEA team scarcely uses inner classes?

I wonder what everyone thinks about these issues and Demetra.

Comment actions Permalink

Keith Lea wrote:

I wonder what everyone thinks about these issues and Demetra.

Personally, I'd take any refactoring-, editing-, navigation-, etc. improvements/features
over most of the announced teamwork/server-side stuff. That, and of course all the nasty
issues that make editing JSP files still kinda inconvenient.


Comment actions Permalink

I have encountered a number of those issues and I would love to have them fixed in Demetra. I have voted for the ones which I hadn't already voted for. 8)


Comment actions Permalink


When I first started using IDEA a few years ago I was surprised it had any support for inner classes but now that I've been using it for a long time my expectations have raised considerably. (I have high expectations for all Jetbrains products). Come on Jetbrains and boost your inner class support! I'm always looking for more things to make Eclipse users cry. :)


Please sign in to leave a comment.