『解疑』vscode插件开发API - vscode.CompletionItem 使用场景答疑

API介绍

该类用于构造补全项。
官方文档: https://code.visualstudio.com/api/references/vscode-api#CompletionItem

问题

  • 场景1

如何在补全列表中持续显示所有补全项的描述?
效果:
在这里插入图片描述

// 构造补全项代码如下,传入 CompletionItemLabel 即可
new vscode.CompletionItem({
    label: key,
    description: item.description
})

  • 场景2

如何使用Snippet格式进行补全?
效果:
在这里插入图片描述

// 使用 vscode.SnippetString api 将字符串类型转换成 snippet 类型即可
const proposal = new vscode.CompletionItem({
    label: key,
    description: item.description
});
let snippetStr = '';
item.body.forEach((str, idx) => {
     snippetStr += str
     if (idx >= item.body.length - 1) return
     snippetStr += '\n'
})
proposal.insertText = new vscode.SnippetString(snippetStr);

  • 场景3

如何模糊查询出补全项?
效果:
在这里插入图片描述

// 使用filterText,并将名称转成短横项格式即可,如: project => p-r-o-j-e-c-t
const commandCompletion = new vscode.CompletionItem(label);
commandCompletion.filterText = label.split('').join('-');

  • 场景4

如何在选中补全项后继续调用补全事件?
效果:
在这里插入图片描述

// 为补全项绑定 editor.action.triggerSuggest 事件即可:
const commandCompletion = new vscode.CompletionItem(label);
commandCompletion.command = {
    command: 'editor.action.triggerSuggest'
});
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值