PhpStorm 2023.2 Help

AI Assistant

Install the AI Assistant plugin

This functionality relies on the AI Assistant plugin, which you need to install and enable.

  1. Press Control+Alt+S to open the IDE settings and then select Plugins.

  2. Open the Marketplace tab, find the AI Assistant plugin, and click Install (restart the IDE if prompted).

AI Assistant can explain code, answer questions about code fragments, generate documentation, commit messages, and much more.

Log in

To start working with AI Assistant, you need to log in first.

  1. Click the AI Assistant icon on the right toolbar to open AI Assistant.

    AI Assistant icon
  2. Click Log in to JetBrains AI service and follow the steps in the browser.

    Log in to use AI Assistant

You can change your account on the Tools | AI Assistant page of the IDE settings Control+Alt+S.

Chat with AI

Use the AI Assistant tool window to have a conversation with the LLM (Large Language Model), ask questions about programming-related topics, or iterate on a task. The AI Assistant takes into consideration the language and technologies used in your project.

  1. Click the AI Assistant icon on the right toolbar to open AI Assistant.

  2. In the input field, type your question and press Enter to submit your query.

    PhpStorm: Asking AI Assistant programming-related questions

AI Assistant keeps the chats during one IDE session. You can find the saved chats in the All Chats list.

All Chats list

Names of the chats are generated automatically and contain the summary of the initial query.

Use prompts to explain and refactor your code

Use pre-written prompts to explain code, find potential 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

    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. If you like the result, click Insert Snippet at Caret in the field with the refactored code to put the AI-generated code into the editor and replace the originally selected code fragment.

Find potential 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 potential problems.

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

Add your own prompts to prompts library

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

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

  2. Click App client expui general add to create a new prompt.

    PhpStorm: User prompts library settings
  3. In the text field, write the prompt. If needed, use the following variables:

    • $SELECTION: a Markdown-formatted code block with current code selection and language name.

    • $SELECTION_RAW: selected code fragment.

    • $SELECTION_LANG: the language of the currently selected code fragment.

    • $PRODUCT_NAME: the name of the product that is currently launched, for example, PhpStorm.

  4. In the advanced options, 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.

After you created a prompt, you can always edit or delete it.

Work with commits

AI Assistant can send your diffs to the LLM, which will generate a commit message describing your changes.

Generate commit messages

  1. Press Alt+0 to open the Commit tool window.

  2. Click the Generate Commit Message with AI Assistant icon.

    PhpStorm: AI Assistant generates commit messages
  3. Edit the message if necessary.

    PhpStorm: AI-generated commit message

Explain commits

AI Assistant can summarize the changes made in one or several commits.

  1. Click App expui toolwindow vcs in the bottom-left corner or press Alt+9 to open the version control tool window.

  2. In the commits pane, select the commit or several commits you want to summarize, right-click them and select Explain Commit with AI Assistant in the context menu.

    Explain Commit with AI Assistant option in VCS log

    AI Assistant provides the summary of the selected commits.

    AI Assistant explains commit

Generate documentation

With AI Assistant, you can generate documentation for a declaration using the LLM.

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

  2. Press Alt+Enter. Select AI actions and then Write documentation.

    AI Assistant will generate documentation for you.

    Generated documentation

Alternatively, instead of using the context menu, type /**, press Enter and click Suggest documentation.

Suggest documentation option

Use AI in the editor

When you rename (Shift+F6) a PHP class, method, field, or local variable, AI Assistant suggests name options for the declaration based on its contents.

AI declaration rename suggestions

This feature is enabled by default. To switch it on and off, check the AI Assistant settings.

Enable name suggestions

  1. Press Control+Alt+S to open the IDE settings and then select Tools | AI Assistant.

  2. Select the Provide AI-generated name suggestions checkbox.

    AI Assistant settings

How we handle your code and data

When you use AI features, PhpStorm needs to send your requests and pieces of your code to the LLM (Large Language Model) provider. Besides the prompts you type, it may send additional details, such as file types, frameworks used, and any other information that may be necessary for providing context to the LLM.

In addition, PhpStorm builds with the AI Assistant plugin perform opt-in collection of detailed data about the usage of AI features, including the full communication between you and the LLM (both text and code fragments). This data is kept strictly confidential and is used by JetBrains for product improvement purposes only. It is never shared with any external parties, and it will not be used for training any ML models that generate code or text, or revealed in any form to any other users. The option that controlls detailed data collection can be found in the IDE Settings under Tools | AI Assistant | Data Sharing | Send AI Assistant usage statistics.

For more information about our data collection policies, refer to Data Collection and Use Policy.

Last modified: 05 September 2023