- author: Nick Chapsas
JetBrains Rider Introduces Built-In AI Assistant
In a recent announcement, JetBrains, the creators of the popular IDE Rider, surprised users with the release of their own AI assistant integrated within the IDE. This new feature is now available to everyone as part of the Early Access Preview (EAP) version of Rider. The AI assistant, which is powered by an undisclosed AI technology, aims to enhance the development experience and improve productivity for developers.
The Unveiling of the AI Assistant
The excitement surrounding this release is evident in the video by Nick, a JetBrains enthusiast, who shares his first-hand experience with the AI assistant. While Nick acknowledges that AI-powered coding tools are not new (with Visual Studio's GitHub Pilot X being a notable example), what sets JetBrains' offering apart is their choice to keep the AI technology driving their assistant under wraps. This has led speculations that the AI assistant may be leveraging OpenAI's GPT technology behind the scenes.
Exploring the AI Assistant in Action
In his video, Nick provides a walkthrough of the AI assistant's capabilities, starting with the user interface. He demonstrates how to access the assistant by clicking on the dedicated AI Assistant button within the IDE. Once opened, the assistant allows users to create new chats and interact with the AI for various coding tasks.
One of the primary features showcased is the assistant's ability to detect potential code issues and propose adjustments. As Nick demonstrates, the assistant identifies typos in parameter names, suggests using appropriate libraries for email validation, and highlights areas where dependency injection could be improved. Additionally, the AI assistant offers refactoring suggestions tailored to best practices, such as separating business logic into dedicated classes.
Interacting with the AI Assistant
The AI assistant in JetBrains Rider functions similar to an AI chatbot. Users can initiate conversations by creating new chats with specific requests or selections to obtain code improvements. Nick demonstrates how he asked the assistant to refactor specific code files, and the AI assistant responded with refactoring suggestions based on SOLID principles, KISS, YAGNI, and DRY. While the assistant provided some useful suggestions, it did show limitations in fully understanding the context, such as not recognizing code-generated sections.
Evaluating the AI Assistant Experience
Overall, Nick concludes that the AI assistant in Rider demonstrates promise in enhancing development workflows and aiding in code suggestions. However, he notes that the AI assistant's limitations, particularly its inability to understand certain contexts, prevent it from being a comprehensive solution. Nick speculates that the underlying AI technology used by the assistant may not be GPT-4, as it does not exhibit some advanced capabilities associated with that model.
As developers continue exploring the AI assistant in JetBrains Rider, it remains to be seen how the feature will mature and adapt to user feedback. In the meantime, this exciting addition offers an intriguing glimpse into the potential of AI-powered coding tools integrated within IDEs.
Calling All Aspiring Developers
If you want to stay updated on more exciting developments like this, make sure to subscribe to Nick's channel for more training. Additionally, Nick mentions that starting from the end of July, DownTrain will have more expert authors contributing to their platform. As a special farewell, until the specified date on the screen, you can avail a 15% discount on already discounted bundles. This is your last opportunity to purchase these bundles before they retire or undergo significant changes.
Join the community of over 16,000 students who have benefited from Nick's courses. Simply use the discount code "summer23" at checkout to avail the offer on bundles (individual courses excluded).
So, what are you waiting for? Seize this chance to boost your knowledge and skills with these exclusive training resources!
Adding an Interface and Static Method
In order to improve the implementation of user data access, the first step is to add an interface to the existing code. By introducing an interface, we can ensure better flexibility and maintainability of the codebase.
After adding the interface, the next step is to incorporate a static method. Although some may argue for converting it to a non-static method, the current implementation does not specify such a requirement. It is worth mentioning that GPT4, a powerful language model, could potentially sort out the necessary changes automatically.
Testing the Code
To ensure the reliability and functionality of the code, it is essential to write unit tests. However, in the Legacy application, it may not be possible to include an
app.tests.unit project. This limitation can hinder the testing process.
Although the code generation AI assistant seems promising, it currently lacks the ability to automatically generate test cases and write the complete set of unit tests. It would be helpful if the tool could provide additional tests, rather than just one unit test, and cover a wider range of scenarios.
While going through the generated code, it appears that the provided test cases are suitable for assessing the code's behavior. The implementation follows best practices and covers various scenarios, thereby demonstrating the tool's potential.
The Future of AI Chatbots in IDEs
The AI chatbot tool, while decent in its current preview state, must further enhance its capabilities to remain competitive in the market. To achieve this, it should strive to outperform existing competitors and offer additional features.
One aspect that requires clarification is the technology on which the AI tool is based. Without this information, it becomes challenging to understand its true potential and compare it with other similar offerings.
Moreover, considering the licensing model, it is crucial to determine whether the AI assistant will be bundled with the Rider license. If it is included by default, it would significantly enhance the value of the Rider license. However, if there is an additional cost or a separate checkbox to enable the AI assistant, it could impact the tool's market competitiveness.
Considering the future developments in the space of AI chatbots in IDEs, it is worth mentioning that Copilot X, built on the same engine as the IntelliJ IDs, will likely be implemented eventually. This implementation will present a point of comparison in terms of features and usability.
We would appreciate hearing your thoughts on this matter. Do you believe integrating AI chatbots into IDEs is beneficial? Leave a comment below and let us know your opinion.
Thank you for reading, and happy coding!