使vscode片段仅在特定字符后触发

时间:2018-05-24 08:00:06

标签: visual-studio-code vscode-settings

让我们说下面有一堆函数:

  

library.object1.function1()

     

library.object1.function2()

     

library.object2.function1()

     

library.object2.function2()

     

library.object3.function1()

     

library.object3.function2()

根据他们在当前自定义代码段中提供的内容,当我输入lib时,它会显示上述所有功能,如果功能太多,这将是一团糟。

我想让我的代码段工作就像他们在默认代码完成中所做的那样:

  • 当我输入lib时,它只会显示:
  

文库

  • 当我输入library.时,会显示:
  

object1

     

Object2的

     

object3

  • 当我输入library.object1.时,会显示
  

功能1()

     

函数2()

  • 此外,如果我输入lib,然后将其保留在那里,然后回归并添加rary,则该片段根本不起作用,我希望它继续完成。

有没有办法实现它?

1 个答案:

答案 0 :(得分:1)

我认为你能得到的最接近的是这样的(以javascript.json片段文件为例):

"my library": {
  "prefix": "lib",
  "body": [
    "library.${1|object1,object2,object3|}.${2|function1,function2,function3,function4|}()",
  ],
  "description": "my library functions" 
}

这样,当您输入lib时,您只会获得library建议的完成情况。 Tab ,您将获得建议面板中代码段中包含的所有object选项。再次 Tab ,将获得您在代码段中列出的function个选项。

请参阅snippet choices