First impressions of IntelliJ AI Assistant
The IntelliJ AI Code Assistant brings nice features to the traditional IntelliJ IDE. On the positive side, its chat interface provides context-aware assistance, and the code generation tool is useful for basic implementations. However, it falls short in deep code analysis, personalised answers, and comprehensive error logs.
Breaking down the main features
Chat with AI Assistant to ask questions related to your project or iterate on a task.
Review: The AI Assistant provides an open-ended chat interface right within the IDE, which gathers a bit of context about your project and can answer simple questions about it. I was honestly expecting it to leverage all available information more effectively. When faced with deeper or complex queries, it falls short.
Review: It doesn’t go further than a basic refactor. I tried using the “AI magic refactor” tools to extract parts of the code into abstract classes, create interfaces and overwrite methods, but the most it could do was to create the first class and write basic comments on it — didn’t really implement anything.
Review: When prompted to generate code using Jira APIs (without specifying exact methods), the AI Assistant impressively identifies the correct methods from your existing codebase. Important to mention that it looks for these methods in the code you are already using, it won’t look further than that. It operates within the context of your project, adapting to your coding style and conventions.
Use inline code completion to get code suggestions for single lines, entire functions, and even blocks of code in real time.
Review: The inline code completion feature doesn’t significantly differ from traditional code completion. It provides suggestions for single lines, functions, and code blocks, but the improvement isn’t substantial.
Review: The AI Assistant generates commit messages based on the technical changes. You’ll have to update them with more descriptive information.
领英推荐
Review: This can add Javadoc to classes and methods, explaining what each one does. It can explain the logic fairly well and I would consider using that to create customer facing code.
Review: Might be useful for people migrating from one language to another. For me didn’t make any difference.
Review: As the name suggests you can expect your tests automatically generated covering the critical aspects of your code. In real life, it assumes a lot of thing, like the dependencies you’re working with and create mocks based on these assumptions. The test probably won’t run, but can give you a rough idea of what should be tested.
What are the pros?
What are the cons?
Conclusions
In summary, IntelliJ AI Assistant enhances productivity. It brings useful features and is handy for quick explanations and the creation of straightforward code. However, it doesn’t handle complex tasks or provide in-depth code analysis. The price is likely the biggest barrier to consider. Ultimately, it’s a very personal choice, and determining whether the cost outweighs the gain in productivity can be challenging.
Disclaimer: This page contains personal thoughts based on approximately three months of usage.