Rust Language Server provides live information such as code completion and documentation through a Microsoft co-developed protocol Developers of Mozilla’s Rust language, devised for fast and safe system-level programming, have unveiled the first release of the Rust Language Service (RLS), a project that provides IDEs and editors with live, contextual information about Rust code. RLS is one of the first implementations of the Language Server Protocol, co-developed by Microsoft, Codenvy, and Red Hat to standardized communications between IDEs and language runtimes. It’s another sign of Rust’s effort to be an A-list language across the board — not only by providing better solutions to common programming problems, but also cultivating first-class, cutting-edge tooling support from beyond its ecosystem. At this stage, RLS provides a few basic but broadly useful functions. It can flag errors as you type, locate all references for a particular symbol within a codebase, rename symbols, and provide documentation for objects found in the standard library. The first release of RLS is “pre-alpha” — at this stage it’s best thought of as a proof of concept rather than a working product. It uses the Rust compiler to supply much of the data, but in its current state, the compiler can’t always provide the data fast enough, especially when dealing with functions in larger Rust “crates,” or packages. One of the features planned for the Rust compiler, incremental compilation, should provide a performance boost to RLS as a by-product. The feature is still under wraps. Instead, RLS also makes use of an existing Rust crate, Racer, which provides code-completion data. RLS isn’t of much use by itself; it needs an IDE that supports the Language Server Protocol as a front end. Two such IDEs already exist: Eclipse and Microsoft’s Visual Studio Code. One of RLS’s chief developers, Jonathan Turner, has produced a sample RLS client for Visual Studio Code, so Rust developers who use that editor can start experimenting with it immediately. Be warned: This is still extremely rough software, so functions like refactoring code could be destructive. As the documentation says, “[RLS] is not ready for real use. It will probably eat your laundry.” Or at least leave it with rust stains. Related content feature What is Rust? Safe, fast, and easy software development Unlike most programming languages, Rust doesn't make you choose between speed, safety, and ease of use. Find out how Rust delivers better code with fewer compromises, and a few downsides to consider before learning Rust. By Serdar Yegulalp Nov 20, 2024 11 mins Rust Programming Languages Software Development how-to Kotlin for Java developers: Classes and coroutines Kotlin was designed to bring more flexibility and flow to programming in the JVM. Here's an in-depth look at how Kotlin makes working with classes and objects easier and introduces coroutines to modernize concurrency. By Matthew Tyson Nov 20, 2024 9 mins Java Kotlin Programming Languages analysis Azure AI Foundry tools for changes in AI applications Microsoft’s launch of Azure AI Foundry at Ignite 2024 signals a welcome shift from chatbots to agents and to using AI for business process automation. By Simon Bisson Nov 20, 2024 7 mins Microsoft Azure Generative AI Development Tools news Microsoft unveils imaging APIs for Windows Copilot Runtime Generative AI-backed APIs will allow developers to build image super resolution, image segmentation, object erase, and OCR capabilities into Windows applications. By Paul Krill Nov 19, 2024 2 mins Generative AI APIs Development Libraries and Frameworks Resources Videos