Расширение VSCode: завершение токена, начинающегося с двоеточия

#visual-studio-code #vscode-extensions

Вопрос:

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

Например, чтобы завершить символ :foo, я набираю

 :f
 

и это показывает :foo в списке опций. Я нажимаю ввод или вкладку, чтобы выполнить завершение, и все заканчивается

 ::foo
 

Как мне заменить исходное двоеточие вместо добавления после него?

Комментарии:

1. Является : ли ваше завершение триггером? Вы должны показать больше своего кода completionProvider. Но вы, возможно, сможете решить эту проблему с помощью этого: myCompletion.range = new vscode.Range(position.line, position.character-1, position.line, position.character);

2. Я попытался добавить его в качестве триггера, но это ничего не изменило. Я попробую установить диапазон и посмотрю, сработает ли это.

Ответ №1:

Понял это. Основной проблемой был шаблон слова из языковой конфигурации. Я скопировал его откуда-то, и он исключил двоеточия.