VS 代码条件片段



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

从 VSCode 1.14 开始,您不能有条件的用户代码段,但扩展可以有条件地提供代码段。尝试创建一个返回完成项CompletionItemProvider,其kind设置为CompletionItemKind.Snippet

VSCode 代码库中的JsDocCompletionProvider就是此模式的一个示例。它仅在光标周围的区域与正则表达式匹配时才返回 jsdoc 代码段

最新更新