Technology roadmap for IDEA 8.0

Hello everyone,

We've finally published a preliminary roadmap describing the technologies
that we currently plan to support in IntelliJ IDEA 8:
http://www.jetbrains.net/confluence/display/IDEADEV/IDEA8.0Technology+Roadmap

This isn't likely to contain much new information for people who've been
tracking the forum discussions, but we've decided that it's useful to have
everything summarized in one place.

Also, it doesn't talk about "core Java" features that we've implemented or
plan to implement. We don't have any official documents for that part yet.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


65 comments
Comment actions Permalink

Hello Thibaut,

Any information on this project ? Is it something Jetbrains plans
releasing in the near future ?


Depends on what you mean by "near". :) Yes, we do plan to release this as
a product, but I can't give any estimated release date.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Automatic addition of @Override. I actually can't believe it doesn't do this already. Am I missing an option somewhere?

You're missing an option somewhere. The "Missing @Override annotation" inspection does what you want, both in highlighting existing issues and allowing batch fix options. It's been in product for something like three years, now.

--Dave

0
Comment actions Permalink

Looking it over and seeing the issue list, I'd say it's just about ready for release. It could still use some differentiators (of which IDEA/Eclipse/TeamCity integration would be highest on my list, and a decent supported web service API second), but it's seeming pretty solid, right now.

--Dave Griffith

0
Comment actions Permalink

Great, Git is on the map! But since there currently is no proper windows version of Git, how will it work on Windows? Or are you counting on a good windows version being available before the release of IntelliJ IDEA 8?


Git works perfectly under cygwin. There is a performance hit, but it's not noticeable in most operations. There is also msysgit[/url] for real win32 binaries.

Also, no Mercurial?


Gary Evesson is working on MercurialIDEA[/url]. There's still a lot to do, but hopefully this will turn into a production ready plugin before Diana is released.

0
Comment actions Permalink

Hello Dmitry,

DJ> What are your main pain points with "core Java" development
DJ> currently?

Since you asked, I'll chime in:

The main pain somebody working with "core Java" technologies (that is to
say older, not cutting edge stuff) is the feeling that they don't matter
to JetBrains (anymore). At least not to the level they used/ought to.

There are lots of little but annoying bugs that linger on, version to version,
without getting any or enough attention. It's a sad reality, but it becomes
harder and harder to recommend IDEA over, let's say, Eclipse when working
with "core Java" technologies. I'll even include web technologies here, now
that WTP is functional and pretty stable.

Where does one start? Here's a short list or issues I felt "embarassed" about
after an Eclipse using colleague decided to give IDEA a try:
- loooong startup time (it's a fairly big project, but Eclipse really shines
when compared with IDEA here)
- IDEA freezing (numerous reports), this is really, really annoying
- red underlining (tab/project tree) not going away, even if the project
compiles fine (reported several times, even during Selena EAP)
- websphere integration completelly useless (deployment is faulty, JSP debugging
not working).
- XML editing fails to notice some obvious errors (just reported a new one
today)

Not trying to come up with an exhaustive list of issues here, I'm sure you're
aware of most of them. But with the focus shifting away from "core java"
technologies the chances of having the "old days" quick response for issues
in that area are dimming day by day.

Best,
Andrei


0
Comment actions Permalink

Well, if you call this 'automatic':

- Waiting for the inspection to trigger;
- pressing F2 to navigate there;
- pressing Alt+Enter for the inspection menu to appear;
- pressing Enter for the @Override annotation being inserted;
- navigating back to where code should be written.

:)

Dave Griffith wrote:

Automatic addition of @Override. I actually can't believe it doesn't do this already. Am I missing an option somewhere?

You're missing an option somewhere. The "Missing @Override annotation" inspection does what you want, both in highlighting existing issues and allowing batch fix options. It's been in product for something like three years, now.

--Dave

0
Comment actions Permalink

That certainly works, but I prefer to catch that sort of thing with a batch inspection and then just fix it once for the project, and then keep it up to date with the batch inspection on every check-in. Seems pretty automatic to me.

--Dave Griffith

0
Comment actions Permalink

