You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In theory, one should be able to just install the server binary and have it automatically work with any editor.
26
+
In theory, one should be able to just install the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>> and have it automatically work with any editor.
27
27
We are not there yet, so some editor specific setup is required.
28
28
29
29
Additionally, rust-analyzer needs the sources of the standard library.
You'll need Cargo, xtask, nodejs and npm for this.
98
+
Cargo-xtask can be found at https://github.com/matklad/cargo-xtask
98
99
99
100
Note that installing via `xtask install` does not work for VS Code Remote, instead you'll need to install the `.vsix` manually.
100
101
@@ -108,18 +109,29 @@ Here are some useful self-diagnostic commands:
108
109
* To log all LSP requests, add `"rust-analyzer.trace.server": "verbose"` to the settings and look for `Server Trace` in the panel.
109
110
* To enable client-side logging, add `"rust-analyzer.trace.extension": true` to the settings and open the `Console` tab of VS Code developer tools.
110
111
111
-
=== Language Server Binary
112
+
=== rust-analyzer Language Server Binary
112
113
113
114
Other editors generally require the `rust-analyzer` binary to be in `$PATH`.
114
115
You can download the pre-built binary from the https://github.com/rust-analyzer/rust-analyzer/releases[releases] page. Typically, you then need to rename the binary for your platform, e.g. `rust-analyzer-mac` if you're on Mac OS, to `rust-analzyer` and make it executable in addition to moving it into a directory in your `$PATH`.
115
116
117
+
On Linux to install the `rust-analyzer` binary into `~/.cargo/bin` which usually is already added to `$PATH`, this commands could be used
Alternatively, you can install it from source using the following command:
117
126
118
127
[source,bash]
119
128
----
129
+
$ git clone https://github.com/rust-analyzer/rust-analyzer.git && cd rust-analyzer
120
130
$ cargo xtask install --server
121
131
----
122
132
133
+
Cargo-xtask can be found at https://github.com/matklad/cargo-xtask
134
+
123
135
If your editor can't find the binary even though the binary is on your `$PATH`, the likely explanation is that it doesn't see the same `$PATH` as the shell, see https://github.com/rust-analyzer/rust-analyzer/issues/1811[this issue]. On Unix, running the editor from a shell or changing the `.desktop` file to set the environment should help.
124
136
125
137
==== Arch Linux
@@ -139,15 +151,19 @@ $ yay -S rust-analyzer-bin
139
151
140
152
=== Emacs
141
153
142
-
Emacs support is maintained https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-rust.el[upstream].
154
+
Prerequisites: You have installed the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>>.
143
155
144
-
1. Install the most recent version of `emacs-lsp` package by following the instructions https://github.com/emacs-lsp/lsp-mode[here].
156
+
Emacs support is maintained as part of the https://github.com/emacs-lsp/lsp-mode[Emacs-LSP] package in https://github.com/emacs-lsp/lsp-mode/blob/master/lsp-rust.el[lsp-rust.el].
157
+
158
+
1. Install the most recent version of `emacs-lsp` package by following the https://github.com/emacs-lsp/lsp-mode[Emacs-LSP instructions].
145
159
2. Set `lsp-rust-server` to `'rust-analyzer`.
146
160
3. Run `lsp` in a Rust buffer.
147
161
4. (Optionally) bind commands like `lsp-rust-analyzer-join-lines`, `lsp-extend-selection` and `lsp-rust-analyzer-expand-macro` to keys.
148
162
149
163
=== Vim
150
164
165
+
Prerequisites: You have installed the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>>.
166
+
151
167
The are several LSP client implementations for vim:
152
168
153
169
==== coc-rust-analyzer
@@ -205,7 +221,7 @@ Once `neovim/nvim-lsp` is installed, use `+lua require'nvim_lsp'.rust_analyzer.s
205
221
206
222
=== Sublime Text 3
207
223
208
-
Prerequisites: You have installed the <<language-server-binary,`rust-analyzer` binary>>.
224
+
Prerequisites: You have installed the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>>.
209
225
210
226
You also need the `LSP` package. To install it:
211
227
@@ -218,7 +234,7 @@ Finally, with your Rust project open, in the command palette, run `LSP: Enable L
218
234
219
235
If it worked, you should see "rust-analzyer, Line X, Column Y" on the left side of the bottom bar, and after waiting a bit, functionality like tooltips on hovering over variables should become available.
220
236
221
-
If you get an error saying `No such file or directory: 'rust-analyzer'`, see the <<language-server-binary,section on installing the language server binary>>.
237
+
If you get an error saying `No such file or directory: 'rust-analyzer'`, see the <<rust-analyzer-language-server-binary,`rust-analyzer` binary>> section on installing the language server binary.
0 commit comments