Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News JetBrains Unveils AI Assistant for IntelliJ-Based IDEs and .NET Tools

JetBrains Unveils AI Assistant for IntelliJ-Based IDEs and .NET Tools

JetBrains, the software development company known for creating the IntelliJ IDEA, has introduced a new AI Assistant in its Early Access Program (EAP) builds for all IntelliJ-based IDEs and .NET tools. This significant addition is aimed at transforming the landscape of software development tools by integrating generative AI and large language models (LLMs) into JetBrains' products.

The AI Assistant is designed to seamlessly integrate into the core IDE user workflows and enhance code understanding, a feature that has always been a strong suit of JetBrains IDEs. The AI features are powered by the JetBrains AI service, which connects users to different LLMs and enables specific AI-powered features inside many JetBrains products. At launch, the service supports OpenAI and hosts a number of smaller models created by JetBrains. The company plans to extend this support to more providers in the future, giving users access to the best options and available models.

The AI Assistant offers a range of features. One of the key features of the AI Assistant is the AI Chat, which allows users to have a conversation with the LLM, ask questions, or iterate on a task. For example, if developers need to refactor a certain method, they can ask the AI Chat to suggest refactoring by simply selecting the method from the context menu: AI Actions > Suggest Refactoring. This feature provides a new level of assistance, making the refactoring process more efficient and less error-prone.

Another feature is Documentation Generation. Users can generate documentation for a declaration using an LLM. This is currently supported for Java, Kotlin, and Python. When users rename a Java, Kotlin, or Python declaration, the AI will suggest name options for the declaration based on its contents, a feature known as Name Suggestions.

The AI Assistant also offers a Commit Message Generation feature. The commit message dialog now has a Generate Commit Message with AI Assistant button. Users can click it to send the diffs of their changes to the LLM, which will generate a commit message describing the changes.

However, there are certain limitations and restrictions. JetBrains plans to support local and on-premises models, but the supported feature set for local models will likely be limited. Furthermore, access to the AI service is currently restricted to the territories where the OpenAI service is available.

The AI service is free to use during the EAP cycle, but JetBrains has stated that it will be providing the licensing and pricing model at a later date. This implies that there will be costs associated with using the AI service once the EAP cycle is completed.

Another important aspect to note is that the JetBrains AI service may not be available for everyone immediately. The company will first let a certain number of users in, and once the maximum capacity is reached, the remaining users will be added to a waiting list. More people will be gradually invited to try the product in the coming weeks.

JetBrains has emphasized its commitment to user privacy, stating that when users use AI features, the IDE needs to send requests and code to the LLM provider. In terms of data collection and use policy, JetBrains AI service collects two types of data related to the usage of AI features: behavioral and detailed data. Both types of data collection are fully controlled by the user. The data from the JetBrains AI service is sent to third-party language model providers (such as OpenAI), which means that said data is also processed on those providers’ servers (and according to their policies). Neither the user nor JetBrains has control over this third-party data processing. JetBrains ensures that the collected data is not used for training any ML models that generate code or text or are revealed to any other users. The data is stored for a limited time, not exceeding one year.

Although data privacy remains a concern for some, the general sentiment among developers toward the technology is positive, as indicated by a recent LinkedIn poll. In a recent presentation at TeqNation & DevBCN titled The Battle of AI Coding Assistants, Bouke Nijhuis, CTO of CINQ ICT, examined TabNine, Github Copilot, and ChatGPT and he says:

I think this is the future of programming. In the future, you will not have to write software alone; you can do it with your artificial pair programmer.

At this stage, JetBrains is keen to hear user feedback about the new features, including success stories, situations where the AI didn't do what was expected, and suggestions of other scenarios when AI could assist users. Developers can share their ideas and suggestions by clicking Share feedback in the AI Assistant tool window, filling up this survey feedback and reporting AI Assistant bugs in YouTrack.

About the Author

Rate this Article