如何确认Eclipse内容辅助功能可在Corrosion中使用?

时间:2018-10-22 04:46:45

标签: eclipse rust

我以为我会拿起Rust,所以我将它与Corrosion for Eclipse一起安装了。腐蚀的描述为:

  

Corrosion提供了一个丰富而智能的Rust编辑器,它具有:-语法突出显示(使用TextMate语法)和错误报告,悬停。 内容辅助。跳转到Rust语言服务器提供的参考,代码大纲,格式...

我已经确保安装RLS,并且自动完成功能在IntelliJ IDEA中似乎没有任何问题,因此我认为安装成功。

Eclipse中的RLS设置被设置为“ Use Rustup”(使用Rustup)-不确定是否需要这样做。 Eclipse的设置页面上关于Rust的唯一警告(关于缺少RLS)在我安装RLS之后就消失了,因此我认为它已检测到它。

尽管如此,按^ Space时什么也不会发生,这是当前用于内容辅助的快捷键(例如,在键入use std::或类似键之后)。由于我不知道从腐蚀中得到什么,所以我也不知道是否存在问题或如何解决它。

此内容助手有什么用?

$ cargo --version
cargo 1.29.0 (524a578d7 2018-08-05)
$ rustc --version
rustc 1.29.2 (17a9dc751 2018-10-05)

2 个答案:

答案 0 :(得分:2)

内容帮助的提案来自通过 Language Server Protocol (LSP) 来自Rust ,Eclipse Corrosion仅显示它们。更确切地说,可执行文件rls r 必须 l 语言 s erver),它是rust版本的一部分,通过LSP提出建议。

因此,提出的提案取决于Rust版本。使用Rustup,您可以并行安装多个版本并保持最新。

使用以下简单代码段,您可以检查Eclipse Corrision是否配置正确以及LSP是否有效:

fn main() {
    let foo = 1;
    {
        let foo = 2;
        println!("{}", foo);
    }
    println!("{}", foo);
}

如果将光标设置为第一个foo,则应该突出显示第一个和最后一个foo,而不是两个内部的window['elementId']; window.elementId; (也可以通过LSP实现):

enter image description here

答案 1 :(得分:0)

最终解决了根本问题的方法是将Rust语言服务器位置从默认的“使用Rustup”更改为“其他安装”的预填充值,然后重新启动。

我不知道问题出在什么地方。

事实证明,上面讨论的实际符号突出显示在Eclipse的深色主题(白色背景上的白色文本)中被破坏了,无法在喜好中对其进行更改为此(请参阅@howlger的评论),因此最终Eclipse证明不是一个真正的竞争者是一个真正的麻烦。如果您像我一样对黑暗主题有个要求,则只是警告。