Develop with Pleasure II: modest missing features

Time for another trip down "Develop with Pleasure" lane, this time to tell us what missing feature would add to your development pleasure.

Let's focus this thread on modest (as in not rewrite the roadmap) features that are missing from IDEA. To give your feature the best chance of implementation and to help JetBrains, please include a JIRA issue with hyperlink. If the topic is one you want to dialog about first to shape the feature request, that's good too as long as you end up with the JIRA issue. Please add a comment about your bug in the post.

Try to keep the focus away from the very recent new feature functionality that is already part of JetBrains' current focus. - this thread is more for older requests, the backlogged, the languishing, the unassigned, the never JIRAed, etc.

FYI - To create an issue, go here & select IDEA feedback:
http://www.jetbrains.net/jira/secure/CreateIssue!default.jspa
Once you add an issue, JetBrains can track it. You might also search the issue tracker to see if your issue has already been added but not implemented.

0
123 comments

Alt-Q, but in the Project Pane. Sometimes I'm navigating packages that are very deep, with lots of classes, be nice to just see what package a particular class is in from the tree window. Yes, I know there's the navigation bar. sometimes I close that.

Have the option to auto add the @Override annotation when overriding. Very irritating to have to go back and alt-enter that.

0

Hello Peter,

Have the option to auto add the @Override annotation when overriding.
Very irritating to have to go back and alt-enter that.


Well, we do have such an option, and it's right down there in the "Override"
dialog.

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


0

Well, and what's about this one:
http://www.jetbrains.net/jira/browse/IDEABKL-3553 ?

Dmitry Jemerov wrote:

Hello Peter,

>> Have the option to auto add the @Override annotation when overriding.
>> Very irritating to have to go back and alt-enter that.


Well, we do have such an option, and it's right down there in the
"Override" dialog.


--
Martin Fuhrer
Fuhrer Engineering AG
http://www.fuhrer.com

0

Just curious: for what this annotation is useful?

0

For intentional mark about method overriding (you have to use IDE to see
the overriding otherwise).

Tom wrote:

Just curious: for what this annotation is useful?


--
Best regards,
Maxim Mossienko
IntelliJ Labs / JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

0

Tom wrote:

Just curious: for what this annotation is useful?


It's especially useful to be notified about API changes. Suppose you're overriding a method from
some library and get a new version of the library. In the new version, the overridden method got a
different signature that doesn't match yours any more. As long as there's no (now) invalid
super-call, the code will still compile but probably won't work correctly any more. With @Override
however, the compiler will complain that your method doesn't override anything.

Sascha

0

Ah, thanks, that sounds useful.

0

Liking this idea a lot...

N.

Andrew Sazonov wrote:

Probably this is not a big deal, but there could be small but convenient
feature - add gutter marks for return statemetns as well as for
statements where exceptions are thrown (ones that are not catched in the
method body)....

Sometimes its' reallly annoyting to investigate somebody's code with may
return points for methods and such a tool could improve productivity,
IMHO ...

Just my two cents

Regards,
Andrew

0

yes. I just tried it in the latest build, it doesn't show up. Also, the quick fix for adding the override seems broken, the intention doesn't show up now, even if it's enabled.

This is in 7241, mac os x.

A simple TestClass with one method, plus TestClass2 extends TestClass, overrides that one method.

Regardless, I would like that option there all the time, as the bug indicated by martin mentions.

0

+1

This would be very useful. Now I haven't been able to take full use of my 24" widescreen (1920x1200) when using IDEA.

