Visual studio code 按文件名或扩展名过滤代码段,如*.spec.ts和*.spec.js?
我想在创建javascript/typescript单元测试时添加几个代码段,但我没有找到任何方法将代码段的全局范围设置为Visual studio code 按文件名或扩展名过滤代码段,如*.spec.ts和*.spec.js?,visual-studio-code,vscode-settings,vscode-snippets,Visual Studio Code,Vscode Settings,Vscode Snippets,我想在创建javascript/typescript单元测试时添加几个代码段,但我没有找到任何方法将代码段的全局范围设置为*.spec.ts或*.spec.js 这可能吗?他们说范围是基于的,但我只是看到了一种向每种语言添加另一个扩展的方法。您可以对代码段执行此操作。在keybindings.json中: { "key": "shift+alt+2", "command": "editor.action.insertSnippet", "when": "resource
*.spec.ts
或*.spec.js
这可能吗?他们说范围是基于的,但我只是看到了一种向每种语言添加另一个扩展的方法。您可以对代码段执行此操作。在keybindings.json中:
{
"key": "shift+alt+2",
"command": "editor.action.insertSnippet",
"when": "resourceFilename =~ /\\.spec\\.[tj]s$/",
// with the snippet text directly in the keybinding
"args": {
"snippet": "console.log($1)$0"
}
},
或者这个键绑定:
{
"key": "shift+alt+2",
"command": "editor.action.insertSnippet",
"when": "resourceFilename =~ /\\.spec\\.[tj]s$/",
"args": {
"name": "unit tests"
}
}
使用代码段文件中的此代码段:
"unit tests": {
// "prefix": "", // not used here
"body": [
"console.log($1)$0",
],
限制代码段范围的关键是以下when
子句:
"when": "resourceFilename =~ /\\.spec\\.[tj]s$/",
它作为正则表达式将查找以.spec.ts
或.spec.js
结尾的文件名(请注意,在句点之前需要双转义)。因此,使用resourceFileName
并构造一个查看其结尾的正则表达式
现在,您选择的键绑定将仅在*.spec.ts
或*.spec.js
文件中工作
见:
子句运算符时的键值
当子句时,有一个键值对运算符。表情
key=~value
将右侧视为
和左手边比赛。例如,贡献上下文
所有Docker文件的菜单项,可以使用:
我发现这要归功于这个问题:
"when": "resourceFilename =~ /docker/"