Как мне предоставить информацию о параметрах метода с языкового сервера?

Я пытаюсь реализовать языковой сервер для кода Visual Studio для языка, вызов метода которого похож на JavaScript (имя метода плюс параметры в скобках).

Я хотел бы предоставить информацию о параметрах (имя и тип) после того, как пользователь ввел метод и скобки в зависимости от положения курсора внутри скобок. Например, при кодировании в Typescript в vscode, если я набираю:

Math.pow(

Я получаю всплывающую подсказку, показывающую подпись метода и имя первого параметра, и набираю жирным шрифтом:

подсказка к первому параметру

затем, когда я ввожу первый параметр и ввожу запятую, всплывающая подсказка предлагает подробную информацию о втором параметре:

всплывающая подсказка по второму параметру

Мне удалось найти способ обеспечить автозаполнение имени метода, но не поведение, описанное выше для параметров. Есть ли пример или руководство о том, как вызвать эту всплывающую подсказку из расширения языкового сервера в Visual Studio Code?


person Juan Tarquino    schedule 08.01.2016    source источник
comment
В дополнение к приведенному примеру реализации имеется также минимальная документация в Руководство по расширению языка и в API пространства имен vscode.   -  person mtbrown    schedule 30.08.2017


Ответы (1)


Я нашел пример в официальном исходном коде расширения php. Мне просто нужно было реализовать SignatureHelpProvider.

person Juan Tarquino    schedule 08.01.2016