- 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-gnuornightly-x86_64-msvc - Remove deprecated
rust-client.useWslsetting (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.nestedMultiRootConfigInOutermostsetting (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.channelvalue such as1.39.0in properties.json - Add a new
defaultvalue 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
enableMultiProjectSetupoption - 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::spawnsnippet to activate onthread_spawnprefix - Use dynamic
wait_to_buildin RLS by default rather than setting it to 1500ms
- Implement support for multi-project workspace layout 🎉
- Remove deprecated
rust.use_crate_blacklistconfiguration 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.channelconfig type in package.json
- Deprecate
rust.use_crate_blacklistin favor of newly addedrust.crate_blacklist(supported by RLS 1.38) - Expand
~inrust-client.{rustup,rls}Pathsettings - Deprecate
rust-client.useWSLsetting (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.rlsPathsetting - Fix duplicated diagnostics originating from the build tasks
- Spawn RLS at the respective workspace folder
- Fix
rust-client.logToFileon Windows - Fix
Unknown RLS configuration: `trace - Let Racer generate and use its
RUST_SRC_PATHenv 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
$PATHfor 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-previewtorlscomponent name change (and remove therust-client.rls-nameoption)
- Added
build_commandsetting - Work better without Rustup
- Fix some bugs with VSCode workspaces
- Can use an external Rustfmt using
rust.rustfmt_pathoption - 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_preferencesetting.
- Fix some Windows bugs
- add the
rust.clippy_preferencesetting. - 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 cratesnippet- remove non-workspace mode
- Added
rust-client.rlsPathsetting for easier RLS development and debugging (and deprecated therls.pathsetting) - Bug fixes for race conditions.
- Increased the default
rust.wait_to_buildtime. - Updated LS client
- Added
cargo benchtask - Added
rust.target_dirandrust.all_targetssettings
- Added
rust.racer_completionto allow disabling racer to work around a performance issue. - Spinner UI improvements.
- Added a
cargo checktask. - The local active toolchain channel is now the default
rust-client.channel. - Added
rust.jobsto 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.rustupPathto 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-nametorls-previewto handle the renaming of the RLS. - Remove
rust-client.showStdErrproperty.
- 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
--libor--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_PATHandRLS_ROOTenv 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_PATHfor 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