ReSharper 2023.2 Help

AI Assistant

AI Assistant can explain code, find code issues, answer any programming-related questions, and much more.

Installation

AI Assistant is installed as a separate product with the dotUltimate installer. If you want to use it, select Install next to it during installation. Note that AI Assistant cannot be used as an independent product, you will need to have ReSharper, ReSharper C++, or both installed and enabled to use the AI Assistant.

If you do not want to use the AI Assistant, select Skip next to it.

ReSharper: AI Assistant in the installer

If you're using the Toolbox App, the installer doesn't appear when you update ReSharper. To launch the installer when ReSharper is already installed, click the three-dot button next to ReSharper Tools and select Setup wizard… to access the dotUltimate installer.

ReSharper: Accessing the dotUltimate installer from the Toolbox app

If the AI Assistant is already installed, and you want to disable it, clear the AI Assistant checkbox on the Environment | Products & Features page of ReSharper options ( Alt+R, O ) and restart ReSharper; after restart, no AI-related code will be loaded.

Log in

To start working with AI Assistant, you need to log in with your JetBrains Account.

  1. Select ReSharper | AI Assistant (Beta) from the main menu to open the AI Assistant tool window.

  2. In the tool window, click Log in with JetBrains Account. A new browser tab will open where you can enter your credentials.

  3. As soon as you logged in, the input field becomes available where you can type your queries.

You can log out from your JetBrains Account on the Tools | AI Assistant (Beta) page of ReSharper options ( Alt+R, O ).

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 solution.

In the input field of the AI Assistant tool window, type your question and press Enter to submit your query.

ReSharper: Asking AI Assistant programming-related questions
ReSharper: Asking AI Assistant programming-related questions

Each code snippet in the AI Assistant reply can be quickly reused — click the icons in the top right corner of the snippet to copy or insert it into the editor.

Your conversations with the AI Assistant can be organized is separate chats, which is helpful if you want to return to a specific conversation later. The set of queries and responses in each chat builds up a unique context for that chat, which is taken into account by the language model to give more relevant responses to queries that relate to the chat's topic.

To create a new chat, click the ... button and choose either New Chat to start a new conversation from scratch or Duplicate to create a new conversation as a continuation of the current one.

ReSharper: Create a new AI Assistant chat

The list of chats is linked to a specific solution, and this list becomes available when you reopen the solution, even if you restart Visual Studio. To see the list of chats, click the hamburger icon in the top left corner of the AI Assistant tool window:

ReSharper: All AI chats list

Names of the chats are generated automatically and contain the summary of the initial query. If necessary, you can rename or delete a chat by clicking the ... button next to it in the list of chats.

Smart chat

The most relevant and helpful responses are provided by the AI Assistant in the smart chat mode. Smart chat is enabled by default, and you can disable it if needed by clearing the corresponding checkbox on the Tools | AI Assistant (Beta) page of ReSharper options ( Alt+R, O ).

When the smart chat is enabled, ReSharper can access the source code of your solution, currently opened documents, Git history, and other project-related information and share it with the JetBrains AI service to significantly improve the relevance of the AI Assistant suggestions and make it able to answer questions related to your solution. For example, when you ask the assistant to explain the selected code, it will be able to analyze usages of that code in your solution and come up with a more meaningful explanation.

Otherwise, AI Assistant will answer your questions using only the generic training data of the underlying language model.

Editor integration

You can start interacting with the AI Assistant right from the editor — press Alt+Enter and choose one of the actions in the AI Assistant submenu. Depending on the context, the following actions are available:

  • Selection in the editor: You can choose Send to chat or Send to new chat to use the selected code as a part of your query.

  • Caret at a class declaration: You can choose Explain this and Write XML documentation. Both actions will create a new chat in the AI Assistant window and produce the relevant output.

  • Caret at a method declaration: You can additionally choose Find issues in. ReSharper will list all potential issues in the method in a new chat in the AI Assistant window.

  • Caret at an empty method declaration: You can additionally choose Implement this. ReSharper will generate a method implementation taking into account its name and parameters.

Here is an example of using AI Assistant on an empty method:

ReSharper: Implementing method with AI Assistant

After choosing this action, ReSharper creates a new AI chat and generates an implementation:

ReSharper: Implementing method with AI Assistant

How we handle your code and data

When you use AI features, ReSharper 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.

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

Last modified: 27 November 2023