Open thomak-dev opened 7 years ago
Have the same error on linux:
Unable to open 'option.rs': File not found (/checkout/src/libcore/option.rs).
Version of VSCode: 1.14.2 Version of the extension: 0.4.2
Same here, even after adding modifying the "rust.rustLangSrcPath"
option
Same here. I resolved it by creating a symbolic link under /checkout to my src folder like this:
ln -s /home/username/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust /checkout
Works fine but it is just a workaround. Seems like the plugin ignores the rust.rustLangSrcPath
and uses /checkout everytime as the path to src.
Same problem here, it looks in the same project
My rust settings are
"rust.rustup": {
"toolchain": "nightly-x86_64-apple-darwin",
"nightlyToolchain": "nightly-x86_64-apple-darwin"
},
"rust.mode": "rls",
"rust.rls": {
"useRustfmt": true
},
"rust.rustLangSrcPath": "/Users/mrkaspa/rust/src"
@asteinba what is the absolute path where your dir "/checkout" is under?
@achillesss "/checkout" is the absolute path. Just created the symlink under "/".
@asteinba i've tried your method, it seems doesn't work for me. thanks anyway 👍
This seems to be related to https://github.com/rust-lang-nursery/rls/issues/227. Since that bug is long-standing and it seems unclear whether it'll be fixed anytime soon, is it possible to implement some temporary workaround in this project?
@achillesss, I was able to temporarily fix it be running ln -s ~/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/src/rust/src /src
since my error was Unable to open 'stdio.rs': File not found (file:///src/libstd/io/stdio.rs).
. Maybe you can try that
@BrainMaestro The same trick works for windowsers: I used the following command (that creates a *nix-like symbolic link, not a windows shortcut) in a cmd.exe with Admin rights:
mklink /D "C:\Program Files\Microsoft VS Code\src" "C:\Users\<USER>\.rustup\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src"
@odalet tried it but not working for me in Windows 10. Still tries to pick up from \<projectdir>/src/libcore/convert.rs
Has anyone else fixed it?
@MStr3am This trick does work for me, did you change his directories to match yours? This is what I had to do:
mklink /D "C:\projects\rust\src\" "C:\Users\miket.multirust\toolchains\nightly-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src"
Version of VSCode: 1.14.2 Version of the extension: 0.4.2 OS: Windows 10 Pro
When I try to go to definition of some std code, for example String::new, I get "Unable to open 'string.rs': File not found..." followed by the path to my project where it of course can't find string.rs.
When I try it with legacy mode, it opens the Rust source code, as expected.
I already tried rustup component add rust-src --toolchain nightly rustup component add rust-src --toolchain stable
Output of the "Rust logging" channel: DEBUG: Rustup: updateToolchains: this.toolchains=[{"channel":"stable","host":"x86_64-pc-windows-msvc","isDefault":true},{"channel":"nightly","host":"x86_64-pc-windows-msvc","isDefault":false}] DEBUG: activate: processPossibleSetButMissingUserToolchain: toolchainKind=toolchain DEBUG: activate: processPossibleSetButMissingUserToolchain: user toolchain is installed DEBUG: Rustup: updateComponents(stable-x86_64-pc-windows-msvc): components=["cargo-x86_64-pc-windows-msvc (default)","rust-analysis-x86_64-pc-windows-msvc","rust-docs-x86_64-pc-windows-msvc (default)","rust-src (installed)","rust-std-aarch64-apple-ios","rust-std-aarch64-linux-android","rust-std-aarch64-unknown-fuchsia","rust-std-aarch64-unknown-linux-gnu","rust-std-arm-linux-androideabi","rust-std-arm-unknown-linux-gnueabi","rust-std-arm-unknown-linux-gnueabihf","rust-std-arm-unknown-linux-musleabi","rust-std-arm-unknown-linux-musleabihf","rust-std-armv7-apple-ios","rust-std-armv7-linux-androideabi","rust-std-armv7-unknown-linux-gnueabihf","rust-std-armv7-unknown-linux-musleabihf","rust-std-armv7s-apple-ios","rust-std-asmjs-unknown-emscripten","rust-std-i386-apple-ios","rust-std-i586-pc-windows-msvc","rust-std-i586-unknown-linux-gnu","rust-std-i686-apple-darwin","rust-std-i686-linux-android","rust-std-i686-pc-windows-gnu","rust-std-i686-pc-windows-msvc","rust-std-i686-unknown-freebsd","rust-std-i686-unknown-linux-gnu","rust-std-i686-unknown-linux-musl","rust-std-mips-unknown-linux-gnu","rust-std-mips-unknown-linux-musl","rust-std-mips64-unknown-linux-gnuabi64","rust-std-mips64el-unknown-linux-gnuabi64","rust-std-mipsel-unknown-linux-gnu","rust-std-mipsel-unknown-linux-musl","rust-std-powerpc-unknown-linux-gnu","rust-std-powerpc64-unknown-linux-gnu","rust-std-powerpc64le-unknown-linux-gnu","rust-std-s390x-unknown-linux-gnu","rust-std-sparc64-unknown-linux-gnu","rust-std-wasm32-unknown-emscripten","rust-std-x86_64-apple-darwin","rust-std-x86_64-apple-ios","rust-std-x86_64-linux-android","rust-std-x86_64-pc-windows-gnu","rust-std-x86_64-pc-windows-msvc (default)","rust-std-x86_64-rumprun-netbsd","rust-std-x86_64-unknown-freebsd","rust-std-x86_64-unknown-fuchsia","rust-std-x86_64-unknown-linux-gnu","rust-std-x86_64-unknown-linux-musl","rust-std-x86_64-unknown-netbsd","rustc-x86_64-pc-windows-msvc (default)",""] DEBUG: RlsMode: start: enter DEBUG: RlsMode: start: no RLS executable DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: toolchainKind=nightly toolchain DEBUG: RlsMode: start: processPossibleSetButMissingUserToolchain: user nightly toolchain is installed DEBUG: Rustup: updateComponents(nightly-x86_64-pc-windows-msvc): components=["cargo-x86_64-pc-windows-msvc (default)","rls-x86_64-pc-windows-msvc (installed)","rust-analysis-x86_64-pc-windows-msvc (installed)","rust-docs-x86_64-pc-windows-msvc (default)","rust-src (installed)","rust-std-aarch64-apple-ios","rust-std-aarch64-linux-android","rust-std-aarch64-unknown-fuchsia","rust-std-aarch64-unknown-linux-gnu","rust-std-arm-linux-androideabi","rust-std-arm-unknown-linux-gnueabi","rust-std-arm-unknown-linux-gnueabihf","rust-std-arm-unknown-linux-musleabi","rust-std-arm-unknown-linux-musleabihf","rust-std-armv7-apple-ios","rust-std-armv7-linux-androideabi","rust-std-armv7-unknown-linux-gnueabihf","rust-std-armv7-unknown-linux-musleabihf","rust-std-armv7s-apple-ios","rust-std-asmjs-unknown-emscripten","rust-std-i386-apple-ios","rust-std-i586-pc-windows-msvc","rust-std-i586-unknown-linux-gnu","rust-std-i686-apple-darwin","rust-std-i686-linux-android","rust-std-i686-pc-windows-gnu","rust-std-i686-pc-windows-msvc","rust-std-i686-unknown-freebsd","rust-std-i686-unknown-linux-gnu","rust-std-i686-unknown-linux-musl","rust-std-mips-unknown-linux-gnu","rust-std-mips-unknown-linux-musl","rust-std-mips64-unknown-linux-gnuabi64","rust-std-mips64el-unknown-linux-gnuabi64","rust-std-mipsel-unknown-linux-gnu","rust-std-mipsel-unknown-linux-musl","rust-std-powerpc-unknown-linux-gnu","rust-std-powerpc64-unknown-linux-gnu","rust-std-powerpc64le-unknown-linux-gnu","rust-std-s390x-unknown-linux-gnu","rust-std-sparc64-unknown-linux-gnu","rust-std-wasm32-unknown-emscripten","rust-std-x86_64-apple-darwin","rust-std-x86_64-apple-ios","rust-std-x86_64-linux-android","rust-std-x86_64-pc-windows-gnu","rust-std-x86_64-pc-windows-msvc (default)","rust-std-x86_64-rumprun-netbsd","rust-std-x86_64-unknown-freebsd","rust-std-x86_64-unknown-fuchsia","rust-std-x86_64-unknown-linux-gnu","rust-std-x86_64-unknown-linux-musl","rust-std-x86_64-unknown-netbsd","rustc-x86_64-pc-windows-msvc (default)",""] DEBUG: RlsMode: processPossiblyMissingRlsComponents: RLS is installed DEBUG: RlsMode: processPossiblyMissingRlsComponents: rust-analysis is installed DEBUG: RlsMode: start: User decided to use rustfmt DEBUG: RlsMode: start: rlsPath=rustup DEBUG: RlsMode: start: env={"RUST_SRC_PATH":"C:\Users\thomak\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\src\rust\src"} DEBUG: RlsMode: start: args=["run","nightly-x86_64-pc-windows-msvc","rls"] DEBUG: RlsMode: start: revealOutputChannelOn=3 DEBUG: RlsMode: start: Language Client Manager: start