我们通过键绑定和片段json文件提供了一些我们提供的自定义代码片段作为我们的VS代码扩展的一部分:
{
"key": "ctrl+shift+i",
"mac": "cmd+shift+i",
"command": "editor.action.insertSnippet"
},
...
"snippets": [
{
"language": "xml",
"path": "./snippets/xml.json"
}
]
我们想要一个按钮,在当前光标位置向编辑器添加一个特定的片段。
如何以编程方式在用户选择片段后调用“editor.action.insertSnippet”部分?
您可以通过vscode.commands.executeCommand
运行任何已注册的命令。另见vscode namespace API。
我在this issue上发布了vscode repo。
insertSnippet-command接受一个参数,该参数可以是片段名称或片段本身。因此,{snippet:“console.log($ 1)$ 0”}用于内联片段,或{langId:“csharp”,名称:“myFavSnippet”}引用现有代码段。