Provided a way not to show some inspections in the inspections profile view

This commit is contained in:
Alexander Kirillin
2012-04-10 20:39:00 +04:00
parent 0029d0e8b1
commit 4e5c53992a
3 changed files with 17 additions and 13 deletions
@@ -19,6 +19,7 @@ package com.intellij.codeInspection.ex;
import com.intellij.codeHighlighting.HighlightDisplayLevel;
import com.intellij.codeInsight.daemon.HighlightDisplayKey;
import com.intellij.codeInspection.InspectionProfileEntry;
import com.intellij.codeInspection.LocalDummyInspectionTool;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.WriteExternalException;
import com.intellij.psi.search.scope.packageSet.NamedScope;
@@ -43,6 +44,7 @@ public class Descriptor {
private static final Logger LOG = Logger.getInstance("#com.intellij.codeInspection.ex.Descriptor");
private final ScopeToolState myState;
private final InspectionProfileImpl myInspectionProfile;
private boolean myShouldBeShown = true;
public Descriptor(ScopeToolState pair, InspectionProfileImpl inspectionProfile) {
myState = pair;
@@ -56,6 +58,14 @@ public class Descriptor {
myEnabled = ((InspectionProfileImpl)inspectionProfile).isToolEnabled(myKey, pair.getScope());
myTool = tool;
myScope = pair.getScope();
if (tool instanceof InspectionToolWrapper) {
InspectionProfileEntry inspection = ((InspectionToolWrapper)tool).getTool();
if (inspection instanceof LocalDummyInspectionTool) {
myShouldBeShown = ((LocalDummyInspectionTool)inspection).shouldBeShownInInspectionProfile();
}
}
}
public boolean equals(Object obj) {
@@ -80,6 +90,10 @@ public class Descriptor {
myEnabled = enabled;
}
public boolean shouldBeShown() {
return myShouldBeShown;
}
public String getText() {
return myText;
}
@@ -444,10 +444,6 @@ public class InspectionProfileImpl extends ProfileEx implements ModifiableModel,
return false;
}
for (InspectionToolWrapper tool : tools) {
if (tool.getTool() instanceof LocalDummyInspectionTool && !((LocalDummyInspectionTool)tool.getTool()).shouldBeShownInInspectionProfile()) {
continue;
}
final String shortName = tool.getShortName();
HighlightDisplayKey key = HighlightDisplayKey.find(shortName);
if (key == null) {
@@ -21,14 +21,8 @@ import com.intellij.codeHighlighting.HighlightDisplayLevel;
import com.intellij.codeInsight.daemon.HighlightDisplayKey;
import com.intellij.codeInsight.daemon.impl.HighlightInfoType;
import com.intellij.codeInsight.daemon.impl.SeverityRegistrar;
import com.intellij.codeInspection.InspectionProfile;
import com.intellij.codeInspection.InspectionProfileEntry;
import com.intellij.codeInspection.InspectionsBundle;
import com.intellij.codeInspection.ModifiableModel;
import com.intellij.codeInspection.ex.Descriptor;
import com.intellij.codeInspection.ex.InspectionProfileImpl;
import com.intellij.codeInspection.ex.InspectionToolRegistrar;
import com.intellij.codeInspection.ex.ScopeToolState;
import com.intellij.codeInspection.*;
import com.intellij.codeInspection.ex.*;
import com.intellij.ide.CommonActionsManager;
import com.intellij.ide.DefaultTreeExpander;
import com.intellij.ide.IdeTooltipManager;
@@ -685,7 +679,7 @@ public class SingleInspectionProfilePanel extends JPanel {
keySetList.addAll(SearchUtil.findKeys(filter, quated));
}
for (Descriptor descriptor : myDescriptors.keySet()) {
if (filter != null && filter.length() > 0 && !isDescriptorAccepted(descriptor, filter, forceInclude, keySetList, quated)) {
if (!descriptor.shouldBeShown() || filter != null && filter.length() > 0 && !isDescriptorAccepted(descriptor, filter, forceInclude, keySetList, quated)) {
continue;
}
final List<ScopeToolState> nonDefaultTools = mySelectedProfile.getNonDefaultTools(descriptor.getKey().toString());