First impressions of IntelliJ AI Assistant

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.

Use prompts to explain and refactor your code.

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.

Write prompts to generate code right in the editor.

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.

Explain commits and generate commit messages

Review: The AI Assistant generates commit messages based on the technical changes. You’ll have to update them with more descriptive information.

Generate documentation

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.

Convert files to another language.

Review: Might be useful for people migrating from one language to another. For me didn’t make any difference.

Generate tests

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?

  • Integrated Assistant: Unlike Chat GPT or other AI tools where you need to copy parts of the code and explain your requirements, the IntelliJ AI Assistant has all the necessary context. It provides thoughtful insights and code analysis directly within the IDE.
  • Code generation tool: works fairly well. While you’ll still need to verify, correct, or rewrite the generated code, it offers a clear idea of how things can be implemented, respecting coding style and conventions.
  • Chat capability: you can engage in conversations with the AI Assistant about code practices, implementation, and coding questions.

What are the cons?

  • Generic answers: most responses are generic and limited. The AI Assistant doesn’t tailor answers based on the specific codebase, resulting in a lack of deep code analysis.
  • Error logs output: the output from error logs could be improved. It should pinpoint root causes and provide actionable suggestions for fixing or preventing issues.
  • Documentation generation: needs enhancements and could go further than simple Javadocs.
  • Test generation: could be better. It should handle injected/mocked beans and create more comprehensive tests instead of multiple mocked tests.
  • Cost: It’s pretty expensive… AI Assistant is available in paid IntelliJ IDEA Ultimate subscriptions, starting at $8.33 per user/month for individuals and $16.67 for organisations.
  • Removal difficulty: once you start using it, removing the AI Assistant completely may prove challenging.
  • 7 days free trial: you can get a free trial version, which lasts only 7 days. In my opinion this duration is too short for users to fully acclimate and explore the main features.

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.

要查看或添加评论,请登录

Wagner Signoretti的更多文章

  • Best Practices For Writing Clean Code

    Best Practices For Writing Clean Code

    This article aims to foster a mindset of writing maintainable, elegant, and readable code. The examples are written in…

  • Effective Code Review

    Effective Code Review

    Reviewing pull requests is a critical part of the software development process. It ensures code quality, adherence to…

    2 条评论

社区洞察

其他会员也浏览了