VS Code条件片段

时间:2017-07-20 17:35:14

标签: autocomplete visual-studio-code intellisense code-snippets vscode-extensions

我希望在VS Code IntelliSense中为特定语言有条件地列出一些片段。我正在考虑创建一个扩展,拦截CompletionItems列表,并根据languageId和设置/配置删除任何不满足我条件的片段,我将为扩展做出贡献。我正在寻找最简单的解决方案来实现这一目标,但如果我需要语言服务器那么就这样吧。如果我可以动态加载特定语言的片段文件,那么这将更好。我只需要一个熟悉API的人的起点。我甚至没有找到如何检索CompletionList来启动拦截 - 我搜索了API文档,但只发现了它的对象定义。

1 个答案:

答案 0 :(得分:0)

从VSCode 1.14开始,您不能拥有条件user snippets,但扩展可以有条件地提供片段。尝试创建一个CompletionItemProvider,返回完成项目,kind设置为CompletionItemKind.Snippet

VSCode代码库中的JsDocCompletionProvider是此模式的一个示例。当光标周围的区域与正则表达式

匹配时,它仅返回jsdoc片段