Join Vini Stock, a key member of Shopify's Ruby developer experience team, as he dives into the latest advancements in the Ruby ecosystem. He discusses exciting updates like ERB support and the AI-powered Copilot Agent in VS Code, which enhances Ruby development. Vini highlights the crucial role of community contributions and improvements in coding tools, shedding light on the challenges of tool discoverability. He shares insights into the complexities of maintaining the Ruby language server and envisions future enhancements for a streamlined developer experience.
Recent enhancements to the Ruby Language Server Protocol, like ERB support and auto-updates, significantly streamline developer workflows in Ruby.
The introduction of a customizable add-on API encourages community contributions, empowering developers to create extensions that enhance the Ruby development experience.
Deep dives
Ruby LSP Enhancements
Recent updates to the Ruby Language Server Protocol (LSP) have introduced significant improvements for developers using Ruby, especially with the addition of ERB support, which streamlines the process of navigating and managing Ruby component files. Users can now utilize the 'go to definition' feature seamlessly within their text editors, allowing quicker access to component definitions without disrupting their workflow. Additionally, the implementation of a chat extension has enhanced discoverability, addressing common issues developers face when unaware of new features added to the LSP. Such improvements highlight a dedicated effort to facilitate a smoother experience for Ruby developers adapting to modern tooling practices.
Discoverability Challenges
The conversation emphasized the ongoing challenge of feature discoverability within development tools. Many developers remain unaware of the capabilities offered by the Ruby LSP, often relying on random occurrences to discover features while coding. It was noted that enhancing editor functionality to provide hints or notifications about new features could improve overall user experience. Continued advocacy and communication about updates is essential, as the Ruby community benefits from users being informed and actively engaging with new tools and improvements.
Ruby LSP's Auto-Updating Mechanism
The ability of the Ruby LSP to deliver auto-updates significantly enhances its functionality, facilitating quick access to new features without the need for manual intervention. This feature assures that users always operate on the latest version, enabling smooth integration of bug fixes and enhancements as they are released. The discussion pointed out that while users generally prefer the latest version of the LSP, there is no functionality to enforce downgrading, which the team believes encourages a more seamless and consistent user experience. This approach not only simplifies maintenance but also aligns the community under a shared, up-to-date development environment.
Support for Language Server API Add-Ons
The Ruby LSP has introduced an add-on API that allows for the customization and enrichment of features specific to various frameworks or tools, which is seen as an exciting opportunity for gem maintainers. This API enables developers to enhance the support for domain-specific languages used in their gems, allowing for richer content like autocompletion and method definitions. By providing examples of how to implement these custom features, the LSP team hopes to empower more developers to contribute by creating extensions that can significantly elevate the overall Ruby development experience. This growth in community involvement through the add-on API symbolizes a drive towards creating a more robust and adaptable Ruby environment.
In this episode, Jason, Chris, and Andrew catch up with Vini Stock, who works on the Ruby developer experience team at Shopify. They discuss recent advancements in Ruby LSP, including ERB support, the addition of the Copilot Agent, and improvements to the indexing of Ruby code. Vinny shares insights into the complexities of maintaining and advancing a language server and talks about potential future enhancements for the Ruby ecosystem. They also delve into the challenges and possibilities of modern developer tooling and the importance of community contributions. Hit download now!
Honeybadger Honeybadger is an application health monitoring tool built by developers for developers.
Disclaimer: This post contains affiliate links. If you make a purchase, I may receive a commission at no extra cost to you.