Как я могу подтвердить, что Eclipse Content Assist работает в Corrosion? - PullRequest
0 голосов
/ 22 октября 2018

Я думал, что подберу Rust, поэтому я установил его вместе с Corrosion для Eclipse.Описание Corrosion гласит:

Corrosion предоставляет богатый и умный редактор Rust с: - Подсветкой синтаксиса (с использованием грамматики TextMate) и отчетом об ошибках, Hover. Содержание помощи .Перейти к ссылкам, наброску кода, форматированию ... предоставлен языковым сервером Rust

Я убедился, что установил RLS, и автозаполнение, похоже, работает без проблем в IntelliJ IDEA, поэтому я предполагаю, чтоустановка прошла успешно.

Настройка RLS в Eclipse установлена ​​на «Использовать 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)

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Что окончательно решило основную проблему - изменить расположение сервера Rust Language Server по умолчанию «Использовать Rustup» на предварительно заполненные значения «Другая установка» и перезапустить.

Я не знаю, чтопроблема была, однако.

Оказалось, что фактическое выделение символов, рассмотренное выше, нарушено в темной теме Eclipse (белый текст на белом фоне), без возможности изменить ее в настройках есть неясная настройка для этого (см. Комментарий @ howlger), так что в итоге Eclipse оказался не серьезным соперником, настоящим хлопотом.Просто предупреждение, если у вас, как и у меня, темная тема как требование.

0 голосов
/ 22 октября 2018

предложений из справки по контенту приходят через Протокол языкового сервера (LSP) от Rust ,Eclipse Corrosion только отображает их.Точнее, исполняемый файл rls ( r ust l anguage s erver), являющийся частью версии с ржавчиной, вносит предложения через LSP.

Поэтому сделанные предложения зависят от версии Rust .С Rustup вы можете установить несколько версий параллельно и поддерживать их в актуальном состоянии.

С помощью следующего простого фрагмента кода вы можете проверить, правильно ли настроен Eclipse Corrision и работает ли LSP:

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

Если курсор установлен на первый foo, первый и последний foo, но не два внутренних, должны быть выделены (что также реализовано через LSP):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...