Skip to content

Commit ca0aef2

Browse files
committed
feat: make troubleshooting a top-level section
1 parent 12e093d commit ca0aef2

File tree

1 file changed

+35
-35
lines changed

1 file changed

+35
-35
lines changed

docs/user/manual.adoc

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -137,41 +137,6 @@ If you're not using Code, you can compile and install only the LSP server:
137137
$ cargo xtask install --server
138138
----
139139

140-
==== Troubleshooting
141-
142-
Start with looking at the rust-analyzer version.
143-
Try **Rust Analyzer: Show RA Version** and `rust-analyzer --version` in the command line.
144-
If the date is more than a week ago, it's better to update rust-analyzer version.
145-
146-
The next thing to check would be panic messages in rust-analyzer's log.
147-
Log messages are printed to stderr, in VS Code you can see then in the `Output > Rust Analyzer Language Server` tab of the panel.
148-
To see more logs, set `RA_LOG=info` environmental variable.
149-
150-
To fully capture LSP messages between the editor and the server, set `"rust-analyzer.trace.server": "verbose"` config and check
151-
`Output > Rust Analyzer Language Server Trace`.
152-
153-
The root cause for many "`nothing works`" problems is that rust-analyzer fails to understand the project structure.
154-
To debug that, first note the `rust-analyzer` section in the status bar.
155-
If it has an error icon and red, that's the problem (hover will have somewhat helpful error message).
156-
**Rust Analyzer: Status** prints dependency information for the current file.
157-
Finally, `RA_LOG=project_model=debug` enables verbose logs during project loading.
158-
159-
If rust-analyzer outright crashes, try running `rust-analyzer analysis-stats /path/to/project/directory/` on the command line.
160-
This command type checks the whole project in batch mode bypassing LSP machinery.
161-
162-
When filing issues, it is useful (but not necessary) to try to minimize examples.
163-
An ideal bug reproduction looks like this:
164-
165-
```bash
166-
$ git clone https://github.com/username/repo.git && cd repo && git switch --detach commit-hash
167-
$ rust-analyzer --version
168-
rust-analyzer dd12184e4 2021-05-08 dev
169-
$ rust-analyzer analysis-stats .
170-
💀 💀 💀
171-
```
172-
173-
It is especially useful when the `repo` doesn't use external crates or the standard library.
174-
175140
=== rust-analyzer Language Server Binary
176141

177142
Other editors generally require the `rust-analyzer` binary to be in `$PATH`.
@@ -434,6 +399,41 @@ With
434399
----
435400
Then click on apply, and restart the LSP server for your rust project.
436401

402+
== Troubleshooting
403+
404+
Start with looking at the rust-analyzer version.
405+
Try **Rust Analyzer: Show RA Version** in VS Code and `rust-analyzer --version` in the command line.
406+
If the date is more than a week ago, it's better to update rust-analyzer version.
407+
408+
The next thing to check would be panic messages in rust-analyzer's log.
409+
Log messages are printed to stderr, in VS Code you can see then in the `Output > Rust Analyzer Language Server` tab of the panel.
410+
To see more logs, set `RA_LOG=info` environmental variable.
411+
412+
To fully capture LSP messages between the editor and the server, set `"rust-analyzer.trace.server": "verbose"` config and check
413+
`Output > Rust Analyzer Language Server Trace`.
414+
415+
The root cause for many "`nothing works`" problems is that rust-analyzer fails to understand the project structure.
416+
To debug that, first note the `rust-analyzer` section in the status bar.
417+
If it has an error icon and red, that's the problem (hover will have somewhat helpful error message).
418+
**Rust Analyzer: Status** prints dependency information for the current file.
419+
Finally, `RA_LOG=project_model=debug` enables verbose logs during project loading.
420+
421+
If rust-analyzer outright crashes, try running `rust-analyzer analysis-stats /path/to/project/directory/` on the command line.
422+
This command type checks the whole project in batch mode bypassing LSP machinery.
423+
424+
When filing issues, it is useful (but not necessary) to try to minimize examples.
425+
An ideal bug reproduction looks like this:
426+
427+
```bash
428+
$ git clone https://github.com/username/repo.git && cd repo && git switch --detach commit-hash
429+
$ rust-analyzer --version
430+
rust-analyzer dd12184e4 2021-05-08 dev
431+
$ rust-analyzer analysis-stats .
432+
💀 💀 💀
433+
```
434+
435+
It is especially useful when the `repo` doesn't use external crates or the standard library.
436+
437437
== Configuration
438438

439439
**Source:** https://github.com/rust-analyzer/rust-analyzer/blob/master/crates/rust-analyzer/src/config.rs[config.rs]

0 commit comments

Comments
 (0)