The RubyMine 2023.2 Beta: Updated AI Assistant, LSP API for Plugin Developers, and More
The RubyMine 2023.2 Early Access Program has reached Beta! Below are some of the new features in the upcoming release that we haven’t yet mentioned.
Documentation generation with AI Assistant
If you’re looking to generate documentation for a declaration using a large language model (LLM), simply access the AI Actions menu and choose the Write documentation action. By selecting this option, the IDE will generate the static portion of the comment, while the AI will take care of generating the actual documentation text on your behalf. This feature saves you time and effort by leveraging the power of AI to automate the documentation generation process.
LSP support for plugin developers
In this build, we’re introducing a significant feature: the LSP API for plugin developers. IntelliJ-based IDEs are renowned for their extensive comprehension of source code and their support for numerous programming languages and frameworks. However, there may be certain languages and technologies that are not yet natively supported. This is where the LSP API comes in.
The LSP API primarily targets plugin developers who wish to leverage a specific Language Server Protocol (LSP) server for enhanced coding assistance within the IDE. If you have developed your own programming language or framework, you can now ensure it’s supported in the IDE by creating an LSP server and a corresponding plugin.
Currently, the LSP support encompasses functionalities such as error and warning highlighting, quick-fixes, code completion, and navigation to declarations. We have plans to introduce additional features in the near future.
A minimal, fully-functional plugin requires writing a few lines of code. The plugin implements the com.intellij.platform.lsp.api.LspServerSupportProvider interface and answers which files it will support and how to start the server. Prisma ORM is an open-source plugin by JetBrains and can be used as a reference implementation. The codebase is quite large, but there are only a few classes that are related to LSP-based support: see the org.intellij.prisma.ide.lsp.* package.
With the LSP API, we aim to provide a flexible and extensible platform that empowers plugin developers to enhance the IDE’s language support and deliver a seamless coding experience for various languages and technologies.
Code insight for RBS class and module aliases
RubyMine now provides code insight and navigation features, such as resolve, completion, find usages, rename, and more, as well as type inference for class and module aliases. Inspections such as Duplicate declarations or Conflicting type variable variance now support class and module aliases, and new inspections for detecting cyclic or inconsistent alias declarations have been added.
Provide and inject support in Vue
RubyMine 2023.2 includes support for provide and inject. The provide/inject mechanism solves the issue of prop drilling in Vue. A parent component can register a provider, and then any component in the descendent tree can inject dependencies provided by the components. RubyMine now provides completion for the inject field, resolves the injected property, and displays correct information about the type of the injected property.
The full list of improvements in this version is available in the release notes.
To learn about the latest features as they come out, follow RubyMine on Twitter. We post product news and tips several times a week.
We’d love to hear more about your experience with RubyMine. Schedule a 40–60 minute call with us to discuss it and get answers to any questions you might have!
We encourage you to share your thoughts in the comments below and to suggest and vote for new features in the issue tracker.
The RubyMine team
Subscribe to Blog updates
Thanks, we've got you!
The RubyMine 2023.3 Early Access Program Is Open!
Hello everyone, The third RubyMine Early Access Program of 2023 is underway! The key change in the first EAP build is an important indexing optimization. By refactoring our code base, we’ve doubled RubyMine’s indexing speed compared to v2023.1. This is particularly noticeable when working wi…
Collaborative Programming in RubyMine
Hi everyone, We're back with a new how2pro blog post unveiling another cool RubyMine feature – the Code With Me plugin. When you're knee-deep in a complex task or tangling with an issue that's testing your limits, having someone by your side can make all the difference. Additionally, in an educati…
RubyMine 2023.2 With AI Assistant Is Out!
RubyMine 2023.2 is now publicly available! You can download it from our website or via the free Toolbox App. The latest version of the most intelligent Ruby and Rails IDE brings the brand-new AI Assistant and is packed with other improvements, including Turbo code completion in Ruby on Rails proj…
RubyMine 2023.2 EAP 7: Customizable Type Renderers in the Debugger, Code Insight for Store Accessors, Colored Project Headers in the New UI, and More
We have just launched our last Early Access Program (EAP) build for RubyMine 2023.2. We encourage you to explore the improvements in this version and share your feedback with us. Feel free to leave your comments in the section below or submit any issues you encounter through our dedicated issue trac…