Подтвердить что ты не робот

Список ключевых слов "noinspection" в Android Studio

В Android Studio я иногда использую этот комментарий для отключения предупреждения о проверке на определенной строке кода, которую я уже обрабатывал, например:

if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
    //noinspection deprecation
    textView.setBackgroundDrawable(ContextCompat.getDrawable(mContext, R.drawable.calendar_item_separator));
} else {
    textView.setBackground(ContextCompat.getDrawable(mContext, R.drawable.calendar_item_separator));
}

В этом примере я использовал ключевое слово "deprecation", но я не могу найти полный список доступных ключевых слов.

Кто-нибудь узнал?

Спасибо!

4b9b3361

Ответ 1

Наконец-то мне удалось получить список ключевых слов из этого исходного кода Github .

Я вставляю его здесь на всякий случай:

"localInspection": [
    {
        "language": "JAVA",
        "shortName": "UndesirableClassUsage",
        "displayName": "Undesirable class usage",
        "groupName": "IntelliJ IDEA Platform Inspections",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.internal.UndesirableClassUsageInspection"
    },
    {
        "language": "JAVA",
        "shortName": "FileEqualsUsage",
        "displayName": "File.equals() usage",
        "groupName": "IntelliJ IDEA Platform Inspections",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.internal.FileEqualsUsageInspection"
    },
    {
        "language": "JAVA",
        "shortName": "GtkPreferredJComboBoxRenderer",
        "displayName": "Preferred JComboBox renderer",
        "groupName": "IntelliJ IDEA Platform Inspections",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.internal.GtkPreferredJComboBoxRendererInspection"
    },
    {
        "language": "JAVA",
        "shortName": "UnsafeVfsRecursion",
        "displayName": "Unsafe VFS recursion",
        "groupName": "IntelliJ IDEA Platform Inspections",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.internal.UnsafeVfsRecursionInspection"
    },
    {
        "language": "JAVA",
        "shortName": "ConstantConditions",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.data.flow.display.name",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.dataFlow.DataFlowInspection"
    },
    {
        "language": "JAVA",
        "shortName": "UnusedAssignment",
        "displayName": "Unused assignment",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.defUse.DefUseInspection"
    },
    {
        "language": "JAVA",
        "shortName": "NumericOverflow",
        "displayName": "Numeric overflow",
        "groupName": "Numeric issues",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.NumericOverflowInspection"
    },
    {
        "language": "JAVA",
        "shortName": "RedundantCast",
        "displayName": "Redundant type cast",
        "groupName": "Verbose or redundant code constructs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.redundantCast.RedundantCastInspection"
    },
    {
        "language": "JAVA",
        "shortName": "RedundantTypeArguments",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.redundant.type.display.name",
        "groupName": "Verbose or redundant code constructs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.miscGenerics.RedundantTypeArgsInspection"
    },
    {
        "language": "JAVA",
        "shortName": "RedundantArrayCreation",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.redundant.array.creation.display.name",
        "groupName": "Verbose or redundant code constructs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.miscGenerics.RedundantArrayForVarargsCallInspection"
    },
    {
        "language": "JAVA",
        "shortName": "SuspiciousMethodCalls",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.suspicious.collections.method.calls.display.name",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.miscGenerics.SuspiciousCollectionsMethodCallsInspection"
    },
    {
        "language": "JAVA",
        "shortName": "LocalCanBeFinal",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.local.can.be.final.display.name",
        "groupName": "Code style issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.localCanBeFinal.LocalCanBeFinal"
    },
    {
        "language": "JAVA",
        "shortName": "JavaDoc",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.javadoc.display.name",
        "groupKey": "group.names.javadoc.issues",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.javaDoc.JavaDocLocalInspection"
    },
    {
        "language": "JAVA",
        "shortName": "JavadocReference",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.javadoc.ref.display.name",
        "groupKey": "group.names.javadoc.issues",
        "enabledByDefault": "true",
        "level": "ERROR",
        "implementationClass": "com.intellij.codeInspection.javaDoc.JavaDocReferenceInspection"
    },
    {
        "language": "JAVA",
        "suppressId": "deprecation",
        "shortName": "Deprecation",
        "displayName": "Deprecated API usage",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.deprecation.DeprecationInspection"
    },
    {
        "language": "JAVA",
        "suppressId": "extensionSyntax",
        "bundle": "messages.InspectionsBundle",
        "key": "deprecated.defender.syntax.description",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "ERROR",
        "implementationClass": "com.intellij.codeInspection.deprecation.DeprecatedDefenderSyntaxInspection"
    },
    {
        "language": "XML",
        "shortName": "DeprecatedClassUsageInspection",
        "displayName": "Deprecated API usage in XML",
        "groupName": "XML",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.util.xml.DeprecatedClassUsageInspection"
    },
    {
        "language": "JAVA",
        "shortName": "EqualsAndHashcode",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.equals.hashcode.display.name",
        "groupName": "",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.equalsAndHashcode.EqualsAndHashcode"
    },
    {
        "language": "JAVA",
        "shortName": "Since15",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.1.5.display.name",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "false",
        "level": "ERROR",
        "implementationClass": "com.intellij.codeInspection.java15api.Java15APIUsageInspection"
    },
    {
        "language": "JAVA",
        "shortName": "Dependency",
        "displayName": "Illegal package dependencies",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "ERROR",
        "implementationClass": "com.intellij.codeInspection.dependencyViolation.DependencyInspection"
    },
    {
        "language": "JAVA",
        "shortName": "FieldCanBeLocal",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.field.can.be.local.display.name",
        "groupName": "Class structure",
        "enabledByDefault": "true",
        "level": "WARNING",
        "runForWholeFile": "true",
        "implementationClass": "com.intellij.codeInspection.varScopeCanBeNarrowed.FieldCanBeLocalInspection"
    },
    {
        "language": "JAVA",
        "shortName": "ParameterCanBeLocal",
        "key": "inspection.parameter.can.be.local.display.name",
        "groupName": "Class structure",
        "enabledByDefault": "true",
        "level": "WARNING",
        "bundle": "messages.InspectionsBundle",
        "implementationClass": "com.intellij.codeInspection.varScopeCanBeNarrowed.ParameterCanBeLocalInspection"
    },
    {
        "language": "JAVA",
        "shortName": "NullableProblems",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.nullable.problems.display.name",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.nullable.NullableStuffInspection"
    },
    {
        "language": "JAVA",
        "shortName": "TestOnlyProblems",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.test.only.problems.display.name",
        "groupName": "General",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.testOnly.TestOnlyInspection"
    },
    {
        "language": "JAVA",
        "shortName": "WrongPackageStatement",
        "bundle": "messages.InspectionsBundle",
        "key": "wrong.package.statement",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "ERROR",
        "implementationClass": "com.intellij.codeInspection.wrongPackageStatement.WrongPackageStatementInspection"
    },
    {
        "language": "JAVA",
        "shortName": "SillyAssignment",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.variable.assigned.to.itself.display.name",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.sillyAssignment.SillyAssignmentInspection"
    },
    {
        "language": "JAVA",
        "shortName": "RedundantThrowsDeclaration",
        "bundle": "messages.InspectionsBundle",
        "key": "redundant.throws.declaration",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unneededThrows.RedundantThrowsDeclaration"
    },
    {
        "language": "JAVA",
        "shortName": "AccessStaticViaInstance",
        "bundle": "messages.InspectionsBundle",
        "key": "access.static.via.instance",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.accessStaticViaInstance.AccessStaticViaInstance"
    },
    {
        "shortName": "DefaultFileTemplate",
        "bundle": "messages.InspectionsBundle",
        "key": "default.file.template.display.name",
        "groupName": "General",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.defaultFileTemplateUsage.DefaultFileTemplateUsageInspection"
    },
    {
        "language": "JAVA",
        "suppressId": "UnusedDeclaration",
        "alternativeId": "unused",
        "shortName": "UNUSED_SYMBOL",
        "displayName": "Unused symbol",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unusedSymbol.UnusedSymbolLocalInspection",
        "unfair": "true"
    },
    {
        "language": "JAVA",
        "shortName": "UNUSED_IMPORT",
        "displayName": "Unused import (editor light)",
        "groupName": "Imports",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unusedImport.UnusedImportLocalInspection"
    },
    {
        "language": "JAVA",
        "suppressId": "unchecked",
        "shortName": "UNCHECKED_WARNING",
        "displayName": "Unchecked warning",
        "groupName": "",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.uncheckedWarnings.UncheckedWarningLocalInspection"
    },
    {
        "language": "JAVA",
        "shortName": "SuspiciousNameCombination",
        "bundle": "messages.InspectionsBundle",
        "key": "suspicious.name.combination.display.name",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.suspiciousNameCombination.SuspiciousNameCombinationInspection"
    },
    {
        "language": "JAVA",
        "shortName": "DuplicateThrows",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.duplicate.throws.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.duplicateThrows.DuplicateThrowsInspection"
    },
    {
        "language": "JAVA",
        "shortName": "FieldAccessNotGuarded",
        "displayName": "Unguarded field access",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.FieldAccessNotGuardedInspection"
    },
    {
        "language": "JAVA",
        "shortName": "InstanceGuardedByStatic",
        "displayName": "Instance member guarded by static field",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.InstanceGuardedByStaticInspection"
    },
    {
        "language": "JAVA",
        "shortName": "NonFinalFieldInImmutable",
        "displayName": "Non-final field in @Immutable class",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.NonFinalFieldInImmutableInspection"
    },
    {
        "language": "JAVA",
        "shortName": "NonFinalGuard",
        "displayName": "Non-final @GuardedBy field",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.NonFinalGuardInspection"
    },
    {
        "language": "JAVA",
        "shortName": "StaticGuardedByInstance",
        "displayName": "Static member guarded by instance field or this",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.StaticGuardedByInstanceInspection"
    },
    {
        "language": "JAVA",
        "shortName": "UnknownGuard",
        "displayName": "Unknown @GuardedBy field",
        "groupName": "Concurrency annotation issues",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.concurrencyAnnotations.UnknownGuardInspection"
    },
    {
        "language": "JAVA",
        "shortName": "Convert2Diamond",
        "displayName": "Explicit type can be replaced with <>",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.ExplicitTypeCanBeDiamondInspection"
    },
    {
        "language": "JAVA",
        "shortName": "Convert2Lambda",
        "displayName": "Anonymous type can be replaced with lambda",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.AnonymousCanBeLambdaInspection"
    },
    {
        "language": "JAVA",
        "shortName": "Anonymous2MethodRef",
        "displayName": "Anonymous type can be replaced with method reference",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.AnonymousCanBeMethodReferenceInspection"
    },
    {
        "language": "JAVA",
        "shortName": "Convert2MethodRef",
        "displayName": "Lambda can be replaced with method reference",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.LambdaCanBeMethReferenceInspection"
    },
    {
        "language": "JAVA",
        "shortName": "CodeBlock2Expr",
        "displayName": "Lambda code block can be replaced with expression",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.RedundantLambdaCodeBlockInspection"
    },
    {
        "language": "JAVA",
        "suppressId": "unchecked",
        "shortName": "SafeVarargsDetector",
        "displayName": "Possible heap pollution from parameterized vararg type",
        "groupName": "Java language level migration aids",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.PossibleHeapPollutionVarargsInspection"
    },
    {
        "language": "JAVA",
        "shortName": "JavacQuirks",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.compiler.javac.quirks.name",
        "groupName": "Compiler issues",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.compiler.JavacQuirksInspection"
    },
    {
        "language": "JAVA",
        "shortName": "MagicConstant",
        "displayName": "Magic Constant",
        "groupName": "Probable bugs",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.magicConstant.MagicConstantInspection"
    }
],
"globalInspection": [
    {
        "shortName": "WeakerAccess",
        "displayName": "Declaration access can be weaker",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.visibility.VisibilityInspection"
    },
    {
        "shortName": "CanBeFinal",
        "displayName": "Declaration can have final modifier",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.canBeFinal.CanBeFinalInspection"
    },
    {
        "shortName": "UnusedParameters",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.unused.parameter.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unusedParameters.UnusedParametersInspection"
    },
    {
        "shortName": "SameParameterValue",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.same.parameter.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.sameParameterValue.SameParameterValueInspection"
    },
    {
        "shortName": "UnusedReturnValue",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.unused.return.value.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unusedReturnValue.UnusedReturnValue"
    },
    {
        "shortName": "SameReturnValue",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.same.return.value.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.sameReturnValue.SameReturnValueInspection"
    },
    {
        "shortName": "EmptyMethod",
        "displayName": "Empty method",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.emptyMethod.EmptyMethodInspection"
    },
    {
        "shortName": "RedundantThrows",
        "displayName": "Redundant throws clause",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unneededThrows.RedundantThrows"
    },
    {
        "shortName": "UnnecessaryModuleDependencyInspection",
        "bundle": "messages.InspectionsBundle",
        "key": "unnecessary.module.dependency.display.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "true",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.unnecessaryModuleDependency.UnnecessaryModuleDependencyInspection"
    },
    {
        "shortName": "RedundantSuppression",
        "bundle": "messages.InspectionsBundle",
        "key": "inspection.redundant.suppression.name",
        "groupName": "Declaration redundancy",
        "enabledByDefault": "false",
        "level": "WARNING",
        "implementationClass": "com.intellij.codeInspection.RedundantSuppressInspection"
    }
]

По какой-то причине я все еще не знаю, использование комментария //noinspection <keyword> не работает все время.

Чтобы иметь возможность использовать ключевое слово UnusedDeclaration, мне пришлось написать эту строку перед объявлением переменной:

/** @noinspection UnusedDeclaration */
private static final String TAG = "DateTools";

Ответ 2

Возможно, я ошибаюсь, но я думаю, что ближе всего вы можете увидеть представление Inspections в настройках Android Studio. Нажмите Ctrl + Alt + S, выберите EditorInspections.

Он не покажет вам список доступных noinspection ключевых слов, но он предоставит вам полный список проверок, доступных в Android Studio.

Кстати, зачем вам это нужно в первую очередь? Каждый раз, когда предупреждение отображается в Android Studio, есть эта опция быстрого исправления, доступная Alt + Enter, которая показывает вам, как это предупреждение может быть подавлено.