以下是我的命令:
{
"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要排除两个文件夹(bundle
和concat
(,可以使用when
子句,如下所示:
"when": "explorerResourceIsFolder && resourcePath =~ /.*?(?<!(\\|\/)(bundle|concat))$/ || !explorerResourceIsFolder && resourceDirname =~ /.*?(?<!(\\|\/)(bundle|concat))$/"
您可以看到,一般形式包括对要排除的文件夹的替换进行负面展望。上面的代码将排除该命令同时出现在文件夹和这些文件夹中的文件中。
(?<!(\\|\/)
部分介绍了不同操作系统的前斜杠和后斜杠。
请参阅https://code.visualstudio.com/docs/getstarted/keybindings#_conditional-条件运算符CCD_ 14的另一个例子的运算符;否定;那里