By default, the inspection considers a compile-time constant a format string if it's used as an argument to the corresponding methods on
java.util.Formatter
, java.lang.String
, java.io.PrintWriter
or java.io.PrintStream
.
Example:
String.format("x = %d, y = %d", 42);
Use the inspection settings to mark additional classes and methods as related to string formatting.
As an alternative, you can use the org.intellij.lang.annotations.PrintFormat
annotation
to mark the format string method parameter. In this case,
the format arguments parameter must immediately follow the format string and be the last method parameter. Example:
void myFormatMethod(int mode, @PrintFormat String formatString, Object... args) {...}
Methods annotated in this way will also be recognized by this inspection.