JetBrains, a leading developer of integrated development environments (IDEs), is embracing the transformative power of generative AI and large language models (LLMs) in its software development tools. The integration of this cutting-edge technology into their products marks a significant step forward for developers. The AI Assistant, built with a focus on seamless user workflows and deep code understanding, promises to revolutionize the way programmers work.
Key Aspects of the JetBrains AI Assistant:
- Integrating AI Assistance Seamlessly into Core IDE User Workflows:
The JetBrains AI Assistant seamlessly blends into the user's daily workflows within JetBrains IDEs. With the AI chat feature, developers can have conversations with the LLM, seek answers to queries, and iterate on tasks. The tool window provides project-specific context, taking into account the languages and technologies used in the project. Once satisfied with the AI-generated code, users can easily insert it into their editor using the "Insert Snippet at Caret" function or copy it directly.
- Establishing a Robust Integration of AI Features and Code Understanding:
Drawing from JetBrains' longstanding expertise in code understanding, the AI Assistant offers a robust integration of AI features. By leveraging the JetBrains AI service, users gain access to various LLMs. Additionally, the company plans to extend support to more providers in the future, ensuring users have access to the best options available.
AI Features Available in the Current EAP Build:
AI Chat: Users can engage in conversations with the LLM, ask questions, and request assistance in the IDE.
AI Actions facilitate interacting with selected code fragments, allowing for customized prompts and additional JetBrains AI Assistant in explaining code, suggesting refactoring, or identifying potential problems.
Documentation Generation: Developers can generate documentation for declarations using the LLM. For Java, Kotlin, and Python, the AI Assistant JetBrains can automatically generate the actual documentation text based on the statically known part of the comment.
Name Suggestions: When renaming Java, Kotlin, or Python declarations, the AI Assistant offers name options based on the declaration's contents. This feature can be customized according to the user's preference.
Commit Message Generation: The commit message dialog now includes a "Generate Commit Message with JetBrains AI Assistant" button, which utilizes the LLM to create a descriptive commit message based on the code changes.
To access the AI Assistant's capabilities, users must log in to the JetBrains AI service using their JetBrains Account. However, it's essential to note that access to the service may be initially limited, with a waiting list for users beyond the maximum capacity. JetBrains aims to gradually invite more users to try the product over the coming weeks.
When using AI features, the IDE transmits requests and code to the LLM provider. Alongside the user's prompts, additional context-relevant information, such as code fragments, file types, and frameworks used, may be sent to the LLM. JetBrains ensures that all data, including full communication between the user and the LLM, is kept strictly confidential. This data is used solely for product improvement and is never shared with external parties or used to train ML models for code or text generation.
The introduction of the JetBrains AI Assistant powered by generative AI and LLMs represents a significant leap forward in software development tools. JetBrains' commitment to integrating AI seamlessly into user workflows and maintaining data privacy showcases its dedication to providing cutting-edge solutions to developers. As the AI Assistant enters its Early Access Program, developers can look forward to enhanced productivity and code quality in their projects.