我希望有一些片段在VS代码IntelliSense有条件地列出了一种特定的语言。基于languageId和设置/配置,我正在考虑创建一个扩展,拦截CompletionItems列表,并删除任何不满足我的条件的代码片段。我正在寻找最简单的解决方案来实现这一点,但如果我需要一个语言服务器,那么就这么做吧。如果我可以为特定的languageId动态加载一个片段文件,那就更好了。我只需要一个更熟悉API的人的起点。我甚至还没有找到如何检索CompletionList来开始截取--我搜索了API文档,但除了它的对象定义之外什么也没有找到。
发布于 2017-07-21 02:53:12
从VSCode 1.14开始,您不能使用条件user snippets,但扩展可以有条件地贡献代码片段。尝试创建一个返回完成项并将其kind设置为CompletionItemKind.Snippet的CompletionItemProvider。
VSCode代码库中的JsDocCompletionProvider就是这种模式的一个示例。仅当光标周围的区域与正则表达式匹配时,它才返回jsdoc片段
https://stackoverflow.com/questions/45221563
复制相似问题