Add warning about rust-analyzer not working if you clone and use the repo directly

> Yes, you are right, if you just clone the repository and try to edit the exercises, the language server will not work. This is one downside of the current approach. But this only affects developing exercises.
>
> The new method of doing Rustlings is to install Rustlings using `cargo install rustlings` (not published yet), then running `rustlings init`. No repo cloning happens. Instead, the directory `rustlings/` will be created where you find the exercises. The language server works there out of the box :)
>
> I need to add a warning when people try to work on the exercises from the repository. Thanks pointing this out.
>
> -- @mo8it, https://github.com/rust-lang/rustlings/issues/1935#issuecomment-2067664066

Other references:

 - Previous `rustlings lsp` command: https://github.com/rust-lang/rustlings/pull/1026
 - The changelog says "LSP support out of the box", https://github.com/rust-lang/rustlings/blob/main/CHANGELOG.md#lsp-support-out-of-the-box
This commit is contained in:
Eric Eastwood 2024-10-14 14:11:09 -05:00
parent 0432e07864
commit a025ce0538

View file

@ -82,6 +82,15 @@ rustlings
Our general recommendation is [VS Code](https://code.visualstudio.com/) with the [rust-analyzer plugin](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer). Our general recommendation is [VS Code](https://code.visualstudio.com/) with the [rust-analyzer plugin](https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer).
But any editor that supports [rust-analyzer](https://rust-analyzer.github.io/) should be enough for working on the exercises. But any editor that supports [rust-analyzer](https://rust-analyzer.github.io/) should be enough for working on the exercises.
<details>
<summary><strong>If you cloned the repository and <code>rust-analyzer</code> isn't working…</strong> (<em>click to expand</em>)</summary>
The intended way to run Rustlings is to install the binary and run `rustlings init` as described above. This generates a `Cargo.toml` (different than what you see in the repository) that includes the each excersise as a separate binary target which is enough for `rust-analyzer` to work.
If you just clone the repository and try to run and edit the exercises directly, the language server will not work. This is one downside of the current approach. But this only affects developing exercises.
</details>
### Terminal ### Terminal
While working with Rustlings, please use a modern terminal for the best user experience. While working with Rustlings, please use a modern terminal for the best user experience.