#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:
Понял это. Основной проблемой был шаблон слова из языковой конфигурации. Я скопировал его откуда-то, и он исключил двоеточия.