JetBrains refreshes all of its IDEs in the last release of the year and promotes its integrated AI Assistant out of preview into general availability for paying customers. Besides its strong integration with the IDEs, JetBrains AI Assistant tries to stand out thanks to its support for multiple LLMs.
According to JetBrains what sets AI Assistant apart from the competition is its deep integration with JetBrains IDEs, which understand the code and its context, as well as the project structure, and can provide LLMs with all relevant details.
With AI Assistant, we’re bringing the latest generation of AI to you: in your editor, in your workflows, right where you do your work. AI Assistant is available in the 2023.3 versions of all our commercial IDEs and ReSharper, as well as in Fleet, and it works with plenty of the languages these products support.
JetBrains AI Assistant supports a number of LLM-powered features, including an AI chat, support for refactoring, code completion, documentation creation, and commit message generation.
The AI chat provides an open-ended, context-aware chat interface that enables asking, for example, what a function does, how to complete a task, how to debug a problem, and so on. To this aim, the assistant automatically uses the content of the current file plus information about the language, dependencies, recently used files, and more as part of the prompt.
Refactoring has long been a key feature in modern IDEs, including JetBrains'. With AI Assistant, JetBrains attempts to go a step further by having it suggest new refactoring opportunities and explain their rationale.
For code completion, AI Assistant follows an approach similar to the one used for the chat. Indeed, the IDE will pass available contextual information in the prompt, including the code above and below the caret, to try to predict what the developer is trying to achieve.
In addition to refactoring or generating code, AI Assistant can also create documentation for it. For example, you can select a function or an entire class and then choose "AI Actions/Write Documentation", or you can leave it to AI Assistant to guess for which code unit you would like to generate documentation.
Similarly, AI Assistant can generate commit messages for you based on the content of the diff of your commits, which is sent as part of the prompt along with the rest of the context provided by the IDE. The suggested commit message will attempt to explain what changed and summarize it into a commit headline.
Another differentiator for the AI Assistant, says JetBrains, is its aim to prevent you from getting locked into a single LLM provider. Indeed, while its "intelligence" is currently provided by OpenAI, JetBrains is working on integrating Google Codey and Vertex AI models, which will be available very soon, and other LLMs may be used in the future.
As we are not locked into using any specific vendor, we will be able to evolve our use of models as technology advances in this rapidly changing area. This gives us the ability to choose the best model or approach to solve your problem.
As mentioned, AI Assistant GA is timed with the 2023.3 release of JetBrains IDEs, including IntelliJ IDEA, PyCharm, CLion, GoLand, and others.