rust-analyzer/editors/code
bors 60982dc8fc Auto merge of #16475 - DropDemBits:native-vscode-snippet-text-edit, r=Veykril
feat: Support multiple tab stops for completions in VSCode

Uses the native VSCode support for `SnippetTextEdit`s. Fixes #13229 and fixes #8531.

https://github.com/rust-lang/rust-analyzer/assets/13354275/a2d2c033-bb30-4f34-92ca-bf3f4f744cdc

This is done in a slightly hacky way, as `vscode-languageclient` can't convert RA's `SnippetTextEdit`s into vscode `SnippetTextEdit`s and will appear to use a [different format](295aaa393f/types/src/main.ts (L1501-L1516)) in the future.

---

~~Marked as draft since as-is, this will cause completions to double-indent any multi-line code generated.~~
**Update:** This also fixes up edits so that any multi-line code won't be double-indented.
2024-02-19 10:58:44 +00:00
..
src Work around snippet edits doubling up extra indentation 2024-02-15 18:39:17 -05:00
tests editor/code: Re-apply code format 2023-07-13 22:44:29 +09:00
.eslintignore vscode extension: use esbuild instead of rollup. 2021-08-10 10:18:08 +01:00
.eslintrc.js editor/code: Update typescript-eslint to v6 2023-07-13 22:44:29 +09:00
.gitignore Add experimental VSCode api 2022-03-04 07:45:51 +02:00
.prettierignore prettier config 2022-05-17 18:12:49 +01:00
.prettierrc.js prettier config 2022-05-17 18:12:49 +01:00
.vscodeignore add files to .vscodeignore 2024-01-16 23:46:59 +08:00
icon.png Extension icon 2020-01-15 16:07:39 +01:00
language-configuration-rustdoc.json Remove autoclosing pair <> in rustdoc 2024-02-12 16:01:14 +01:00
language-configuration.json feat: add backtick to surrounding and auto-closing pairs 2023-09-26 06:36:37 +00:00
LICENSE Add LICENSE file to make vsce happy 2021-12-04 12:29:27 +02:00
package-lock.json Bump follow-redirects from 1.15.2 to 1.15.4 in /editors/code 2024-01-09 08:49:11 +00:00
package.json CrateOrigin::Local means local to the project workspace, not cargo workspace 2024-02-16 16:28:17 +01:00
ra_syntax_tree.tmGrammar.json prettier run 2022-05-17 18:15:06 +01:00
README.md Improve extension description and README 2022-05-13 18:15:33 +02:00
rustdoc-inject.json Run npm run format 2024-02-12 15:58:17 +01:00
rustdoc.json Run npm run format 2024-02-12 15:58:17 +01:00
tsconfig.eslint.json prettier run 2022-05-17 18:15:06 +01:00
tsconfig.json internal: Remove unnecessary Arc allocations in macro_expand 2024-01-03 15:21:18 +01:00

rust-analyzer

This extension provides support for the Rust programming language. It is recommended over and replaces rust-lang.rust.

Features

Quick start

  1. Install rustup.
  2. Install the rust-analyzer extension.

Configuration

This extension provides configurations through VSCode's configuration settings. All configurations are under rust-analyzer.*.

See the manual for more information on VSCode specific configurations.

Communication

For usage and troubleshooting requests, please use the "IDEs and Editors" category of the Rust forum.

Documentation

See rust-analyzer.github.io for more information.