Usability of inspection profiles when new inspections become available

New inspections are constantly added to IDEA, in new EAP builds or by
plugins. This is great, of course, but it does lead to problems when
maintaining existing inspection profiles:

1) Some inspections are added that I don't want to be added. I don't
want inspections for all kinds of XPath problems to be automatically
added to my "unused code" profile, for example.

2) Some inspections are not added that I want to be added.

3) Some inspections are added that I do want to be added, but they
don't have the severity I want.


So now and then I have to go through every inspection profile and once
again check every single inspection to see whether it is correctly
configured. I can't just check the ones that are not included to see if
they should be added, because of (1) and (3). I can't just check the
ones that are new in the current version of IDEA, because even though
some inspections are marked as "New in 9", others are added through
plugins and might be marked with a plugin name without a version
("Powered by XPathView") or not marked at all.

As an example, an old "Foreach" inspection profile that originally only
checked for code where for loops could be replaced with foreach loops
now has well over 200 inspections marked, including inspections related
to Ant, CSS, Groovy, HTML, PHP, and so on.


Of course I don't expect IDEA to know automatically what inspections I
want to add to which profiles or what custom severity levels I want to
use for each inspection, but there are some things that could be done to
improve usability.

Most importantly, IDEA could keep track of which inspections have been
explicitly saved in each inspection profile, and make it possible for
the user to see which inspections are currently using their default
settings rather than settings explicitly saved by the user. This would
perhaps make inspection setting files larger, but it would make it much
easier to keep track of which inspections have to be checked.

Or all new inspections could be associated with an "add date", and
(important!) it could be possible to search for inspections added later
than any given date. This would require no changes to inspection
profiles, but as long as I keep track of when I last updated a profile
(which would be easier if one could also save a comment with each
profile), it would still save a lot of work.

Comments? Am I alone in having this problem? Any other suggestions for
solutions?

I'll enter a JIRA request later but I'd like to discuss the topic here
first.

7 comments
Comment actions Permalink

Hello Jonas,

There is lock profile action. It locks your profile from every inspection
which is added by the new plugin or IDEA itself. No other inspection would
appear in this profile. Ever. Though it doesn't solve problems 2 and 3 ...

Seems that you want to be notified when you've got a number of new inspections
to deside what to do with them? With possibility to postpone the decision?

Thank you
-


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

New inspections are constantly added to IDEA, in new EAP builds or by
plugins. This is great, of course, but it does lead to problems when
maintaining existing inspection profiles:

1) Some inspections are added that I don't want to be added. I don't
want inspections for all kinds of XPath problems to be automatically
added to my "unused code" profile, for example.

2) Some inspections are not added that I want to be added.

3) Some inspections are added that I do want to be added, but they
don't have the severity I want.

So now and then I have to go through every inspection profile and once
again check every single inspection to see whether it is correctly
configured. I can't just check the ones that are not included to see
if they should be added, because of (1) and (3). I can't just check
the ones that are new in the current version of IDEA, because even
though some inspections are marked as "New in 9", others are added
through plugins and might be marked with a plugin name without a
version ("Powered by XPathView") or not marked at all.

As an example, an old "Foreach" inspection profile that originally
only checked for code where for loops could be replaced with foreach
loops now has well over 200 inspections marked, including inspections
related to Ant, CSS, Groovy, HTML, PHP, and so on.

Of course I don't expect IDEA to know automatically what inspections I
want to add to which profiles or what custom severity levels I want to
use for each inspection, but there are some things that could be done
to improve usability.

Most importantly, IDEA could keep track of which inspections have been
explicitly saved in each inspection profile, and make it possible
for the user to see which inspections are currently using their
default settings rather than settings explicitly saved by the user.
This would perhaps make inspection setting files larger, but it would
make it much easier to keep track of which inspections have to be
checked.

Or all new inspections could be associated with an "add date", and
(important!) it could be possible to search for inspections added
later than any given date. This would require no changes to
inspection profiles, but as long as I keep track of when I last
updated a profile (which would be easier if one could also save a
comment with each profile), it would still save a lot of work.

Comments? Am I alone in having this problem? Any other suggestions
for solutions?

I'll enter a JIRA request later but I'd like to discuss the topic here
first.



0
Comment actions Permalink

Anna Kozlova wrote:

Hello Jonas,

There is lock profile action. It locks your profile from every
inspection which is added by the new plugin or IDEA itself.


Thanks, I must have missed this completely! I don't get that much time
to do Java programming these days so I guess I'm a bit out of date when
it comes to new features...

But where is the lock action? There are five buttons in Maia 10652:
Add, delete, import, export, activate. There is one checkbox: Share
profile. And there are two toolbar buttons: Expand and collapse.

I've just searched the help and found a reference to the "current
profile toolbar" which should also allow me to abandon modifications,
clear all checkboxes, and lock the current profile. But I can't find
these buttons anywhere, despite having enlarged the window so I have
plenty of free space for them.

I do see a small "Reset" text link within the blue "Inspections" heading
which might correspond to abandoning modifications, but nothing related
to locking or clearing a profile.

> problems 2 and 3 ...

Seems that you want to be notified when you've got a number of new
inspections to deside what to do with them? With possibility to postpone
the decision?


Something like that, yes. Being able to list inspections in the order
they were added to IDEA would be quite sufficient. Having "New in 9"
appear in all inspections that appeared in IDEA 9, even if they were not
in the core but in a Jetbrains plugin, would perhaps also be sufficient.
If I do install third-party plugins providing inspections I should be
able to keep track of them some other way.