You should consider the possibility of a vertical layout for every tab. Also, try how it will look on different sizes of monitors, so that it would be possible to take full advantage of even very large screen resolutions. The layouts should be tested using at least the following widescreen resolutions:
1680x1050 (20-22")
1920X1200 (24-27")
2560x1600 (30")

0

Sometimes when coding/debugging it would be useful to be able to define a special todo that prevents any file containing it from being committed.

Maybe on the commit dialog you could select a todo filter that would be used to prevent commits if any of the files in the commit set match that todo filter.

I suppose that this is a bit like having a must-do.

Change lists are great but sometimes this could help prevent accidental check-ins.

0

Note that pressing ctrl-shift-f7 (Highlight Usages in
file) on any "return" or "throw" in the method body
will highlight all exit points of the method.


Not really.

It will highlight all instances of the characters "return" (or "throw), wherever they appear in the file, including as part of a larger symbol (and don't tell me not to do that—where I saw it happened to be a symbol generated by ANTLR).


Ah! Wait a minute. If you have an insertion point in or at the edge of a "return" or "throw" keyword, then the behavior you describe results. However, if the selection is (spans) one of those keywords, then it does what I said (does a simple text-based highlight throughout the file).


Randall Schulz

0

here's a nice & little one:
selecting an exception in a throws declaration should highlight the method call inside the current method that can throw the exception. eclipse does this, and it's quite useful.

0

Hah - that's an issue many people stumbled across.
In general "Highlight usages in file" does a text based search when you have a selection.
Only if there's no selection it does a semantic search. Both have different highlight colors, too.

Hard to discover, but quite handy after you get used to it.

0

HamsterofDeath wrote:

here's a nice & little one:
selecting an exception in a throws declaration should highlight the method call inside the current method that can throw the exception. eclipse does this, and it's quite useful.


That's already there: Put the caret on the throws-keyword, press ctrl-shift-f7 and, if there's more
than one, select the exception class.

Sascha

0
0

Hello Brett,

Sometimes when coding/debugging it would be useful to be able to
define a special todo that prevents any file containing it from being
committed.

Maybe on the commit dialog you could select a todo filter that would
be used to prevent commits if any of the files in the commit set match
that todo filter.

I suppose that this is a bit like having a must-do.

Change lists are great but sometimes this could help prevent
accidental check-ins.


This sounds like a feature that is very specific to some workflows, and better
implemented as a third-party plugin rather than a core feature. The APIs
required to implement that are available.

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


0

Allowing to fetch external resource from JAR files please

http://www.jetbrains.net/jira/browse/IDEABKL-517

0

found one:
f2 should sort the warnings by their severity. currently, it's just errors/warnings.

0

Yep, that's been bothering me a lot.
I have many InspectorGeneral inspection set to "info".
Those are nice to see, but most of the time I want to navigate from warning to warning.

0

Hello Stephen,

Done.

Thank you

-


Anna Kozlova
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

Yep, that's been bothering me a lot.
I have many InspectorGeneral inspection set to "info".
Those are nice to see, but most of the time I want to navigate from
warning to warning.



0

Brett,

I picked up your idea and created a little plugin which is doing more or less what you're asking for. Before committing any file it first looks if the file contains some special comment. If one such comment is found, then the whole commit is interrupted, about the same way as when doing a code analysis before commit.

The plugin adds two actions to the code menu which append (or insert) such a commit blocking comment at the current editor location. It also adds a todo pattern and a corresponding filter to highlight those special comments.

The text which is used as the commit blocking comment is currently hard coded, so if you have any preference here just let me know. (The next version of the plugin will have an UI to change the text.)

Are you interested in doing some beta testing? The plugin requires 7M2 or higher.

- Martin

Sometimes when coding/debugging it would be useful to
be able to define a special todo that prevents any
file containing it from being committed.

Maybe on the commit dialog you could select a todo
filter that would be used to prevent commits if any
of the files in the commit set match that todo
filter.

I suppose that this is a bit like having a must-do.

Change lists are great but sometimes this could help
prevent accidental check-ins.

0

Does that mean that F2 is going to jump around in the file rather than going top to bottom?

If so, I don't like the idea.


Randall Schulz

0

Hello Randall,

As was asked here F2 if configured to go by errors first selects the most
"serious" warning from all available. nothing else is changed.


-


Anna Kozlova
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

Does that mean that F2 is going to jump around in the file rather than
going top to bottom?

If so, I don't like the idea.

Randall Schulz



0

Well, then, will I be able to turn that off?

I rarely agree with others' determination of "severity" of an issue and prefer to just walk through the file from top to bottom. For one thing, I can look in the gutter and have a good idea where in my code I'll go next. With "severity" ordering predicatbility is lost, and I consider that a bad thing.


Randall Schulz

0

Hello Randall,

Well, then, will I be able to turn that off?


This behavior is optional now and will stay optional.

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


0

can you give an example? i'm confused^^

i have configured 7 (yes, seven) error levels, starting at "logical error" (compiler accepts it, but it makes so sense. for example string.equals(arraylist) or map<integer,string>.get(timestamp)) and going down to info.

when pressing f2, which warnings/errors will be traversed in which order?

0

As Dmitry says it is already optional - maybe you should actually try it before arguing about it.

Anyway I'd like to comment on two other things you said:

I rarely agree with others' determination of "severity"

Why do you think it "other's" determination. You can configure severity levels yourself.

With "severity" ordering predicatbility is lost

Nope - of course it isn't: When I see two red stripes in the gutter F2 will navigate those.
When there are only warnings (yellow) F2 will navigate those instead.
Not only predictable but actually the behaviour that feels right: I'd like to fix compile errors first, after that I might want to look at warnings and after that when I find time I might want to browse all these infos.

Note that AFAIK all default inspection trigger on either warning or error so there is no change at all if you haven't configured some inspections manually to trigger on "info" level.

0

Depends on what inspections really triggered in your file.

If there are compile errors only those will be traversed - all others will be skipped.
If you have "logical errors" (your own highest level) then only those will be traversed.
...
Inspection results with your lowest priority level will only ever be traversed if there are no other inspection results at all.

(Hm, or maybe compile errors will be traversed together with your own highest level. Not sure about that.)

All this is optional. You can choose to always have all results traversed (right click the colored square above the right gutter).

@Anna: How are the options named now?
The current "Go to errors first" vs. "Go to next error/warning" does not do it anymore (and never was easy to understand anyway).
How about "Traverse only highest severity", "Traverse all". Additionally if the currently mapped shortcuts F2/Shift F2 could be display somehow that would be great.

0

Hello Stephen,

Severities are sort according to chosen order -> first you've got your the
most important severity.

F2/Shift F2 -> popup on the right gutter?

I am not sure about naming ... If one knows nothing about custom severities
it is more convenient to use more straightforward terms

Thank you

-


Anna Kozlova
JetBrains Inc.
http://www.intellij.com
"Develop with pleasure!"

Depends on what inspections really triggered in your file.

If there are compile errors only those will be traversed - all others
will be skipped.

If you have "logical errors" (your own highest level) then only those
will be traversed.

..

Inspection results with your lowest priority level will only ever be
traversed if there are no other inspection results at all.

(Hm, or maybe compile errors will be traversed together with your own
highest level. Not sure about that.)

All this is optional. You can choose to always have all results
traversed (right click the colored square above the right gutter).

@Anna: How are the options named now?

The current "Go to errors first" vs. "Go to next error/warning" does
not do it anymore (and never was easy to understand anyway).

How about "Traverse only highest severity", "Traverse all".
Additionally if the currently mapped shortcuts F2/Shift F2 could be
display somehow that would be great.



0

Please sign in to leave a comment.