Vscode-rust: GoTo 定义总是失败

创建于 2017-11-04  ·  24评论  ·  资料来源: rust-lang/vscode-rust

Rust: rustc 1.23.0-nightly (59d484575 2017-11-03)
锈迹:0.3.1
操作系统:Windows 10 Pro 64 位最新版

它总是失败。 但它能够在工具提示中显示符号名称。

extern crate rand;

use std::io;
use std::cmp::Ordering;
use rand::Rng;

fn hello(){ println!("{}", "Hello!")}

fn main () {
    println!("Guess the number!");
    let secret_number = rand::thread_rng().gen_range(1, 100);
    println!("Please input your guess.");
    let mut guess = String::new();
    io::stdin().read_line(&mut guess).expect("Failed to read line");
    println!("You guessed: {}", guess);
    let num : u32 = guess.trim().parse().expect("Please type a number!");
    match num.cmp(&secret_number) {
        Ordering::Less => println!{"Too small!"},
        Ordering::Greater => println!("Too big!"),
        Ordering::Equal => println!("You win!")
    }
    hello();
}

最有用的评论

尝试构建时出错,RLS 功能将受到限制。 尝试运行货物检查以获取更多信息。

我已经登陆了一堆补丁来帮助这里。 他们目前在 master 上,但还没有在 nightly 上。 我还有一件更大的事情要降落,然后将更新 rustup nightlies。 不幸的是,这个过程需要一段时间,所以在每晚反映改进之前可能需要几天到一周的时间。

所有24条评论

左下角还有一个不断滚动的圆圈(RLS:工作)。

微调器仍在运行表明分析尚未完成,这就是 goto def 不起作用的原因。 可以尝试启用日志记录来尝试更多有关问题的信息吗? 说明在debugging.md 中。

@nrc我更新了 nightly rust,重新安装了扩展(0.3.2)并在日志中找到

线 '' 在'需要指定 SYSROOT 或 RUSTC 环境变量,或 rustc 必须在 PATH' 中恐慌',src\libcore\option.rs:839:4
注意:使用RUST_BACKTRACE=1运行以进行回溯。

但是“rustc --version”命令在 Windows 的 cmd 和 PowerShell 中都能成功运行。

@AnyCPU您可以尝试使用rustup update来获取最新的 RLS,然后重新打开 VSCode,看看是否有帮助?

刚刚试了一下,还是不行:(

 nightly-x86_64-pc-windows-gnu updated - rustc 1.23.0-nightly (79cfce3d3 2017-11-12)
 nightly-x86_64-pc-windows-msvc updated - rustc 1.23.0-nightly (79cfce3d3 2017-11-12)
thread '<unnamed>' panicked at 'could not run cargo: CargoError(Msg("failed to run `rustc` to learn about target-specific information"), State { next_error: Some(CargoError(ProcessErrorKind(ProcessError { desc: "process didn\'t exit successfully: `rustc - --crate-name ___ --print=file-names --error-format=json -Zcontinue-parse-after-error -Zsave-analysis -Zunstable-options --target x86_64-pc-windows-msvc --crate-type bin --crate-type proc-macro --crate-type rlib` (exit code: 101)\n--- stderr\nerror: the option `Z` is only accepted on the nightly compiler\n\n", exit: Some(ExitStatus(ExitStatus(101))), output: Some(Output { status: ExitStatus(ExitStatus(101)), stdout: "", stderr: "error: the option `Z` is only accepted on the nightly compiler\n\n" }) }), State { next_error: None, backtrace: None })), backtrace: None })', src\libcore\result.rs:906:4
note: Run with `RUST_BACKTRACE=1` for a backtrace.

@akappel我每晚都更新到 rustc 1.23.0-nightly (e21df8020 2017-11-13)。 我发现这个错误已修复,但我又提交了一个错误,请参阅https://github.com/rust-lang-nursery/rls-vscode/issues/189

即使使用 rustc 1.23.0-nightly (e21df8020 2017-11-13) 我仍然有错误
我尝试rustup default nightly并重新启动 VSCode,但如果我理解 Z 标志错误,它似乎仍在使用稳定版。 我如何告诉 Rust (rls) 插件每晚使用?

@Geobert我使用最新版本的 Windows 10 Pro 64 位、VS Code、Rust (rls) 扩展、Visual Studio 构建工具。 有用。
也许您在 VS Code 配置中进行了更改?

我需要为此使用夜间工具链吗? 回家后我会检查我的选择。 谢谢!

@Geobert现在建议每晚都在。

你是对的,卡在配置文件的中间,stable 被指定

nightly-x86_64-pc-windows-msvc unchanged - rustc 1.25.0-nightly (bacb5c58d 2018-01-26)
问题又出现了

@Geobert
最新的 ms c++ 构建工具和“nightly-x86_64-pc-windows-msvc 不变 - rustc 1.25.0-nightly (7d6e5b9da 2018-01-27)”运行良好。

更新到 01-27,仍然无法正常工作,我正在使用 MS C++ 构建工具 2015

nightly-x86_64-pc-windows-msvc updated - rustc 1.25.0-nightly (27a046e93 2018-02-18)
我得到了弹出消息栏的 VSCode:

尝试构建时出错,RLS 功能将受到限制。 尝试运行cargo check以获取更多信息。

但我已经在https://github.com/cobalt-org/cobalt.rs上运行了 cargo +nightly check 没有错误

@Geobert
我在 OSX 上有完全相同的消息。

它是一台新的笔记本电脑,只有 rustup 和 vscode

尝试构建时出错,RLS 功能将受到限制。 尝试运行货物检查以获取更多信息。

我已经登陆了一堆补丁来帮助这里。 他们目前在 master 上,但还没有在 nightly 上。 我还有一件更大的事情要降落,然后将更新 rustup nightlies。 不幸的是,这个过程需要一段时间,所以在每晚反映改进之前可能需要几天到一周的时间。

@nrc我每晚更新。 有些情况会得到修复,但不是全部。

let a = Arc::new(5);
let b = a.clone();

找到了“Arc”和“new”的定义,但“clone”的定义不是因为路径错误。

仍然被nightly-x86_64-pc-windows-msvc unchanged - rustc 1.26.0-nightly (2789b067d 2018-03-06)打破

Cobalt.rs项目没有任何代码导航。

有没有人对此有任何解决方法,自 1 月底以来我无法使用 RLS :(

只需了解RUST_LOG=rls=debug

恐怕帮助不大: https :

每晚看过一个新的但仍然坏了:((仍然是cobalt.rs项目)

nightly-x86_64-pc-windows-msvc updated - rustc 1.26.0-nightly (521d91c6b 2018-03-14)

https://gist.github.com/Geobert/892ef0dbec18e22c482ca1fbd3999ca1

OMG,通过重新安装我的系统找到了原因(解决无关的问题)。

为了构建 Cobalt,在终端中我需要调用 'C:\Program Files (x86)\Microsoft Visual Studio\2017BuildTools\VCAuxiliaryBuild\vcvars64.bat' 否则它不会因为 onig-sys 而构建

如果我在 bat 文件中启动 VSCode:

<strong i="8">@echo</strong> off
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvars64.bat"
start "" code

有用!

感谢@alexheretic ,如果 Cargo 无法构建依赖曲线。 我相信这不是问题,因此将关闭此问题,但如果情况仍然如此,请随时重新打开/评论!

此页面是否有帮助?
0 / 5 - 0 等级