diff options
Diffstat (limited to 'docs/user')
-rw-r--r-- | docs/user/README.md | 26 | ||||
-rw-r--r-- | docs/user/features.md | 7 |
2 files changed, 27 insertions, 6 deletions
diff --git a/docs/user/README.md b/docs/user/README.md index 036b51d58..f1628d6a4 100644 --- a/docs/user/README.md +++ b/docs/user/README.md | |||
@@ -1,6 +1,6 @@ | |||
1 | The main interface to rust-analyzer is the | 1 | The main interface to rust-analyzer is the |
2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To | 2 | [LSP](https://microsoft.github.io/language-server-protocol/) implementation. To |
3 | install lsp server, use `cargo install-ra --server`, which is a shorthand for `cargo | 3 | install lsp server, use `cargo xtask install --server`, which is a shorthand for `cargo |
4 | install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you | 4 | install --package ra_lsp_server`. The binary is named `ra_lsp_server`, you |
5 | should be able to use it with any LSP-compatible editor. We use custom | 5 | should be able to use it with any LSP-compatible editor. We use custom |
6 | extensions to LSP, so special client-side support is required to take full | 6 | extensions to LSP, so special client-side support is required to take full |
@@ -33,7 +33,7 @@ following commands: | |||
33 | ``` | 33 | ``` |
34 | $ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1 | 34 | $ git clone https://github.com/rust-analyzer/rust-analyzer.git --depth 1 |
35 | $ cd rust-analyzer | 35 | $ cd rust-analyzer |
36 | $ cargo install-ra | 36 | $ cargo xtask install |
37 | ``` | 37 | ``` |
38 | 38 | ||
39 | The automatic installation is expected to *just work* for common cases, if it | 39 | The automatic installation is expected to *just work* for common cases, if it |
@@ -58,9 +58,28 @@ Beyond basic LSP features, there are some extension commands which you can | |||
58 | invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md) | 58 | invoke via <kbd>Ctrl+Shift+P</kbd> or bind to a shortcut. See [./features.md](./features.md) |
59 | for details. | 59 | for details. |
60 | 60 | ||
61 | For updates, pull the latest changes from the master branch, run `cargo install-ra` again, and **restart** VS Code instance. | 61 | For updates, pull the latest changes from the master branch, run `cargo xtask install` again, and **restart** VS Code instance. |
62 | See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed. | 62 | See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) for why a full restart is needed. |
63 | 63 | ||
64 | ### VS Code Remote | ||
65 | |||
66 | You can also use `rust-analyzer` with the Visual Studio Code Remote extensions | ||
67 | (Remote SSH, Remote WSL, Remote Containers). In this case, however, you have to | ||
68 | manually install the `.vsix` package: | ||
69 | |||
70 | 1. Build the extension on the remote host using the instructions above (ignore the | ||
71 | error if `code` cannot be found in your PATH: VSCode doesn't need to be installed | ||
72 | on the remote host). | ||
73 | 2. In Visual Studio Code open a connection to the remote host. | ||
74 | 3. Open the Extensions View (`View > Extensions`, keyboard shortcut: `Ctrl+Shift+X`). | ||
75 | 4. From the top-right kebab menu (`ยทยทยท`) select `Install from VSIX...` | ||
76 | 5. Inside the `rust-analyzer` directory find the `editors/code` subdirectory and choose | ||
77 | the `ra-lsp-0.0.1.vsix` file. | ||
78 | 6. Restart Visual Studio Code and re-establish the connection to the remote host. | ||
79 | |||
80 | In case of errors please make sure that `~/.cargo/bin` is in your `PATH` on the remote | ||
81 | host. | ||
82 | |||
64 | ### Settings | 83 | ### Settings |
65 | 84 | ||
66 | * `rust-analyzer.highlightingOn`: enables experimental syntax highlighting | 85 | * `rust-analyzer.highlightingOn`: enables experimental syntax highlighting |
@@ -79,6 +98,7 @@ See [microsoft/vscode#72308](https://github.com/microsoft/vscode/issues/72308) f | |||
79 | * `rust-analyzer.cargo-watch.command`: `cargo-watch` command. (e.g: `clippy` will run as `cargo watch -x clippy` ) | 98 | * `rust-analyzer.cargo-watch.command`: `cargo-watch` command. (e.g: `clippy` will run as `cargo watch -x clippy` ) |
80 | * `rust-analyzer.cargo-watch.arguments`: cargo-watch check arguments. | 99 | * `rust-analyzer.cargo-watch.arguments`: cargo-watch check arguments. |
81 | (e.g: `--features="shumway,pdf"` will run as `cargo watch -x "check --features="shumway,pdf""` ) | 100 | (e.g: `--features="shumway,pdf"` will run as `cargo watch -x "check --features="shumway,pdf""` ) |
101 | * `rust-analyzer.cargo-watch.ignore`: list of patterns for cargo-watch to ignore (will be passed as `--ignore`) | ||
82 | * `rust-analyzer.trace.server`: enables internal logging | 102 | * `rust-analyzer.trace.server`: enables internal logging |
83 | * `rust-analyzer.trace.cargo-watch`: enables cargo-watch logging | 103 | * `rust-analyzer.trace.cargo-watch`: enables cargo-watch logging |
84 | * `RUST_SRC_PATH`: environment variable that overwrites the sysroot | 104 | * `RUST_SRC_PATH`: environment variable that overwrites the sysroot |
diff --git a/docs/user/features.md b/docs/user/features.md index 757a02838..8b7a8d7fc 100644 --- a/docs/user/features.md +++ b/docs/user/features.md | |||
@@ -459,17 +459,18 @@ fn foo<T: u32, F: FnOnce(T) -> T>() {} | |||
459 | fn foo<T, F>() where T: u32, F: FnOnce(T) -> T {} | 459 | fn foo<T, F>() where T: u32, F: FnOnce(T) -> T {} |
460 | ``` | 460 | ``` |
461 | 461 | ||
462 | - Make raw string | 462 | - Make raw string unescaped |
463 | 463 | ||
464 | ```rust | 464 | ```rust |
465 | // before: | 465 | // before: |
466 | fn f() { | 466 | fn f() { |
467 | let s = <|>"abcd"; | 467 | let s = <|>"ab\ncd"; |
468 | } | 468 | } |
469 | 469 | ||
470 | // after: | 470 | // after: |
471 | fn f() { | 471 | fn f() { |
472 | let s = <|>r"abcd"; | 472 | let s = <|>r#"ab |
473 | cd"#; | ||
473 | } | 474 | } |
474 | ``` | 475 | ``` |
475 | 476 | ||