Я нахожусь в процессе создания расширения VSCode для автодополнения кода для существующего API Lua.
У меня возникли некоторые проблемы с достижением следующего (примеры - JavaScript):
Я искал примеры и учебные пособия, но не нашел многого. Я предполагаю, что мне может понадобиться выполнить изрядную обработку строк вокруг текущей позиции курсора, чтобы получить достаточно данных для поиска соответствующей документации (которую я сохранил в массиве объектов json). Но в настоящее время я не знаю, как заставить диалоговое окно метаданных отображаться при вводе параметров.
P.S. Я просмотрел официальный образцы расширений.
На ваших снимках экрана показаны две функции VS Code:
На первом снимке экрана показан файл наведение / краткая информация. Он используется для отображения информации о текущем слове, над которым находится курсор. Чтобы добавить наведение, ваше расширение должно реализовать и зарегистрировать HoverProvider
На втором снимке экрана показан подсказки по параметрам / справка по подписи. Он отображает информацию для пользователя, когда он завершает вызов функции. Чтобы добавить справку по подписи, ваше расширение должно реализовать и зарегистрировать SignatureHelpProvider
В обоих случаях то, как вы реализуете функциональность, полностью зависит от вашего расширения. Большинство языковых расширений поддерживают структурное представление файла (например, АСТ) и используют его для предоставления справочной информации при наведении и подписи.
Вы также можете реализовать свое расширение как прямое расширение VS Code или использовать протокол языкового сервера (который работает в разных редакторах). См. Обзор языковых расширений VS Code для получения дополнительной информации о разработке расширения языка и о том, почему вы можете захотеть рассмотреть протокол языкового сервера.
Спасибо, это именно та информация, которая мне была нужна. Очень признателен.