web-dev-qa-db-de.com

Deaktivieren Sie die Warnung "nicht verwendet" für öffentliche Methoden einer Klasse

Beim neuen intellij-Upgrade (10.5) wird jetzt eine Warnung angezeigt, dass einige der für eine Klasse definierten Methoden nicht verwendet werden. Diese Methoden sind öffentlich und ich plane, nicht alle zu verwenden, da ich sie zur Unterstützung der erwarteten API erstellt habe. Ich möchte diese Warnung deaktivieren (wird nicht für öffentliche Methoden in einer Klasse verwendet). Gibt es eine Möglichkeit, dies zu tun? 

Sie können es für eine einzelne Methode wie diese deaktivieren

@SuppressWarnings("unused")
public void myMethod(){...}
49
JT Montana

IDEA 2016.3

In der kommenden Version IDEA 2016.3 (Preview-Version bereits verfügbar) ist es jetzt möglich, den Inspektionsumfang anzupassen:

 enter image description here

<IDEA 14.0

Wenn Sie nicht verwendete öffentliche Methoden hervorheben möchten, aktivieren Sie die globale Prüfung "Einstellungen | Inspektionen | Deklarationsredundanz | Nicht verwendete Deklaration".

Wenn Sie nicht verwendete private Methoden hervorheben möchten, aktivieren Sie die lokale Überprüfung "Einstellungen | Inspektionen | Deklaration Redundanz | Nicht verwendetes Symbol".

Wenn Sie also ungenutzte private Mitglieder markieren möchten, nicht jedoch ungenutzte öffentliche Mitglieder, markieren Sie "Nicht verwendete Deklaration" und aktivieren Sie "Nicht verwendetes Symbol".

Quelle

Ich habe es gerade mit IDEA 13.1.4 getestet und es funktionierte genau wie beschrieben.

IDEA 14.x

In IntelliJ IDEA 14.0.x befinden sich die Einstellungen unter:

Settings | Editor | Inspections | Declaration redundancy | Unused symbol/declaration

In IntelliJ IDEA 14.1 scheint die Option verschwunden zu sein.

41
Darek Kay

Deaktivieren Sie Settings | Inspections | Declaration redundancy | Nicht verwendete Deklaration Code-Inspektion. Als Option können Sie einen benutzerdefinierten Bereich für Ihre API-Klassen erstellen und diese Prüfung nur pro API-Bereich deaktivieren, damit sie auch in den übrigen Teilen Ihres Projekts funktioniert.

38
CrazyCoder

In der neuesten Version befinden sich diese Optionen unter Settings>Inspections>Java>Declaration redundancy>Unused declaration>Methods nicht markierte Optionen, die nicht erforderlich sind.

4
Vijay Nandwana

Ich denke, der beste Weg, um die Hervorhebung dieser nicht verwendeten öffentlichen Methoden zu vermeiden, besteht darin, ein paar Tests für diese Methoden in Ihre API zu schreiben.

3
csansb

Hier ist das Update 2019 für: IntelliJ IDEA 2018.3.2 (Community Edition) Build # IC-183.4886.37, erstellt am 17. Dezember 2018 

Einstellungen | Editor | Inspektionen | Deklaration Redundanz | Unbenutzte Deklaration

 enter image description here

1
Ben

Dies ist ein alter Thread, aber ich bin schneller hier gelandet, als ich eine Lösung finden konnte, also werde ich weitergehen und meine Erkenntnisse teilen. Zuerst bin ich nicht sicher, ob wir mit derselben Sprache arbeiten (JS hier, aber mit den GUI-basierten Tools fummelnd, hier endete ich mit . Der folgende Code gab mir die berüchtigte Warnung "nicht verwendet":

/**
 * @class sample class
 */
var MyClass = function () {
    return this;
};

/**
 * Some public method
 * @api public
 */
MyClass.prototype.myMethod = function () {
    return null;
};

Es folgt die "Nicht verwendete Definition myMethod" .__ Der Inspektor schlug vor, dieses spezielle Problem durch Hinzufügen zu ignorieren

//noinspection JSUnusedGlobalSymbols

direkt über dieser bestimmten Methode, sodass der folgende Code nicht mehr zu dieser Warnung führt:

//noinspection JSUnusedGlobalSymbols
/**
 * Some public method
 * @api public
 */
MyClass.prototype.myMethod = function () {
   return null;
};

Andere Warnungen (Typos usw.) scheinen immer noch aufzutauchen, einschließlich ungenutzter lokaler Variablen und Parameter. Es scheint also, dass dieses Problem isoliert wird .. Der Nachteil ist, dass es den Code verschmutzt, wenn Sie eine Menge davon haben. ..

1
Quentin

Ich habe nur auf "Unterdrückung für Anweisung" geklickt und Webstorm hat dies vorangestellt:

//noinspection JSUnusedGlobalSymbols
0
Guntram