【问题标题】:How can I confirm that Eclipse content assist works in Corrosion?如何确认 Eclipse 内容辅助在 Corrosion 中有效?
【发布时间】:2018-10-24 10:29:56
【问题描述】:

我想我会选择 Rust,所以我将它与 Corrosion for Eclipse 一起安装。腐蚀的描述如下:

Corrosion 提供了一个丰富而智能的 Rust 编辑器: - 语法高亮(使用 TextMate 语法)和错误报告,悬停。 内容辅助。跳转到 Rust 语言服务器提供的引用、代码大纲、格式化...

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

Eclipse 中的 RLS 设置设置为“使用 Rustup”——不太确定这意味着什么。安装 RLS 后,Eclipse 的 Rust 设置页面上唯一的警告(关于缺少 RLS)就消失了,所以我假设它检测到了它。

尽管按下 ^Space 时没有任何反应,这是当前绑定的内容辅助快捷方式(例如,在键入 use std:: 或类似之后)。由于我不知道 Corrosion 会发生什么,我不知道是否存在问题或如何解决它。

我应该从这个内容辅助中得到什么?

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

【问题讨论】:

    标签: eclipse rust


    【解决方案1】:

    内容辅助的proposals来自viaLanguage Server Protocol (LSP)来自 Rust,Eclipse Corrosion 仅显示它们。更准确地说,可执行文件rls (rust language server) 是 rust 版本的一部分,它使通过 LSP 提出建议。

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

    使用下面的简单代码 sn -p 可以检查 Eclipse Corrision 是否配置正确并且 LSP 是否正常工作:

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

    如果将光标设置为第一个foo,则应突出显示第一个和最后一个foo,而不是两个内部的@(这也是通过LSP实现的):

    【讨论】:

    • 谢谢,这正是我所需要的。我现在可以得出结论,它不起作用——根本没有突出显示。
    • 我明白了。我猜你必须在 Window > Preferences: Rust 中修复一些东西,或者你的 Rust 安装有问题,或者两者不适合。在 Windows 上,Rust 语言服务器位置 设置为 其他安装rls 路径 C:\Users\User\.rustup\toolchains\beta-x86_64-pc-windows-msvc\bin\rls.exe 适合我。
    • 感谢您的建议。我在 macOS 上,但是将 Rust 语言服务器位置从默认的“使用 Rustup”更改为“其他安装”的预填充值并重新启动似乎已经成功了。突出作品,以及^Space。我不确定为什么默认设置被破坏 - rustup 已安装并正常工作。
    • 也许您首先必须 install and activate a toolchain via Rustup (on the command line) 才能使用 Use Rustup 首选项。
    【解决方案2】:

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

    我不知道问题出在哪里。

    事实证明,上面讨论的实际符号突出显示在 Eclipse 的深色主题(白色背景上的白色文本)中被破坏了,无法在首选项中更改它有一个模糊的设置为此(请参阅@howlger 的评论),所以最终 Eclipse 被证明不是一个真正的竞争者是一个真正的麻烦。如果您像我一样需要深色主题,这只是一个警告。

    【讨论】:

    • 这些事件的背景颜色可以在Window > Preferences: General > Editors > Text Editors > Annotations: LSP Text Occurrences中配置。或者右键单击并选择切换到主题...> Monokai。请在此处报告此问题:bugs.eclipse.org/bugs/…
    • @howlger 哦,哇,你说对了,就是这样。我用谷歌搜索并在两个单独的颜色偏好面板中进行了实验,但结果都是空的。一百年后我不会发现。关于这个错误,请随时报告——我目前正在等待解决 eclipse.org 上处理帐户的错误,然后再决定是否继续使用我的帐户。
    • 如果有人想成为英雄并修复错误(不仅影响 Eclipse Corrision),Eclipse EclEmma 也有同样的问题(注释颜色不适用于深色主题):github.com/eclipse/eclemma/commit/…
    • 我报告了这个问题并提供了一个修复程序(尽管出于人体工程学原因我自己更喜欢浅色主题):请参阅 Eclipse bug 540531。事实证明,一切都在那里,但只有一个文件被忘记包含在构建中。此类问题仅在内置插件时可见,在开发过程中不可见。不幸的是,之前没有报告该错误。如果您不想等到下一个版本,还有一个workaround
    • @howlger ? 很好。谢谢你的建议——我刚换了颜色,现在效果还不错。仅在晚上才需要深色主题。如果可以的话,我会让它在特定时间自动切换,但由于甚至 macOS 似乎都没有考虑过这个显而易见的事情,所以我将永久启用它:)
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-29
    • 2017-06-28
    • 2011-09-13
    相关资源
    最近更新 更多