If I can lock a profile, perhaps it would be possible to view
inspections that were not present when I locked it? I could then change
those inspection settings, unlock the profile, and lock it again to save
the new state. Depends on how you implement locking, and since I can't
find the function I can't check for myself.

What I don't want to do is to look manually at hundreds of inspections
to try to remember which ones I've seen before and which ones are new
since last time I checked -- for several different inspection profiles
(my standard personal profile, a profile for checking students' Java
projects, and so on). Or to painstakingly check dozens of release notes
to compile a list and then go through the inspection tree to find those
inspections.

Thanks for your quick reply!

0
Comment actions Permalink

Hello Jonas,

these buttons are right near expand/collapse but they are hidden if background
indexing is in progress.

Blue marks would show those inspections which are on by default but are not
included in your profile because of lock. Unfortunately there is no solution
for inspections off by default ... Any ideas?

Thank you

-


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

Anna Kozlova wrote:

>> Hello Jonas,
>>
>> There is lock profile action. It locks your profile from every
>> inspection which is added by the new plugin or IDEA itself.
>>

Thanks, I must have missed this completely! I don't get that much
time to do Java programming these days so I guess I'm a bit out of
date when it comes to new features...

But where is the lock action? There are five buttons in Maia 10652:
Add, delete, import, export, activate. There is one checkbox: Share
profile. And there are two toolbar buttons: Expand and collapse.

I've just searched the help and found a reference to the "current
profile toolbar" which should also allow me to abandon modifications,
clear all checkboxes, and lock the current profile. But I can't find
these buttons anywhere, despite having enlarged the window so I have
plenty of free space for them.

I do see a small "Reset" text link within the blue "Inspections"
heading which might correspond to abandoning modifications, but
nothing related to locking or clearing a profile.

>> problems 2 and 3 ...
>> Seems that you want to be notified when you've got a number of new
>> inspections to deside what to do with them? With possibility to
>> postpone
>> the decision?

Something like that, yes. Being able to list inspections in the order
they were added to IDEA would be quite sufficient. Having "New in 9"
appear in all inspections that appeared in IDEA 9, even if they were
not
in the core but in a Jetbrains plugin, would perhaps also be
sufficient.
If I do install third-party plugins providing inspections I should
be
able to keep track of them some other way.
If I can lock a profile, perhaps it would be possible to view
inspections that were not present when I locked it? I could then
change those inspection settings, unlock the profile, and lock it
again to save the new state. Depends on how you implement locking,
and since I can't find the function I can't check for myself.

What I don't want to do is to look manually at hundreds of inspections
to try to remember which ones I've seen before and which ones are new
since last time I checked -- for several different inspection profiles
(my standard personal profile, a profile for checking students' Java
projects, and so on). Or to painstakingly check dozens of release
notes to compile a list and then go through the inspection tree to
find those inspections.

Thanks for your quick reply!



0
Comment actions Permalink

Anna Kozlova wrote:

Hello Jonas,

these buttons are right near expand/collapse but they are hidden if
background indexing is in progress.


Oh, I see. I was just eager to check for the lock icon, I guess I
should have waited a bit longer :) It's there now...

Blue marks would show those inspections which are on by default but are
not included in your profile because of lock.


But doesn't the blue color mean that the inspection is changed compared
to the default? That's the behavior I've seen before and it seems to
work that way even if I lock a profile. So all of these inspections
would be blue:

  • On by default and I've turned it off before locking

  • Off by default but I've turned it on before locking

  • On by default but was added after I locked the profile


Or am I missing something?

0
Comment actions Permalink

Jonas Kvarnström wrote:

So now and then I have to go through every inspection profile and once
again check every single inspection ...


Just in case you missed that:
At lest for inspections added to Maja, there is a quick way to see only the new inspections.
In the search box, there is a dropdown with "New in 9" preconfigured.

I am not too sure, though, that all new inspections really include that text.

0
Comment actions Permalink

At lest for inspections added to Maja, there is a quick way to see only
the new inspections.
In the search box, there is a dropdown with "New in 9" preconfigured.


Thanks for the tip, but as you say don't think that the text occurs in
all new inspections -- in fact, adding that text consistently across
inspections was one of my suggestions in an earlier mail. (But I know I
write long and convoluted messages so it's probably easy to miss :))

Example: PHP is new in Maia, isn't it? But none of the PHP inspections
include "New in 9", or any version ID at all. (BTW, "Undefinded Class"
is misspelled.)

0
Comment actions Permalink

Hello Jonas,

I just mean that you won't be able to detect new unchecked by default inspections.


Thank you
-


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

Anna Kozlova wrote:

>> Hello Jonas,
>>
>> these buttons are right near expand/collapse but they are hidden if
>> background indexing is in progress.
>>

Oh, I see. I was just eager to check for the lock icon, I guess I
should have waited a bit longer :) It's there now...

>> Blue marks would show those inspections which are on by default but
>> are not included in your profile because of lock.
>>

But doesn't the blue color mean that the inspection is changed
compared to the default? That's the behavior I've seen before and it
seems to work that way even if I lock a profile. So all of these
inspections would be blue:

  • On by default and I've turned it off before locking * Off by default

but I've turned it on before locking * On by default but was added
after I locked the profile

Or am I missing something?



0

Please sign in to leave a comment.