Does Junie use Jetbrains IDEs internal codebase knowledge (ie: PSI)?
I notice that when I use Junie to make project-wide analyses or changes, it performs a bunch of command line discovery calls such as ls and cat.
I assumed that one of Junie's advantages would be the ability to tap into the deep code modeling systems in each JetBrains IDE (ie PSI). Is that not the case? That would be a large advantage over VSCode-based systems such as Windsurf and CoPilot, where the languageserver-based code modeling is less deep (and in those cases I can't tell whether they are even leveraging LS-server, since their operations are so much more opaque than Junie).
Not a criticism, just trying to work through pros/cons of Junie vs Windsurf.
Thanks,
Will
Please sign in to leave a comment.
Dear Will,
Thank you for your thoughtful question regarding Junie's use of JetBrains IDEs' internal codebase knowledge, specifically PSI. At this time, Junie does not fully leverage JetBrains IDE features like PSI for project-wide analyses and changes; instead, it primarily relies on large language models (LLMs) for code completion and modifications.
There is ongoing consideration for deeper integration with JetBrains IDE features, such as PSI and advanced refactoring tools, which could significantly improve efficiency and accuracy. Many users have highlighted the potential benefits of this approach, and it is recognized as a possible area for future development.
For more information about the capabilities of the IntelliJ Platform API, including PSI and other extension points, you can explore the official Plugin SDK documentation here: https://plugins.jetbrains.com/docs/intellij/explore-api.html
Please also upvote the existing feature request: https://youtrack.jetbrains.com/issue/JUNIE-56. The more upvotes an issue gets, the higher is the visibility, and this increases the chances for this issue to be solved in a timely manner.
Please keep an eye on future updates to Junie, as enhancements in this area may be introduced.
Kind Regards,
Ecaterina