运算符中不包含的子句时的上下文



以下是我的命令:

{
"command": "myextension.mycommand",
"when": "resourceFilename in resources",
"group": "%my.group%@1"
}

resources是一个字符串数组。当条款有效时;但我想做一个CCD_ 2。

VSCode扩展单未列出任何not in运算符-https://code.visualstudio.com/api/references/when-clause-contexts

如何执行not in子句?

when条件下对not in的支持刚刚在VS Code中实现。它应该很快就会出现在Insiders v1.0中,然后在2022年8月初出现在Stable v1.0中。

参见Support";不在";上下文键表达式。。

所以你很快就能做到这一点:

"when": "resourceFilename not in resources",


即将推出:

由于没有not in类型的字符,您将不得不使用更详细的when子句。参见例如。,https://stackoverflow.com/a/70444134/836330要排除两个文件夹(bundleconcat(,可以使用when子句,如下所示:

"when": "explorerResourceIsFolder && resourcePath =~ /.*?(?<!(\\|\/)(bundle|concat))$/ || !explorerResourceIsFolder && resourceDirname =~ /.*?(?<!(\\|\/)(bundle|concat))$/"

您可以看到,一般形式包括对要排除的文件夹的替换进行负面展望。上面的代码将排除该命令同时出现在文件夹和这些文件夹中的文件中。

(?<!(\\|\/)部分介绍了不同操作系统的前斜杠和后斜杠。

请参阅https://code.visualstudio.com/docs/getstarted/keybindings#_conditional-条件运算符CCD_ 14的另一个例子的运算符;否定;那里

最新更新