Disable warning in IntelliJ for one line
JavaIntellij IdeaWarningsLineJava Problem Overview
I have a Java code line where IntelliJ displays a warning. How do I silence the warning in that particular line, without affecting warnings displayed in other lines?
In this question it's irrelevant what the actual warning is: now I'm not seeking advice on how to improve the quality of a specific piece of Java code, but I want to know in general how to prevent IntelliJ from displaying a warning on a specific Java source line.
Java Solutions
Solution 1 - Java
Mostly in IntelliJ, you can click on the line and Alt+Enter
, and it will have options for suppressing the warning, among other things.
Solution 2 - Java
Expanding upon Ryan Stewart's answer, in IntelliJ, use Alt+Enter
, then select the first sub-menu, then the last item: Suppress for statement
.
Update
Using IntelliJ IDEA 13, I noticed an additional menu item: "Suppress for statement with comment". This will use the IntelliJ style //noinspection unchecked
. If you select "Suppress for statement", IntelliJ will insert this text: @SuppressWarnings("unchecked")
.
Solution 3 - Java
Depending on the warning you can use @SuppressWarnings
. Eg:
@SuppressWarnings("deprecation")
yourLineWhichIsDeprecated;
Take a look at this answer for a pretty long list of warnings you can suppress. Check the other posts on that topic for more details.
Solution 4 - Java
In IntelliJ 15 the inline "yellow bulb" and alt-enter menus don't offer to suppress the inspection for 1 line.
There are more options when running the inspections via the Menu: Analyze -> Inspect Code...
.
Then on the Inspection panel the right side offers various options. Some of text in the right hand panel is clickable. Note that usually the problem resolution function (quick fix) is also available.
(Apparently @tino already noticed this in a comment, but I missed his comment the first time. I'm adding this as full answer to make the important bit I personally missed easier to find.)
Solution 5 - Java
Just one more note. If you are looking for a answer to suppress all warnings for a next line (or part of the code). It might be a reason for a several cases:
-
Idea doesn't provide error name, or suggestions
-
Number of warnings for next line is too large
You can use just:
//noinspection ALL
Solution 6 - Java
- Click on the complaining area that has a wavy line 〰️ beneath it
- A light bulb appears, click the light bulb
- Select the suppress statement option
4. An no inspection comment will be added above current line //noinspection CssInvalidPropertyValue
- The complaining disappear
Solution 7 - Java
Problems panel
The Problems panel shows a list of warnings and errors in our code. There we can peruse the various issues with our code, working through the list one-by-one. This feature arrived in IntelliJ 2020.2.
In at least IntelliJ 2021.2, and perhaps earlier, we can suppress a warning within that panel.
When selecting a problem point, the right-side pane of the Problems panel shows a Suppress widget. This pop-up menu displays items for various ways to suppress the warning.
Solution 8 - Java
When compiling code using Kotlin language and IntelliJ here is a hint
Here is a link to the github source where the compiler warnings have their origin and where the default error messages output by the Kotlin compiler are defined
kotlin/compiler/frontend/src/org/jetbrains/kotlin/diagnostics/rendering/DefaultErrorMessages.java
If the compiler outputs "Variable ''{0}'' is never used" it origins from this line form DefaultErrorMessages.java
MAP.put(UNUSED_VARIABLE, "Variable ''{0}'' is never used", NAME);
To suppress the warning you can put a @Suppress() annotation before an unused variable in your code like this:
@Suppress("UNUSED_VARIABLE")
var y: Int = 3
So the trick if the IntelliJ does not help you pop up suggestions pressing Alt+ENTER at a highlighted expression is to look inside DefaultErrorMessages.java if you can find the error message and the keyword to supress a particular warning using @Suppress(..names)
This topic is not marked "Kotlin" but at least marked IntelliJ
Solution 9 - Java
//noinspection unchecked,ConstantConditions
@SuppressWarnings does not work in every place
Solution 10 - Java
As other questions point out, there are several options to achieve what are you asking for. A more comprehensive list of the options available can be found in the official documentation here.