Skip to content

Commit 7e62ecf

Browse files
authored
Merge pull request #979 from ehuss/rls-deprecation
Post about RLS deprecation.
2 parents 7312340 + ec5b6c4 commit 7e62ecf

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

posts/2022-07-01-RLS-deprecation.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
layout: post
3+
title: "RLS Deprecation"
4+
author: The Rust Dev Tools Team
5+
---
6+
7+
The Rust Language Server (RLS) is being deprecated in favor of [rust-analyzer](https://rust-analyzer.github.io/).
8+
Current users of RLS should migrate to using rust-analyzer instead.
9+
Builds of RLS will continue to be released until at least the Rust 1.64 release (2022-09-22), after which no new releases will be made.
10+
This timeline may change if any issues arise.
11+
12+
RLS is an implementation of the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) (LSP) which provides enhanced features with any editor that supports the protocol, such as code-checking and refactoring.
13+
RLS was introduced by [RFC 1317](https://rust-lang.github.io/rfcs/1317-ide.html) and development was very active from 2016 through 2019.
14+
However, the architecture of RLS has several limitations that can make it difficult to provide low-latency and high-quality responses needed for an interactive environment.
15+
16+
Development of rust-analyzer began near the beginning of 2018 to provide an alternate LSP implementation for Rust.
17+
rust-analyzer uses a fundamentally different approach that does not rely on using `rustc`.
18+
In [RFC 2912](https://rust-lang.github.io/rfcs/2912-rust-analyzer.html) rust-analyzer was adopted as the official replacement for RLS.
19+
20+
How you migrate to rust-analyzer will depend on which editor you are using.
21+
If you are using VSCode, you should uninstall the `rust-lang.rust` extension and install the official [`rust-lang.rust-analyzer` extension](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer).
22+
For other editors, please consult the [rust-analyzer manual](https://rust-analyzer.github.io/manual.html) for instructions on how to install it.
23+
24+
Should you have any issues migrating to rust-analyzer, the [Editors and IDEs category](https://users.rust-lang.org/c/ide/14) on the Rust Users forum is available for help with installation and usage.
25+
26+
We will soon be marking the official `rust-lang.rust` VSCode extension as deprecated, and will be implementing notifications that will inform users about the transition.
27+
After the end of release builds of RLS, we plan to replace the `rls` executable in official Rust releases with a small LSP implementation that informs the user that RLS is no longer available.
28+
29+
We would like to thank everyone who has worked on RLS and rust-analyzer.
30+
These options would not exist without the tremendous effort of all the contributors to these projects.

0 commit comments

Comments
 (0)