1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 |
Other Editorsrust-analyzer works with any editor that supports the Language Server Protocol. This page assumes that you have already installed the rust-analyzer binary. EmacsTo use EglotEglot is the more minimalistic and lightweight LSP client for Emacs, integrates well with existing Emacs functionality and is built into Emacs starting from release 29. After installing Eglot, e.g. via To enable clippy, you will need to configure the initialization options
to pass the For more detailed instructions and options see the Eglot
manual (also available from Emacs
via Eglot does not support the rust-analyzer extensions to the language-server protocol and does not aim to do so in the future. The eglot-x package adds experimental support for those LSP extensions. LSP ModeLSP-mode is the original LSP-client for emacs. Compared to Eglot it has a larger codebase and supports more features, like LSP protocol extensions. With extension packages like LSP UI it offers a lot of visual eyecandy. Further it integrates well with DAP mode for support of the Debug Adapter Protocol. You can install LSP-mode via For more information on how to set up LSP mode and its extension package
see the instructions in the LSP mode
manual. Also
see the rust-analyzer
section
for Note the excellent guide from @rksm on how to set-up Emacs for Rust development with LSP mode and several other packages. Vim/NeovimThere are several LSP client implementations for Vim or Neovim: coc-rust-analyzer
Note: coc-rust-analyzer is capable of installing or updating the rust-analyzer binary on its own. Note: for code actions, use LanguageClient-neovim
YouCompleteMeInstall YouCompleteMe by following the instructions here. rust-analyzer is the default in ycm, it should work out of the box. ALETo use the LSP server in ale: nvim-lspNeovim 0.5+ added build-in support for language server with most of the heavy lifting happening in "framework" plugins such as neovim/nvim-lspconfig. Since v0.11+ Neovim has full featured LSP support. nvim-lspconfig is still recommended to get the rust-analyzer config for free.
Note that the hints are only visible after The instructions here use the 0.11+ API, if you're running an older version, you can follow this guide https://sharksforarms.dev/posts/neovim-rust/ or check out https://github.com/mrcjkb/rustaceanvim for a batteries included rust-analyzer setup for Neovim. vim-lspvim-lsp is installed by following the plugin
instructions. It can be as
simple as adding this line to your Next you need to register the There is no dedicated UI for the server configuration, so you would need
to send any options as a value of the Sublime TextSublime Text 4:
Install
LSP-file-watcher-chokidar
to enable file watching ( Sublime Text 3:
If it worked, you should see "rust-analyzer, Line X, Column Y" on the left side of the status bar, and after waiting a bit, functionalities like tooltips on hovering over variables should become available. If you get an error saying GNOME BuilderGNOME Builder 3.37.1 and newer has native Eclipse IDESupport for Rust development in the Eclipse IDE is provided by Eclipse
Corrosion. If available in PATH
or in some standard location, Kate Text EditorSupport for the language server protocol is built into Kate through the LSP plugin, which is included by default. It is preconfigured to use rust-analyzer for Rust sources since Kate 21.12. To change rust-analyzer config options, start from the following example and put it into Kate’s "User Server Settings" tab (located under the LSP Client settings): Then click on apply, and restart the LSP server for your rust project. juCi++juCi++ has built-in support for the language server protocol, and since version 1.7.0 offers installation of both Rust and rust-analyzer when opening a Rust file. KakouneKakoune supports LSP with the help of
Finally, you need to configure Kakoune to talk to HelixHelix supports LSP by default.
However, it won’t install Visual Studio 2022There are multiple rust-analyzer extensions for Visual Studio 2022 on Windows: VS RustAnalyzer(License: GPL) SourceGear Rust(License: closed source) GitHub (docs, issues, discussions)
LapceLapce has a Rust plugin which you can install
directly. Unfortunately, it downloads an old version of ZedZed has native |