我以为我会拿起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)
答案 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实现):
答案 1 :(得分:0)
最终解决了根本问题的方法是将Rust语言服务器位置从默认的“使用Rustup”更改为“其他安装”的预填充值,然后重新启动。
我不知道问题出在什么地方。
事实证明,上面讨论的实际符号突出显示在Eclipse的深色主题(白色背景上的白色文本)中被破坏了,无法在喜好中对其进行更改为此(请参阅@howlger的评论),因此最终Eclipse证明不是一个真正的竞争者是一个真正的麻烦。如果您像我一样对黑暗主题有个要求,则只是警告。