PhpStorm 2023.3 Help

Change inspection severity

Inspection severity levels indicate how seriously the detected code problems affect your project. In PhpStorm, there is a set of predefined severity levels:

Error icon Error

Syntax errors

Warning icon Warning

Code fragments that might produce bugs or require enhancement

Weak Warning icon Weak Warning

Code fragments that can be improved or optimized (redundant code, duplicated code fragments, and so on)

Server Problem icon Server Problem

Problems that come from an external build server, for example, from TeamCity

the Typo icon Grammar Error

Grammar mistakes. This severity comes from the bundled Grazie Lite plugin. For more information, refer to Grammar.

the Typo icon Typo

Spelling mistakes and typos. For more information, refer to Spellchecking.

Consideration

Code fragments that can be improved. This severity level is not marked on the error stripe and does not have a default highlighting style, but you can select one from the list of existing styles or configure your own.

No highlighting (fix available)

No code highlighting, but you can invoke fixes by pressing Alt+Enter.

For every severity, you can configure its own highlighting style in the editor.

Severity levels are designed to indicate problems, they don't have any impact on the code execution: if you change the severity for spelling mistakes from Typo to Error, this won't affect the execution of your application.

Change inspection severity in all scopes

  1. Press Ctrl+Alt+S to open the IDE settings and then select Editor | Inspections.

  2. Select the profile that you want to modify and then choose an inspection from the list. Make sure that it is enabled.

  3. From the Severity list, select a new severity level. You can also right-click the inspection and select the severity level from the context menu.

    If the necessary severity is not on the list, click Edit Severities to create a new one.

  4. From the Highlighting in editor list, select the style that you want to use to highlight code fragments in the editor.

    Select Edit Highlighting to modify the existing styles.

    Selecting severity level for an inspection
  5. Apply the changes and close the dialog.

    The modified inspection will now have the new severity level in the selected profile.

Change inspection severity in specific scopes

  1. Press Ctrl+Alt+S to open the IDE settings and then select Editor | Inspections.

  2. Select the profile that you want to modify and then choose an inspection from the list. Make sure that it is enabled.

  3. From the In All Scopes list, select the scope for which you want to change the severity.

    PhpStorm shows severities for two scopes: the selected one and Everywhere else.

    To add one more scope, click the Add button. If you want to create a new scope, select Edit Scopes Order from the list of scopes and click the Edit icon.

  4. Select the necessary severity level from the Severity list.

    If the necessary severity is not on the list, click Edit Severities to create a new one.

    Changing inspection severity by scope
  5. Additionally, from the Highlighting in editor list, select the style that you want to use to highlight code fragments in the editor.

    Select Edit Highlighting to modify the existing styles.

If you enable an inspection in multiple scopes, and files in these scopes match, the IDE will process these scopes according to their order in the list. For more information, refer to Change the order of scopes.

Configure error highlighting

  1. Press Ctrl+Alt+S to open the IDE settings and select Editor | Color Scheme | General.

    You can also configure highlighting from inspection settings: go to Editor | Inspections, click any enabled inspection, and from the Highlighting in editor list, select Edit Highlighting.

  2. From the Errors and Warnings list, select the style that you want to modify.

  3. Configure the new highlighting rules using the options on the right. To preview the changes before applying them, use the preview section at the bottom of the dialog.

    Changing error highlighting

Create a new severity level

  1. Press Ctrl+Alt+S to open the IDE settings and then select Editor | Inspections.

  2. Select the profile in which you want to create a new severity level.

  3. Click any inspection and select Edit severities from the list of severity levels.

  4. In the Severities Editor dialog, click the Add button and name the new severity level.

  5. Configure the formatting and set a priority using the Up and Down buttons — the higher you put the severity on the list, the higher its priority.

  6. Click OK when finished.

    Creating a new severity

Customizing inspections for Undefined elements

In the PHP context, the Undefined field and Undefined method inspections may erroneously report severe problems when actually no problems take place. This happens when you attempt to access or assign a value to a property, or to call a method that is not explicitly defined, while the referenced class contains the __get(), __set(), or __call() magic methods. No errors should be reported in such cases because these methods are invoked every time an undefined property or method is referenced, however, PhpStorm still treats them as errors or warnings, depending on the severity level you have specified for the inspection.

Suppress reporting for Undefined field errors

  1. In the Settings dialog (Ctrl+Alt+S) , go to Editor | Inspections.

  2. Select the Undefined field inspection in the list.

  3. In the Options area, clear the Notify about access to a field via magic method and Notify about PHP dynamic field declaration checkboxes.

When the checkboxes are selected, PhpStorm reports errors even if the class contains the __get() and __set() magic methods.

Adjust reporting for Undefined method errors

  1. In the Settings dialog (Ctrl+Alt+S) , go to Editor | Inspections.

  2. Select the Undefined method inspection in the list.

  3. In the Options area, select the Downgrade severity if __magic methods are present in class checkbox.

Undefined methods will now be indicated with the severity level that is one step lower than specified for inspections in general (by default, Info instead of Warning).

Configure reporting for Undefined variable errors

  1. In the Settings dialog (Ctrl+Alt+S) , go to Editor | Inspections.

  2. Select the Undefined field inspection in the list.

  3. In the Options area, configure the inspection as follows:

    • Enable inspection in global space: select this checkbox to run the inspection against variables outside functions/methods, classes, and namespaces, that is, in the global space.

      Undefined variable in global space
    • Report that variable might have not been defined: select this checkbox to have an error reported even if the definition of a variable is not definitely missing. Such situation may take place when a variable is used in several paths and some of them may never be reached, for example, in if() statements:

      ps_undefined_var_if_statement.png
    • Search for variable's definition outside the current file: if selected, the IDE reports a global variable as undefined only in case there are no include or require statements in the current file and the variable's definition cannot be found in the project.

      Otherwise, if not selected, the IDE searches for the variable's definition only in the current file and ignores the include or require statements if any.

Last modified: 04 March 2024