"Dave Griffith" <dave.l.griffith@gmail.com> wrote in message
news:25312556.6261208438161113.JavaMail.jive@app4.labs.intellij.net...

+Automatic addition of @Override. I actually can't believe it doesn't do
this already. Am I missing an option somewhere?+

>

You're missing an option somewhere. The "Missing @Override annotation"
inspection does what you want, both in highlighting existing issues and
allowing batch fix options. It's been in product for something like three
years, now.

>

I already use that. But when I implement an interface that has 20 methods,
that is a pain in the butt. Anyway, this is a known bug and a previous post
lists the Jira task.

-JZ


0
Comment actions Permalink

thanks, Dmitry.
An awesome roadmap .. :)



Dmitry Jemerov wrote:

Hello everyone,

We've finally published a preliminary roadmap describing the
technologies that we currently plan to support in IntelliJ IDEA 8:
http://www.jetbrains.net/confluence/display/IDEADEV/IDEA8.0Technology+Roadmap


This isn't likely to contain much new information for people who've been
tracking the forum discussions, but we've decided that it's useful to
have everything summarized in one place.

Also, it doesn't talk about "core Java" features that we've implemented
or plan to implement. We don't have any official documents for that part
yet.

0
Comment actions Permalink

What version of Webflow will be targeted? Webflow 2.0 is in RC status right now.

0
Comment actions Permalink

Hello Dmitry,
I'm surprised you don't plan to support Sybase ASE as well as MS SQL Server: their dialects are pretty much identical as far as I know, so cost on your end should be low, and you would not be shutting out your banking customers.
R

0
Comment actions Permalink

Hello Gibson,

I'm surprised you don't plan to support Sybase ASE as well as MS SQL
Server: their dialects are pretty much identical as far as I know, so
cost on your end should be low, and you would not be shutting out your
banking customers.


The list given in the roadmap isn't a complete list of dialects we're ever
going to support in the enitre lifetime of IntelliJ IDEA. This just represents
our current priorities; it's likely that we'll add more dialects (or allow
third-party plugins to add more dialects) later.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

We're doing serious work with Google App Engine now, so Python support would be fantastic. Current Python IDE's can't hold a candle to IDEA.

0
Comment actions Permalink

I would love to know the answer to this question. My current project is Spring centric (web services, MVC, web flows) and I am the only one using Intellij.

0
Comment actions Permalink

Hello Surya,

I would love to know the answer to this question. My current project
is Spring centric (web services, MVC, web flows) and I am the only one
using Intellij.


We're working on implementing Webflow 2.0 support right now.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

A nice feature for regular Spring MVC would be resolving URLs in views (jsp etc) to Spring MVC controllers):
http://www.jetbrains.net/jira/browse/IDEA-12859

I think IDEA already provide similar support for Struts.

0
Comment actions Permalink

Python plus at least some Django Support would indeed rock the house. The current Python IDEs are still stuck in stone age compared to IntelliJ.

0
Comment actions Permalink

Also, it doesn't talk about "core Java" features that we've implemented or
plan to implement. We don't have any official documents for that part yet.


Why the *&^% not! This is now two major releases without anything for core Java developers. This is getting extremely irritating. My company has been a user of IDEA from the beginning and it's hard to understand why you are writing us off. If I need to look elsewhere for my development tools, so be it.

0
Comment actions Permalink

What are the most obvious missing features? What are the most irritating bugs?

0
Comment actions Permalink

I (and others) have listed this before. But, the short answer is to address the long list of outstanding bugs; work on performance/memory requirements; etc.

0
Comment actions Permalink

Listing the most annoying bugs again (and again) won't hurt. For example, there's a current thread where Jetbrains is asking for specifically that type of feedback.

As for performance problems, can you list some issues with attached CPU and/or memory snapshots?

0
Comment actions Permalink

I've done this all before. So have many others.

0
Comment actions Permalink

Hello Jordan,

Why the *&^% not! This is now two major releases without anything for
core Java developers. This is getting extremely irritating. My company
has been a user of IDEA from the beginning and it's hard to understand
why you are writing us off. If I need to look elsewhere for my
development tools, so be it.


