PhpStorm 2023.3 Help

Use AI prompts to explain and refactor your code

Use pre-written prompts to explain code, find problems, and refactor your code. PhpStorm provides project-specific context, such as the languages and technologies used in your project.

You can also define your own custom prompts and add them to the AI Actions menu.

Explain code

  1. Select a code fragment and right-click it to open the context menu.

    Alternatively, select a code fragment and press Alt+Enter.

  2. Select AI Actions and then Explain Code.

    AI Assistant actions - Explain Code

    The AI Assistant tool window will open to provide you with an explanation.

    PhpStorm AI Assistant explains code

    Click Attached elements to see the list of files that provided the necessary context for generating the answer.

    Attached files that were analyzed to generate the answer

    Besides PHP code, AI Assistant can detect and explain injected language fragments like RegExp, SQL, or cron expressions. The detected fragment type is indicated in the context menu option (Explain PhpRegExp fragment for regular expressions and so on).

    Explain RegExp option in the context menu

Suggest refactoring

  1. Select a code fragment and right-click it to open the context menu.

    Alternatively, select a code fragment and press Alt+Enter.

  2. Select AI Actions and then Suggest Refactoring.

    The AI chat will open to offer you refactoring suggestions.

    PhpStorm: AI Assistant suggests refactoring
  3. In the field with the refactored code, click See Diff and Apply to open the diff viewer. To skip the diff viewing step, expand the list next to See Diff and Apply and select Apply Immediately.

    In the diff viewer, use Unified or Two-Side view to review the suggested changes.

    Diff tab with refactored code
  4. If you like the result, click Accept in the gutter to move the selected AI-generated code snippets to the source file, or click Accept all to fully replace the originally selected code fragment. Otherwise, close the diff viewer to skip the suggested refactoring.

Find problems

  1. Select a code fragment and right-click it to open the context menu.

    Alternatively, select a code fragment and press Alt+Enter.

  2. Select AI Actions and then Find Problems.

    The AI chat will open to show the potential issues you may want to look into.

    PhpStorm: AI Assistant finds potential problems in the selected code

Explain runtime error

PhpStorm shows inlay hints in the Run tool window, allowing you to get AI explanations for the errors that occur when running PHP scripts, unit tests, or commands from PHP frameworks and tools.

  1. Click Explain with AI in the console.

    Explain with AI option in console
    Explain with AI option in console
    Explain with AI option in console
    Explain with AI option in console

    The AI Assistant tool window will open to give you an explanation of the error and suggest a fix.

  2. If you want to use the suggested fix, click Insert Snippet at Caret in the field with the refactored code to put the AI-generated code into the editor.

Add your own prompts to prompts library

You can add your own prompts to the prompts library and use them via the AI Actions menu.

  1. Do one of the following:

    • Right-click anywhere in the editor to open the context menu, then go to AI Actions | Edit User Prompts.

    • Press Alt+Enter, select AI Actions, and click Add your prompts.

    • Press Ctrl+Alt+S to open the IDE settings and then select Tools | AI Assistant | User Prompts Library.

  2. Click to create a new prompt.

    PhpStorm: User prompts library settings
  3. In the text field, write the prompt.

    If needed, click the $SELECTION variable to add a Markdown-formatted code block with current code selection and language name to the new prompt.

  4. Edit the new prompt name.

    Select the first checkbox if you want AI Assistant to wait for you to make additional input in the chat after invoking the prompt.

    Keep the second checkbox if you want your new prompt to be listed in the AI Actions menu.

    PhpStorm: Custom prompt parameters
  5. Click Apply.

Once you create a prompt, you can edit or delete it at any time.

Last modified: 20 February 2024