Deaktivieren Sie die Warnung in IntelliJ für eine Zeile

78

Ich habe eine Java-Codezeile, in der IntelliJ eine Warnung anzeigt. Wie kann ich die Warnung in dieser bestimmten Zeile stumm schalten, ohne die in anderen Zeilen angezeigten Warnungen zu beeinflussen?

In dieser Frage ist es irrelevant, was die eigentliche Warnung ist: Jetzt suche ich keinen Rat, wie die Qualität eines bestimmten Java-Codes verbessert werden kann, aber ich möchte allgemein wissen, wie verhindert werden kann, dass IntelliJ eine Warnung zu einer bestimmten Warnung anzeigt Java-Quellzeile.

kat
quelle
Das ist wirklich nicht genug Detail, damit jemand antworten kann. Welche Warnung? Was steht auf dem Spiel?
Jim Garrison
Weitere Informationen zur Warnung wären hilfreich. Warnungen existieren aus einem bestimmten Grund und es ist oft besser, das zugrunde liegende Problem zu beheben, als die Warnung zu ignorieren.
Freiheit
8
In dieser Frage ist die spezifische Warnung irrelevant. Ich möchte allgemein wissen, was ich tun kann, um von IntelliJ gemeldete Warnungen für eine bestimmte Zeile (zusätzlich zum Korrigieren meines Codes) für alle möglichen Warnungen zu deaktivieren.
Kat
Zum Beispiel: Intellij beschwert sich, dass dies password.replaceAll(".","*")normalerweise ein Fehler ist. Es denkt, du meintest replaceAll("\.",...). Danke aber nein. Jetzt möchte ich die Warnung bestätigen und unterdrücken. Ich möchte nicht, dass es rumhängt.
Florian F

Antworten:

79

Meistens können Sie in IntelliJ auf die Zeile und klicken Alt+Enter, und es gibt unter anderem Optionen zum Unterdrücken der Warnung.

Ryan Stewart
quelle
11
In meinem Fall gibt es keine solche Option. Es bietet einige Optionen, um die Grundursache der Warnung zu beheben, aber das möchte ich jetzt nicht. Ich möchte nur die Warnung loswerden.
Kat
24
@kat, Sie müssen die rechte Pfeiltaste drücken, um das Inspektionsuntermenü zu öffnen, in dem Sie es für die aktuelle Zeile unterdrücken können, wodurch die Anmerkung automatisch hinzugefügt wird.
CrazyCoder
6
Es funktioniert jetzt so, wie Sie (Ryan Stewart und CrazyCoder) geschrieben haben: Ich drücke F2, um zur nächsten Warnung zu springen, dann drücke ich Alt-Enter, um die Warnung anzuzeigen, und drücke dann die rechte Pfeiltaste, um Optionen zur Behebung des Problems zu erhalten Ich wähle die entsprechende Option Ignorieren. Zu Ihrer Information Wenn Sie die Maus über die Warnzeile bewegen, wird ein Tooltip angezeigt, mit dem Sie die Warnung nicht entfernen können.
kat
3
Das aktuelle IntelliJ ermöglicht die Verwendung von "Analysieren": "Code überprüfen", wodurch ein unterer Bereich geöffnet wird. Im rechten Bereich befindet sich auf der rechten Seite ein praktisches "Für Anweisung unterdrücken". Benötigt allerdings einen großen Bildschirm und eine Maus.
Tino
53

Verwenden Sie in IntelliJ die Antwort von Ryan Stewart und Alt+Enterwählen Sie dann das erste Untermenü und dann den letzten Punkt aus : Suppress for statement.

Geben Sie hier die Bildbeschreibung ein

Aktualisieren

Bei Verwendung von IntelliJ IDEA 13 ist mir ein zusätzlicher Menüpunkt aufgefallen: "Für Anweisung mit Kommentar unterdrücken". Dies wird den IntelliJ-Stil verwenden //noinspection unchecked. Wenn Sie "Für Anweisung unterdrücken" auswählen, fügt IntelliJ diesen Text ein : @SuppressWarnings("unchecked").

Kevinarpe
quelle
1
Vielen Dank. Dies wird jedoch // noinspection Verfall anstelle von @SuppressWarnings ("Verfall")
hinzufügen
1
@SuppressWarnings()ist Java, //noinspectionist JavaScript
Tino
1
@MartinVysny wenn Sie möchten , @SuppressWarnings("unchecked")verwenden Suppress for methodstattSuppress for statement
Pith
6
Gibt es eine Liste aller gültigen Tags für // noinspection?
andresp
14

