Установить местоположение курсора в CompletionItem - PullRequest
2 голосов
/ 12 апреля 2019

Я хочу добавить числа к расширению sass-indentation, и я как-то разобрался, как это сделать, было бы неплохо, если бы я мог установить местоположение курсора при срабатывании предложения, так же, как вы можете установить местоположение курсора, когдаВы делаете фрагменты с $1, это возможно?

import { CompletionItem, CompletionItemKind } from 'vscode';

const sassSchemaTest = [
  {
    name: '%',
    body: '$1%', // I want the cursor location where the '$' sign is
    description: 'test'
  }
];

export default sassSchemaTest.map(item => {
  const completionItem = new CompletionItem(item.name);
  completionItem.insertText = item.body;
  completionItem.detail = item.description;
  completionItem.kind = CompletionItemKind.Property;

  return completionItem;
});

1 Ответ

1 голос
/ 12 апреля 2019

Да, элементы завершения поддерживают обычный синтаксис .Просто используйте vscode.SnippetString для insertText вместо необработанного string.

Строка или фрагмент , которыйдолжен быть вставлен в документ при выборе этого завершения.Когда falsy используется метка .

completionItem.insertText = new vscode.SnippetString(item.body);
...