- This final version marks this extension as no longer supported. Use the rust-lang.rust-analyzer extension instead.
- Rebrand extension as RLS-agnostic
- Add missing semantic token types definition
- Only synchronize relevant workspace settings for RLS
- Rename configuration section to just "Rust"
- Support rust-analyzer as an alternate LSP server
- Bump required VSCode version to 1.43, use language server protocol (LSP) v3.15
- Remove redundant snippets and improve usability of select ones e.g.
if let
- Accept rustup toolchain shorthands in
rust-client.channel
, e.g.stable-gnu
ornightly-x86_64-msvc
- Remove deprecated
rust-client.useWsl
setting (use the official Remote - WSL extension instead)
- Add a Start/Stop the RLS command
- Introduce a
rust-client.autoStartRls
(defaults to true) setting to control the auto-start behaviour when opening a relevant Rust project file - (!) Don't immediately start server instances for every already opened file
- (!) Don't immediately start server instances for newly added workspace folders
- Dynamically show progress only for the active client workspace
- Correctly run tasks based on active text editor rather than last opened Rust file
- Use smooth, universally supported spinner in the status bar ⚙️
- Remove redundant
rust-client.nestedMultiRootConfigInOutermost
setting (originally used to work around non-multi-project limitations) - Ignore setting
rust-client.enableMultiProjectSetup
(it's always on by default) - Fix support for multiple VSCode workspaces
- Fix a bug where rustup didn't install all of the required components for the RLS
- Don't warn on custom
rust-client.channel
value such as1.39.0
in properties.json - Add a new
default
value forrust-client.channel
(same as setting it explicitly tonull
) - Add a self-closing angular (
>
) bracket whenever opening one (<
) has been typed - Refresh the RLS spinner 🌕
- Fix project layout detection bugs on Windows when using the
enableMultiProjectSetup
option - Prevent hover with function signature from being shown when declaring the function
- Limit scope of few extension-specific settings to
machine
- Bump required VSCode to 1.36
- Change
thread::spawn
snippet to activate onthread_spawn
prefix - Use dynamic
wait_to_build
in RLS by default rather than setting it to 1500ms
- Implement support for multi-project workspace layout 🎉
- Remove deprecated
rust.use_crate_blacklist
configuration entry
This minor release was possible thanks to:
- Alex Tugarev
- Igor Matuszewski
- Jannick Johnsen
- lwshang
- Nickolay Ponomarev
(Generated via git shortlog -s --no-merges 0.6.0...0.7.0 | cut -f2 | sort
)
- Fix
rust-client.channel
config type in package.json
- Deprecate
rust.use_crate_blacklist
in favor of newly addedrust.crate_blacklist
(supported by RLS 1.38) - Expand
~
inrust-client.{rustup,rls}Path
settings - Deprecate
rust-client.useWSL
setting (use Remote - WSL extension instead)
- Fix Cargo task auto-detection
- Implement function signature help tooltip
- Updat
print(ln)
macro snippets - Introduce
rust-client.nestedMultiRootConfigInOutermost
- Show Rust toolchain/RLS component installation progress with user-visible task pane
- Fix overriding Rustup-enabled RLS with custom
rust-client.rlsPath
setting - Fix duplicated diagnostics originating from the build tasks
- Spawn RLS at the respective workspace folder
- Fix
rust-client.logToFile
on Windows - Fix
Unknown RLS configuration: `trace
- Let Racer generate and use its
RUST_SRC_PATH
env var - Remove support for deprecated
rustDocument/{beginBuild,diagnosticsEnd}
messages - Surface and handle more erorrs wrt. RLS spawn error
- Stop warning against deprecated
RLS_{PATH,ROOT}
env vars - Stop warning against deprecated
rls.toml
- Don't change
$PATH
for the VSCode process when modifying it for the RLS - Fix URI path conversion in Problems Pane on Windows
This release was possible thanks to:
- Bastian Köcher
- Igor Matuszewski
- John Feminella
- Przemysław Pietrzkiewicz
- Radu Matei
- Ricardo
- SoftwareApe
- TheGoddessInari
- angusgraham
- enzovitaliy
- Fix bug due to Rustup changes in 1.17
- Remove
goto_def_racer_fallback
(replaced withracer_completion
) - Add WSL support
- Revert Cargo.toml changes
- Prefer workspace Cargo.toml to local ones
- Try harder to find Cargo.toml
- Account for the
rls-preview
torls
component name change (and remove therust-client.rls-name
option)
- Added
build_command
setting - Work better without Rustup
- Fix some bugs with VSCode workspaces
- Can use an external Rustfmt using
rust.rustfmt_path
option - snippets for test, derive, and cfg
- fix a bug where the Rust sysroot was set to an invalid value
- Fix a bug in the
rust.clippy_preference
setting.
- Fix some Windows bugs
- add the
rust.clippy_preference
setting. - Fix some Rustup/installation bugs
- Fix missing tasks in recent versions of VSCode
- Support VSCode workspaces
- Code lens for running unit tests
- Undo the change to target directory default (unnecessary with Rust 1.26.1)
- Update the VSCode client library dependency
- Fix the target directory
- Set the target directory default to work around a but in the stable RLS
extern crate
snippet- remove non-workspace mode
- Added
rust-client.rlsPath
setting for easier RLS development and debugging (and deprecated therls.path
setting) - Bug fixes for race conditions.
- Increased the default
rust.wait_to_build
time. - Updated LS client
- Added
cargo bench
task - Added
rust.target_dir
andrust.all_targets
settings
- Added
rust.racer_completion
to allow disabling racer to work around a performance issue. - Spinner UI improvements.
- Added a
cargo check
task. - The local active toolchain channel is now the default
rust-client.channel
. - Added
rust.jobs
to allow limiting the number of parallel Cargo jobs. - Added support for workspaces.
- Improved startup experience when using workspaces.
- Deglob is now a code action instead of a command.
- Warns and no longer crashes RLS if a single file is opened instead of a folder.
- Warns if Cargo.toml is not in the root of a workspace.
- Added
rust-client.rustupPath
to override rustup location. - Added properties to control enabling of Cargo features.
- Fixed an issue where nightly was used instead of the configured channel.
- Bug fix in RLS detection.
- Change the default for
rust-client.rls-name
torls-preview
to handle the renaming of the RLS. - Remove
rust-client.showStdErr
property.
- Warns if Config.toml is missing (likely due to opening a Rust file outside a project, which previously crashed)
- Automatically continue line comments
- Automatically set LD_LIBRARY_PATH (only useful when not using Rustup)
- Configure the toolchain and component name for the RLS
- Command to restart the RLS
- Better workflow around creating build tasks
- A better logo - more colour!
- Highlights errors from build tasks
- Find all impls
- Adds cargo clean task
- Auto-detect
--lib
or--bin
- Adds an opt-out option for creating tasks.json
- Add a command to update the RLS and an option to do so on startup
- Deprecate
RLS_PATH
andRLS_ROOT
env vars - Changes to the RLS:
- Easier to use deglob refactoring
- Debugging and troubleshooting instructions
- Fix bug installing the rls
- Unicode (fixed width) spinner
- Logging and debugging options in configuration
- Deglob command is in the Rust category
- Don't check tests by default (still configurable)
- Set
RUST_SRC_PATH
for Racer - Travis CI for the repo
- Performance and robustness improvements in the RLS, support for required options
here, including
- blacklist large and non-very useful crates (configurable)
- configure compiler data
- don't error on missing options
- stabilise renaming
- don't crash on non-file URLs
- Racer and Rustfmt updates
- only use Racer for code completion (never for 'goto def', still configurable)
- improve startup build/index time
- handle stale compiler data better
- add an option to only build/index on save (not on change)
- rebuild if Cargo.toml changes
- First release