JetBrains IDE update previews ‘deeply integrated’ AI Assistant

JetBrains IDE update previews ‘deeply integrated’ AI Assistant
AI programming

JetBrains is updating its range of IDEs, including a new AI Assistant with AI chat, code explanation, documentation generation, and more.

The AI Assistant is the major new feature in the 2023.2 updates to IDEs including IntelliJ IDEA, WebStorm, PyCharm, GoLand, RubyMine, Rider and others.

Like Microsoft’s Copilot for Visual Studio Code and Visual Studio, the JetBrains AI Assistant is powered by OpenAI. Since there is already a Copilot plugin for JetBrains IDEs, how is AI Assistant different?

“The Github Copilot plugin focused on raw code auto-complete. The AI Assistant is deeply integrated into JetBrains IDEs,” the company told us. Many of the features in AI Assistant, including AI Chat, were not available in the Copilot plugin; and “in addition to OpenAI’s models, AI Assistant will also rely on internal models from JetBrains.”

The Assistant is delivered as a plug-in, and requires access to the AI technical preview which is available subject to system capacity. Document generation is limited to Java, Kotlin and Python projects. The exact capabilities of the Assistant vary according to the programming language.

We were given access to the preview and tried it for both Java and C#. It is well integrated with the IDEs and the chat feature successfully came up with lengthy and generally helpful advice, complete with code samples, for the questions we asked. Looking at AI Assistant, it is obvious why AI is causing a diminished number of visits to developer Q&A site StackOverflow, as the same kinds of questions that might previously have ended up there are now answered within the IDE and with the added context that the AI can glean from the code. For example, a question about creating sticky headers in a CSS table included reference to dealing with CSS in an ASP.NET Core project, because that was the context of the question.

AI Assistant explains how to add a sticky header to a CSS table
AI Assistant explains how to add a sticky header to a CSS table

The potential downsides of this type of AI include the risk of wrong answers, without the peer review that a community site like StackOverflow can offer, as well the fact that the code under development is sent to a third-party. “Neither the user nor JetBrains has control over this third-party data processing. JetBrains does not work with large language model (LLM) providers that use customer data for training models, but providers can store data for other purposes such as abuse/misuse monitoring,” states the JetBrains Data Collection and Use Policy, suggesting that those involved in particularly confidential projects should be cautious.

Data sharing requires consent before the AI Assistant will work
Data sharing requires consent before the AI Assistant will work

The evidence though is that there are plenty of developers willing to put up with the issues around AI coding assistance because they find it improves productivity. “If we understand what LLM/IAs are and their limitations, in other words, if we don’t expect magics, it works pretty well” said an early reviewer. 

Pricing for the AI Assistant has not yet been determined.

JetBrains has also now fully released Qodana, its static code analysis service, which has been in preview since 2021, with more than 2,500 inspections including probable bugs, unused declarations, confusing code, breaches of naming and style conventions. Qodana also includes a vulnerability checker which looks for dependencies with known flaws, and code coverage for Java, Kotlin, PHP, JavaScript and TypeScript. Qodana is designed to integrate with CI (Continuous Integration) pipelines, with supported platforms including Jenkins, GitHub Actions and GitLab CI, as well as JetBrains’ own TeamCity and Space.

Qodana has a free community edition with limited language coverage, or costs $60.00 per contributor per year, or $90 per year for the Ultimate Plus edition which adds features including the vulnerability checker and a third-party license audit.