Here's the list of new core Java features which have been implemented in
the current version of Diana (a few more will be added before the final release):

  1. "Extract method object" refactoring

  2. Type migration refactoring

  3. "Create Test" and "Go to Test" actions

  4. "Unwrap statement" action

  5. Global data flow navigation (Analyze | Dataflow to this)

  6. "Generate toString()" plugin bundled

  7. New code coverage runner

  8. Second smart completion (press Ctrl-Shift-Space twice to get more context-sensitive

completion suggestions)

  1. IntelliLang plugin bundled (@Language annotation, regular expression syntax

validation etc.)

  1. Per-file encoding support


Now what do you think about this:
- this is great and the main problem is that you didn't know about these
features, or don't know how to use them?
- this is not enough and we should develop more features in addition to those?
(which ones?)
- you don't care about these features and we should have developed some other
features instead? (which ones?)
- you don't care about features at all and we should have spent our time
fixing bugs instead?
- something else?

As for bugs. I've found only one open bug reported by you and still applicable
to the current IDEA version. It happens only in a specific rare case, but
I've fixed it nevertheless. If you can point to other bugs which you, personally,
run into while developing plain Java code with the current version of IntelliJ
IDEA, I'll be happy to look into them.

As for performance/memory usage, we've rewritten the indexing engine in Diana
in order to have much greater control over both of these factors.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

Is there any chance of the Reformat plug-in being bundled into Diana? Either that or just removing the dialog box for reformat/optimise import actions.

0
Comment actions Permalink

I appreciate this. I also apologize for the tone of my posts. It was getting very frustrating being continually told nothing about what interests me in IDEA with only promises that information was coming soon. So, information like that above is all that is need to keep us "old school" folks happy.

Regarding bug fixes, I just did a quick browse through the open bugs and here are some that jump out at me. What these all have in common is that they are things that affect day-to-day usage of IDEA:

IDEA-17942 (plus lots of similar bugs)
IDEA-13179
IDEA-18491
IDEA-15563
IDEA-12609
IDEA-17112
IDEA-12224
IDEA-14674
IDEA-18078
IDEA-12745
IDEA-14786
IDEA-17977
IDEA-18865
IDEA-12384
IDEA-13291
IDEA-14717
IDEA-11781
IDEA-17366
IDEA-11223
IDEA-12315
IDEA-12639
IDEA-12887
IDEA-16589

0
Comment actions Permalink
  1. "Extract method object" refactoring

  2. Type migration refactoring

  3. "Create Test" and "Go to Test" actions

  4. "Unwrap statement" action

  5. Global data flow navigation (Analyze | Dataflow to this)

  6. "Generate toString()" plugin bundled

  7. New code coverage runner

  8. Second smart completion (press Ctrl-Shift-Space twice to get more

context-sensitive completion suggestions)

  1. IntelliLang plugin bundled (@Language annotation, regular expression

syntax validation etc.)

  1. Per-file encoding support


I miss my long-term feature request to change the type of a
variable/parameter/return value in its valid bounds. But I can wait until
IDEA 12 or 13.

Tom

0
Comment actions Permalink

Hello Tom,

I miss my long-term feature request to change the type of a
variable/parameter/return value in its valid bounds. But I can wait
until IDEA 12 or 13.


The "Type migration" refactoring (new in IDEA 8) can be used to accomplish
this, so no, you don't need to wait until IDEA 12.

--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Comment actions Permalink

OK, in that case I'll give it a try.

Tom

0
Comment actions Permalink

Dmitry, I just filed an enhancement request for some new "core java" functionality that I'd love to see added to the product:

IDEA-19094

Java: "Unused code" search

Description:
I really like how IDEA shows me unused variables in classes and functions within my code when I'm viewing a class file. I'd like to see this functionality expanded so that I can run a search against a package or project to find all the unused classes, methods, variables without having to open each individual file. This would work similar to "find usages", but would basically return the inverse result list.

0
Comment actions Permalink

This has been available since IDEA 2.0, IIRC. Use the "Unused Declaration" inspection, run globally.

--Dave Griffith

0

Please sign in to leave a comment.