VSCode扩展:自定义语言的代码完成仅在调用时触发

时间:2019-09-29 13:20:35

标签: visual-studio-code vscode-extensions

我是Language support for CloudFormation templates扩展名的作者。它提供了代码完成功能,但是现在,这违反我的意图,仅在调用时(按ctrl + space时)才触发。我怀疑这是因为该语言中的标识符封装在引号中,而VSCode会将它们视为字符串。但是,当我在“ editor.quickSuggestions”中将“ strings”设置为true时,代码补全仅在调用时仍然有效。

我尝试过更改语法高亮语法,因此它不再将任何内容注册为字符串,但这没有用。我也尝试过在包含引号的语言配置中指定一个'wordPattern',但是没有运气。 (Here's有关单词模式的文档)

1 个答案:

答案 0 :(得分:0)

我发现了问题。我指定的wordPattern是“ [a-zA-Z] *”,因此当键入“ ba [cursorPosition]”时,VS Code不会触发自动补全,因为它会认为“ ba”是一个单词并且光标位于中间的单词,此时显然不会触发自动补全。

将单词模式更改为“ [a-zA-Z] *”可以解决此问题。