Создавать характерные зависания для каждого слова для API расширения VSCode?

У меня есть текст в VSCode вот так;

"The quick brown fox jumps over the lazy dog"

Я работаю над расширением и хочу иметь возможность наводить курсор на каждое слово с помощью регулярного выражения (или чего-то еще) и видеть отличительную дополнительную информацию о слове в предложении.

Как добавить параметры, которые позволяют это сделать?

Фрагмент (вставленный ниже) отключен кодом VS работает, но он предоставляет одинаковую информацию о наведении «Информация о наведении для слова» для каждого слова в предложении.

vscode.languages.registerHoverProvider('plaintext', {
  provideHover(document, position, token) {
    return {
      contents: ['Hover information for word']
    };
  }
});

Я хочу, чтобы каждое слово в предложении имело свою уникальную информацию Hover.

Например, при наведении курсора на «лису» может отображаться «дикое животное», а при наведении курсора на «собаку» отображается «домашнее животное».

Зод: сила проверки и преобразования данных
Зод: сила проверки и преобразования данных
Сегодня я хочу познакомить вас с библиотекой Zod и раскрыть некоторые ее особенности, например, возможности валидации и трансформации данных, а также...
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Как заставить Remix работать с Mantine и Cloudflare Pages/Workers
Мне нравится библиотека Mantine Component , но заставить ее работать без проблем с Remix бывает непросто.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
TypeScript против JavaScript
TypeScript против JavaScript
TypeScript vs JavaScript - в чем различия и какой из них выбрать?
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Синхронизация localStorage в масштабах всего приложения с помощью пользовательского реактивного хука useLocalStorage
Не все нужно хранить на стороне сервера. Иногда все, что вам нужно, это постоянное хранилище на стороне клиента для хранения уникальных для клиента...
Что такое ленивая загрузка в Angular и как ее применять
Что такое ленивая загрузка в Angular и как ее применять
Ленивая загрузка - это техника, используемая в Angular для повышения производительности приложения путем загрузки модулей только тогда, когда они...
1
0
571
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
const wordRange = document.getWordRangeAtPosition(position);
const word = document.getText(wordRange);
const map = {
    fox: 'wild',
    dog: 'domestic',
};
return new vscode.Hover(map[word]);

Хотя этот код может ответить на вопрос, лучше объяснить, как решить проблему, и предоставить код в качестве примера или ссылки. Ответы, содержащие только код, могут сбивать с толку и не иметь контекста.

Dima Kozhevin 10.05.2019 14:35

Не могли бы вы подробнее рассказать о том, как это использовать? Например, как мне отнести слово "лиса" к ховеру "дикое животное"

M4X_ 10.05.2019 15:05

Другие вопросы по теме