Ссылки на разметку текста при наведении курсора на LSP из C # не работают

Я работаю над расширением VSCode с LSP (реализовано на C # / Omnisharp). Я реализовал свой поставщик языкового наведения в LSP, и он работает нормально. Однако я хочу добавить интерактивную ссылку на команду [vscode] при наведении курсора. Я сделал это перед использованием уценки в расширенном коде Typescript, таком как [Label] (command: some-command), но это не работает из кода LSP C #. Оттуда он просто отображает простой текст как Label, но не как интерактивную ссылку URI. Если Uri является обычной ссылкой https, он работает, но не если это URI vscode. Кто-нибудь знает магию включения ссылок на команды vscode в уценке из кода LSP C #?




Ответы (1)


Вам нужно установить флаг markdown content isTrusted, чтобы ссылки работали. Для сервера расширения языка вам необходимо отредактировать LanguageClientOptions в файле машинописного текста клиента.

let clientOptions: LanguageClientOptions = {
    markdown: {
        isTrusted: true,
    },
}

let client = new LanguageClient('myClient', 'My Client', serverOptions, clientOptions);

Это описано на их GitHub в этой проблеме.

person Matt    schedule 09.03.2021