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.
Please sign in to leave a comment.
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!"
Anna Kozlova wrote:
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 ...
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!
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!"
>> Hello Jonas,
>>
>> There is lock profile action. It locks your profile from every
>> inspection which is added by the new plugin or IDEA itself.
>>
>> 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?
Anna Kozlova wrote:
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...
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?
Jonas Kvarnström wrote:
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.
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.)
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!"
>> 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.
>>