New Inspections in This Release
C#
Name | Description |
---|---|
Reports methods, classes and files whose coverage is below a certain threshold. |
CSS
Name | Description |
---|---|
Reports a discrepancy detected by the Stylelint linter. | |
Reports a discrepancy detected by the W3C CSS Validator. |
Commandline
Name | Description |
---|---|
Reports the problems if the arguments of the command you type in the console are not in the proper order. |
DTS
Name | Description |
---|---|
Reports duplicated elements inside a node. | |
Reports properties with invalid type. | |
Reports const properties with invalid values. | |
Reports enum properties with invalid values. | |
Reports missing required properties. | |
Reports undeclared properties. |
Djangotemplate
Name | Description |
---|---|
Reports #} line comment ends in Django templates that do not have a matching line comment start. | |
Reports incorrect names of the closing blocks. | |
Reports a missing url in the url tag. | |
Reports duplicated block names in Django templates. | |
Reports features that are not available in the current Django version. | |
Reports missing parameters in the template file if the url() function has parameters in its URL path. | |
Reports missing whitespaces before and after comparison operators in Django templates. | |
Reports cases when opening tags in Django templates are not correctly matched by closing tags. | |
Reports the {% extends %} tag that is not the first tag in a Django template. | |
Reports unresolved filters in Django templates. | |
Reports unresolved references in Django load tags. | |
Reports unresolved references to static resources. | |
Reports unresolved tags in Django templates. | |
Reports unresolved file references in string literals of extends> and include> Django tags. |
FTL
Name | Description |
---|---|
Reports FreeMarker language errors. |
Githubexpressionlanguage
Name | Description |
---|---|
Reports invalid GitHub Actions Expression language standard library function calls For more information on GitHub Actions Expression language, see the GitHub documentation. |
HCL
Name | Description |
---|---|
Reports conflicting properties in an HCL block. | |
Reports deprecated blocks or properties. | |
Reports duplicate outputs. | |
Reports duplicate properties inside one block. | |
Reports duplicate providers. | |
Reports duplicate variables. | |
Reports old style HCL expressions and suggests converting them to HCL2 expressions. | |
Reports illegal interpolations. | |
Reports errors in vars files. | |
Reports incorrect variable type. | |
Reports invalid block labels or incorrect number of labels according to the schema. | |
Reports string and number invalid literals. | |
Reports blocks with missing required properties. | |
Reports suboptimal HCL2 expressions and suggests simplifications. | |
Reports if terraform was not initialized in the current working directory. | |
Reports blocks with unknown type (first literal). | |
Reports unresolved modules and suggests running terraform get to update the modules. |
HIL
Name | Description |
---|---|
Reports operations incorrect argument types. | |
Reports usage of unavailable scopes, e. | |
Reports unknown (non-used in module) resource type usage. |
Html
Name | Description |
---|---|
Highlights unresolved references in Writerside XML topics as errors. |
Http request
Name | Description |
---|---|
Reports inappropriate usage of HTTP protocol keyword, e. |
JVM
Name | Description |
---|---|
Reports actions, action groups and other ActionUpdateThreadAware classes that implicitly state the deprecated and costly ActionUpdateThread. | |
Reports plugin components and actions that are not registered in a plugin. | |
Reports extension classes that are non-final or public. | |
Reports JUnit annotated methods when used in a test case from a different JUnit version. | |
Reports classes annotated with the @com. | |
Reports mismatches between light service levels and its constructors. |
Java
Name | Description |
---|---|
Reports while loops that could be more effectively written as do-while loops. | |
Reports fragments of Java code which are identical to the existing static methods suggesting to reuse these static methods. | |
Reports an empty module-info. | |
Reports checked exceptions expected by a JUnit 4 test-method that are never thrown inside the method body. | |
Explicit class declaration can be converted into implicitly declared class | Reports ordinary classes, which can be converted into implicitly declared classes Example: public class Sample { public static void main(String[] args) { System. |
Implicitly declared class can be replaced with ordinary class | Reports implicitly declared classes and suggests replacing them with regular classes. |
Reports when a @Language annotation is applied to an element with a type other than String or String[]. | |
Allows viewing the problems reported by the Java annotator: compilation problems, unresolved by IDEA references, and so on. | |
Reports unresolved references in Java code. | |
Reports when the language of a reference does not match the expected language of the usage context. | |
Reports redundant Stream API calls like map(), or boxed() right before the count() call. | |
Reports import statements which are not arranged according to the current code style (see Settings|Editor|Code Style). | |
Reports JUnit test method throws clauses with more than one exception. | |
Reports when a method without any @Pattern annotation overrides a @Pattern annotated method. | |
Reports JUnit 3 style test methods that are located inside a class that does not extend the JUnit 3 TestCase class and contains JUnit 4 or JUnit 5 @Test annotated methods. | |
Reports JUnit 4 parameterized test classes that are annotated with @RunWith(Parameterized. | |
Reports when a @Pattern annotation is applied to an element with a type other than String. | |
Reports bitwise operations that can be replaced with a call to the Long. | |
Reports when the ID of the language used in a @Language annotation is unknown. | |
Reports the code which is never reached according to data flow analysis. | |
Reports any calls to methods from the junit. | |
Using PsiElement string representation to generate new expression is incorrect | Reports direct usage of PsiElement and PsiType in strings. |
Reports usages of static imports for Lombok's generated methods. | |
Reports expressions passed as arguments for @Pattern parameters and returned from @Pattern-annotated methods that do not match the specified pattern. |
JavaScript
Name | Description |
---|---|
Reports missed locally stored library. | |
Reports not installed module and suggests to run "importmap:require" or "importmap:install" command. |
Json
Name | Description |
---|---|
Reports Auth configuration the following problems in HTTP Client environment files: Missing properties in Auth configuration Auth/Security configuration placed in private environment file. | |
Reports possible requests in injected JSON body where request separator ### is missing. | |
Reports unknown inspection ids in metaInformation. | |
RIDER-83134. |
Kotlin
Name | Description |
---|---|
Reports incorrect companion objects' usage in extensions. | |
Reports inappropriate usages of methods in Kotlin coroutines, which uses threading context (annotated with @RequiresBlockingContext). | |
Reports absent of implementation for the entity. | |
Reports Kotlin objects that are registered as plugin extensions. | |
Reports unresolved references in Kotlin code. | |
Reports existence of the obsolete implementation for the entity. | |
Detects unsupported var fields in the inheritors of WorkspaceEntity interface Interface implementing WorkspaceEntity have to have only val fields because it's immutable. | |
Reports usages of Process. | |
Uses of <code>{0}</code> should probably be replaced with more robust logging | Reports usages of print or println. |
Msbuild
Name | Description |
---|---|
RIDER-83136. |
Multiple
Name | Description |
---|---|
Check dependencies licenses for possible problems: missing or prohibited licenses, or other compliance issues. | |
Check module licenses for possible problems: missing licenses or other compliance issues. | |
Check project for possible problems: user's third party software list does not match the collected project metadata. | |
Detects Terraform Template files without the standard extension (*. | |
Reports unresolved references. | |
Reports packages mentioned in requirements files (for example, requirements. | |
Reports vulnerabilities in Gradle and Maven dependencies imported into your project. |
Objectivec
Name | Description |
---|---|
Interprocedural summary-based static code analysis. |
PHP
Name | Description |
---|---|
Reports assertion call to be replaced with more specific analogue. | |
Reports $entityManager->createQueryBuilder()->from($model, $expr) when PhpStorm cannot resolve $model to a class. | |
Reports calls to the PHPUnit test case methods that are removed in PHPUnit 11. | |
Suggests replacing Symfony annotations with attributes. | |
Reports invalid names for pest dataset cases. |
Pointcutexpression
Name | Description |
---|---|
Reports issues in AOP pointcut expressions. |
Properties
Name | Description |
---|---|
Reports the following MessageFormat problems in property values: Unknown format types MessageFormat supports only these format types: number date time choice Other format types will be reported. |
Python
Name | Description |
---|---|
Reports characters in byte literals that are outside ASCII range. | |
Reports cases when a protected member is accessed outside the class, a descendant of the class where it is defined, or a module. | |
Reports a problem when instance attribute definition is outside __init__ method. | |
Reports problems if there is no Python interpreter configured for the project or if the interpreter is invalid. | |
Reports cases when an assignment is done on a function that does not return anything. | |
Reports assignments that can be replaced with augmented assignments. | |
Reports the cases when you rewrite a loop variable with an inner loop. | |
Reports a problem when you are trying to call objects that are not callable, like, for example, properties:. | |
Reports methods, classes and files whose coverage is below a certain threshold. | |
Reports cases in Python 2 when a class has no __init__ method, neither its parent classes. | |
Reports cases when not all abstract properties or methods are defined in a subclass. | |
Reports usages of @classmethod or @staticmethod decorators in methods outside a class. | |
Reports classic style classes usage. | |
Reports incompatibility with the specified versions of Python. | |
Reports usages of Python functions, or methods that are marked as deprecated and raise the DeprecationWarning or PendingDeprecationWarning warning. | |
Reports using the same value as the dictionary key twice. | |
Reports situations when you can rewrite dictionary creation by using a dictionary literal. | |
Reports several methods that may not be called due to some ORM reasons. | |
Reports errors in string formatting operations. | |
Reports cases when a custom exception class is raised but does not inherit from the builtin Exception class. | |
Reports cases in Python 2 when a file contains non-ASCII characters and does not have an encoding declaration at the top. | |
Reports cases when the first parameter, such as self or cls, is reassigned in a method. | |
Reports if a fixture is used without being passed to test function parameters or to @pytest. | |
Reports calls to the set function that can be replaced with the set literal. | |
Reports problems when a variable defined through the global statement is not defined in the module scope. | |
Reports methods that lack the first parameter that is usually named self. | |
Reports from __future__ import statements that are used not at the beginning of a file. | |
Reports cases when properties are accessed inappropriately: Read-only properties are set Write-only properties are read Non-deletable properties are deleted Example: class MyClass: @property def read_only(self): return None def __write_only_setter(self, value): pass write_only = property(None, __write_only_setter) a = MyClass() a. | |
Reports incompatible signatures of the __new__ and __init__ methods. | |
Reports stub packages that do not support the version of the corresponding runtime package. | |
Reports inconsistent indentation in Python source files when, for example, you use a mixture of tabs and spaces in your code. | |
Reports functions that are decorated with @pytest. | |
Reports discrepancies between declared parameters and actual arguments, as well as incorrect arguments, for example, duplicate named arguments, and incorrect argument order. | |
Reports mismatched parameters in a docstring. | |
Reports problems with the arguments of property() and functions annotated with @property. | |
Reports type errors in function call expressions, targets, and return values. | |
Reports invalid definition and usage of TypedDict. | |
Reports invalid definitions and usages of classes created with dataclasses or attr modules. | |
Reports invalid definition of a typing. | |
Reports invalid definitions and usages of protocols introduced in PEP-544. | |
Reports invalid usages of type hints. | |
Reports invalid usages of ClassVar annotations. | |
Reports invalid usage of PEP 695 type parameter syntax. | |
Reports when a method decorated with @override doesn't have a matching method in its ancestor classes. | |
Reports invalid usages of a class with __slots__ definitions. | |
Reports invalid usages of final classes, methods and variables. | |
Reports redundant list in list(Series. | |
Reports any methods that do not require a class instance creation and can be made static. | |
Method signature does not match signature of overridden method | Reports inconsistencies in overriding method signatures. |
Reports cases when a call to the super constructor in a class is missed. | |
Reports coroutines that were called without using the await syntax. | |
Reports missing and empty docstrings. | |
Reports missing type hints for function declaration in one of the two formats: parameter annotations or a type comment. | |
Reports a missing encoding comment in Python 2. | |
Reports cases when a list declaration can be rewritten with a list literal. | |
Reports occurrences of new-style class features in old-style classes. | |
Reports cases when overloads in regular Python files are placed after the implementation or when their signatures are not compatible with the implementation. | |
Reports violations of the PEP 8 coding style guide by running the bundled pycodestyle. | |
Reports violations of the PEP8 naming conventions. | |
Reports problems with nesting decorators. | |
Reports trailing semicolons in statements. | |
Reports unconditional redeclarations of names without being used in between. | |
Reports equality comparison with a boolean literal. | |
Reports about redundant parentheses in expressions. | |
Reports shadowing built-in names, such as len or list. | |
Reports shadowing names defined in outer scopes. | |
Reports docstrings that do not adhere to the triple double-quoted string format. | |
Reports statements that have no effect. | |
Reports availability of stub packages. | |
Reports usages of relative imports inside plain directories, for example, directories neither containing __init__. | |
Reports a problem when a mutable value as a list or dictionary is detected in a default value for an argument. | |
The function argument is equal to the default parameter value | Reports a problem when an argument passed to the function is equal to the default parameter value. |
Reports chained comparisons that can be simplified. | |
Reports cases when the number of expressions on the right-hand side and targets on the left-hand side are not the same. | |
Reports assignments to a tuple item. | |
Reports types in docstring that do not match dynamically inferred types. | |
Reports local variables referenced before assignment. | |
Reports exception clauses that do not provide specific information about the problem. | |
Reports backslashes in places where line continuation is implicit inside (), [], and {}. | |
Reports attempts to access PySpark DataFrame columns that do not exist in the schema. | |
Reports local variables, parameters, and functions that are locally defined, but not used name in a function. | |
Reports comparisons with None. | |
Reports usages of Vulnerable APIs of imported dependencies. | |
Reports cases when any call to super(A, B) does not meet the following requirements:. | |
Reports cases when except clauses are not in the proper order, from the more specific to the more generic, or one exception class is caught twice. | |
Reports occurrences of return statements with a return value inside __init__ methods of classes. |
Requirements
Name | Description |
---|---|
Reports packages mentioned in requirements files (for example, requirements. |
Rest
Name | Description |
---|---|
Reports undefined roles in reStructuredText files. |
Tftpl
Name | Description |
---|---|
Reports Terraform Template files with no data language selected. |
Toml
Name | Description |
---|---|
Reports outdated versions of packages in [tool. |
UAST
Name | Description |
---|---|
Reports when parent and child classes in a JUnit test hierarchy are annotated with @RunWith. | |
Reports ProcessCanceledExceptions handled in an incorrect way. | |
Reports JUnit assertEquals() calls with arguments of an array type. | |
Reports JUnit assertEquals() calls that can be replaced with an equivalent assertSame() call. | |
@PreFilter/@PreAuthorize/@PostFilter self-invocation method calls | Using @PreFilter/@PostFilter/@PreAuthorize: In proxy mode (which is the default), only external method calls coming in through the proxy are intercepted. |
Reports classes that can be marked as light services using the @com. | |
Reports Swing components that do not provide accessibility context. | |
Application service assigned to a static final field or immutable property | Reports assignments of application services to static final fields / immutable properties. |
Calling method should be annotated with @RequiresBlockingContext | Highlights calls of method annotated with @RequiresBlockingMethod inside non-annotated method. |
Reports loops, forEach-like methods, and ContainerUtil. | |
Reports methods and classes whose coverage is below a certain threshold. | |
Reports incorrect registration of plugin components (Actions and Components). | |
Reports any actions that are registered in the plugin. | |
Reports extension implementation being additionally registered as a service/component. | |
Reports fields in LocalQuickFix and IntentionAction implementations that prevent intention preview action from functioning properly. | |
Reports usages of java. | |
Reports using Application or Project as a parent Disposable in plugin code. | |
Reports the following problems when retrieving services: Attempts to retrieve an unregistered service. | |
Reports inspections that are missing an HTML description file, i. | |
Reports intentions that are missing an HTML description file, before. | |
Reports invalid and deprecated value for icon attribute in com. | |
JUnit 3 'super.tearDown()' is not called from 'finally' block | Reports calls of the JUnit 3's super. |
Reports JUnit 3 test classes that can be converted to JUnit 4 test classes. | |
Reports JUnit 4 tests that can be automatically migrated to JUnit 5. | |
Reports any calls to methods from the junit. | |
Reports calls to Assert. | |
Reports JUnit test member declarations that are malformed and are likely not recognized by the JUnit test framework. | |
Reports usages of JUnit 4's @Ignore or JUnit 5's @Disabled annotations. | |
Reports listener implementations that implement com. | |
Reports using Language or FileType as a map key in plugin code. | |
Reports createOptionsPanel() methods in inspection implementation, which can be automatically converted to getOptionsPane(). | |
Reports non-default constructor in serializable classes. | |
Reports extension/service class having a non-default (empty) constructor. | |
Reports SLF4J, Log4j2 logging calls in one class, such as logger. | |
Reports TokenSet field declarations referencing non-platform element types in ParserDefinition classes. | |
Reports postfix templates missing an HTML description file, before. | |
QuickFix's getFamilyName() implementation must not depend on a specific context | Reports QuickFix#getFamilyName() using contextual information. |
Reports service getting calls that can be replaced with a calls to an existing static getInstance() or getInstance(Project) methods. | |
Reports extensions and quick-fixes holding potentially leaking state. | |
Reports static initialization in extension point implementations. | |
Reports threading and concurrency issues in code using information from com. | |
Reports usage of UAST UElement as PsiElement. | |
Reports usages of undesirable classes (mostly Swing components). | |
Reports unresolved references to plugin configuration elements. | |
Reports usage of VirtualFile. | |
Reports unsafe use of JavaRecursiveElementVisitor. | |
Reports passing unspecified place parameter for ActionManager. | |
Reports usages of IntelliJ Platform API introduced in a version newer than the one specified in <idea-version> @since-build in plugin. | |
Reports comparing PluginId instances using ==. | |
Reports comparing PsiPrimitiveType instances using ==. | |
Reports comparing VirtualFile instances using ==. | |
Reports usages of javax. | |
Reports usages of java. | |
Reports usages of java. | |
Reports usages of java. |
XML
Name | Description |
---|---|
Reports extensions which are instantiated by the IntelliJ Platform, but are declared as Kotlin objects. | |
Reports possible requests in injected XML/HTML body where request separator ### is missing. | |
Reports dynamic plugin problems. | |
Reports problems with extension registration in plugin. | |
Reports hardcoded texts in plugin. | |
Reports text capitalization problems in plugin. | |
Reports problems in plugin. | |
Reports an unresolved references in XML. |
Yaml
Name | Description |
---|---|
Reports OpenRewrite YAML recipe problems. | |
Reports the absence of mandatory parameters that do not have a default value for an action. | |
Reports possible requests in injected YAML body where request separator ### is missing. | |
Reports the presence of parameters which are not defined in an action. | |
Detects unresolved action references in GitHub action and workflow files. |