ZoeyR / rls-vs2017

Rust extension for Visual Studio 2017 with RLS support
MIT License
110 stars 12 forks source link

'required components not installed' message, even when they are #12

Closed rich-newman closed 5 years ago

rich-newman commented 5 years ago

Currently the nightly toolchain does not include rls-preview. So it doesn't work with the extension.  I see in other issues the suggestion is to use stable or nightly-2017-12-08 toolchains in this case.

However if I do this I get the message 'required components are not installed' every time the extension loads, even if the toolchain and components have all been installed correctly.  If I click Install the extension does start, but this is obviously confusing.

That's the issue, but I dug further.  A little debugging shows that the reason is that the code is checking for rls-preview in the output of a component list for the toolchain.  However, the component list has an entry for 'rls' NOT for 'rls-preview' as below.

rls-x86_64-pc-windows-msvc (installed)

So the test fails even though rls-preview has been successfully installed.  From a command prompt 'rustup component add rls-preview --toolchain stable' gives message 'info: component 'rls' for target 'x86_64-pc-windows-msvc' is up to date'.

I'm unsure if this has changed, or if there's another reason for searching for rls-preview, or if it's just a bug.  The fix looks easy, and I'm happy to raise a PR for it if it is just changing 'rls-preview' to 'rls' in the appropriate bit of the code.

Environment: Win 10 1809 installed in a clean VM, VS 2017 Community 15.9.4, rustup 1.16.0, rustc 1.31.1, cargo 1.31.0, stable toolchain, rls-preview 1.31.7

ZoeyR commented 5 years ago

Ah yes, the issue would be that they recently changed the name from rls-preview to just rls. For legacy reasons rustup component add rls-preview still works but the check will fail.

ZoeyR commented 5 years ago

Fixed as of 0.4.6