在CompletionItem中设置光标位置

时间:2019-04-12 08:48:34

标签: visual-studio-code vscode-extensions

我想在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 个答案:

答案 0 :(得分:1)

是的,完成项目支持usual snippet syntax。只需为vscode.SnippetString使用insertText而不是原始的string

  

选择此完成时应在文档中插入的字符串或代码段。当使用falsy时使用label

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