Abhängig von der Warnung, die Sie verwenden können @SuppressWarnings. Z.B:

@SuppressWarnings("deprecation")
yourLineWhichIsDeprecated;

In dieser Antwort finden Sie eine ziemlich lange Liste von Warnungen, die Sie unterdrücken können. Überprüfen Sie die anderen Beiträge zu diesem Thema für weitere Details.

Martijn Courteaux
quelle
Vielen Dank für die Hintergrundinformationen. Es ist gut zu wissen, wie SuppressWarning funktioniert. Ich suchte jedoch nach einer IntelliJ-spezifischen Lösung.
Kat
Der Link führt Sie nur zu einer zufälligen Werbung oder Webseite
airsquared
Der Link wurde behoben.
Martijn Courteaux
8

In IntelliJ 15 bieten die Inline-Menüs "Gelbe Glühbirne" und Alt-Enter keine Möglichkeit, die Inspektion für 1 Zeile zu unterdrücken.

Es gibt weitere Optionen, wenn Sie die Inspektionen über das Menü ausführen : Analyze -> Inspect Code....

Auf dem Inspektionsfeld bietet die rechte Seite verschiedene Optionen. Ein Teil des Textes im rechten Bereich kann angeklickt werden. Beachten Sie, dass normalerweise auch die Problemlösungsfunktion (Schnellkorrektur) verfügbar ist.

Geben Sie hier die Bildbeschreibung ein

(Anscheinend hat @tino dies bereits in einem Kommentar bemerkt, aber ich habe seinen Kommentar beim ersten Mal verpasst. Ich füge dies als vollständige Antwort hinzu, um das wichtige Teil, das ich persönlich verpasst habe, leichter zu finden.)

Peter Lamberg
quelle
Zumindest eine Antwort, die nicht auf dem Alt-Enter-Menü beruht, das, wie angegeben, in einigen Fällen nicht die Option "Inspektion deaktivieren" oder "Unterdrücken für ..." bietet.
Michaël Polla
0

Beim Kompilieren von Code mit Kotlin-Sprache und IntelliJ finden Sie hier einen Hinweis

Hier ist ein Link zur Github-Quelle, aus der die Compiler-Warnungen stammen und in der die vom Kotlin-Compiler ausgegebenen Standardfehlermeldungen definiert sind

kotlin / compiler / frontend / src / org / jetbrains / kotlin / diagnostics / rendering / DefaultErrorMessages.java

Wenn der Compiler "Variable '' {0} '' wird nie verwendet" ausgibt , stammt er aus dieser Zeile aus DefaultErrorMessages.java

MAP.put(UNUSED_VARIABLE, "Variable ''{0}'' is never used", NAME);

Um die Warnung zu unterdrücken, können Sie eine @ Suppress () - Annotation vor eine nicht verwendete Variable in Ihrem Code setzen:

@Suppress("UNUSED_VARIABLE")
var y: Int = 3

Der Trick, wenn das IntelliJ Ihnen nicht dabei hilft, Vorschläge mit Alt + ENTER an einem hervorgehobenen Ausdruck anzuzeigen, besteht darin, in DefaultErrorMessages.java nachzuschlagen, wenn Sie die Fehlermeldung und das Schlüsselwort zum Unterdrücken einer bestimmten Warnung mit @Suppress (.. names finden )

Dieses Thema ist nicht mit "Kotlin" gekennzeichnet, sondern zumindest mit IntelliJ

Flodis
quelle
0

// keine Inspektion deaktiviert, ConstantConditions

@ SuppressWarnings funktioniert nicht an jedem Ort

Telebog
quelle
0
  1. Klicken Sie auf den Beschwerdebereich, unter dem sich eine Wellenlinie 〰️ befindet
  2. Eine Glühbirne 💡 erscheint, klicken Sie auf die Glühbirne 💡
  3. Wählen Sie die Option Unterdrückungsanweisung

Geben Sie hier die Bildbeschreibung ein

4. Über der aktuellen Zeile wird ein Kommentar ohne Inspektion hinzugefügt //noinspection CssInvalidPropertyValue

  1. Die Beschwerden verschwinden 👏
Sangelee
quelle