Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"duplicated RLS configuration" each time RLS is started inside VSCode

I upgraded my Rust environment via rustup update recently, then my VSCode reports an error each time I open my editor. Two repeated windows pop up at the bottom right corner of the editor, showing that

Duplicated RLS configuration: rustfmt_path:rustfmt_path,rustfmt_path,,
Source: Rust (rls) (Extension)

I can open VSCode's default settings.json and indeed find duplicated entries, but I'm not able to delete them.

Restarting the extension can reproduce the problem, and I don't even know if the plugin itself is working properly or not.

like image 876
Fei Avatar asked Apr 26 '19 12:04

Fei


Video Answer


2 Answers

I've been through the same problem. I am not exactly sure of the proper solution but these workarounds have solved my problem.

  1. Remove all VSCode extensions that are Rust-related.
  2. Remove any Rust-related configuration in VSCode settings.json.
  3. If you are using Linux and you have done a lot of playing around, sometimes $HOME/.cargo/registry may be corrupt, so remove that folder if it helps.
  4. Restart VSCode.
  5. Install these extensions in order:

    • Rust RLS official extension

      Do not install Rust kalitaalexey (Seems to be the conflicting cause).

    • Rust Assist extension.

    • vscode-rust-syntax extension.

    • vsc-rustfmt extension.

    • Cargo extension.

    • Better TOML

The combination of these extensions work OK for me. Specifically, the syntax formatting works with Ctrl+Shift+I and saving the file automatically does that.

One last hint: Opening 2 Rust project folders in VSCode at the same time may cause an error message that states Unable to find root directory. Try to avoid that.

like image 55
Arto Kalishian Avatar answered Oct 23 '22 02:10

Arto Kalishian


You most likely have two VS Code extensions installed that do the same thing. That was at least the problem in my case.

Uninstall the extension Rust by kalitaalexey and keep the "official" extension Rust (rls) maintained by the Rust Language development team.

like image 44
Emanuel Lindström Avatar answered Oct 23 '22 01:10

Emanuel Lindström