仅在特定文件名(+扩展名)的上下文菜单中显示命令

Twe*_*nty 5 contextmenu visual-studio vsix visual-studio-extensions visual-studio-2019

所以基本上我只想在右键单击名为“example.cs”的文件时显示命令。由于我使用的是 Visual Studio 2019,我不能采用旧的BeforeQueryStatus方式。相反,使用ProvideUIContextRule我的 Package 类上的属性。目前看起来像这样:

    [ProvideUIContextRule(_uiContextSupportedFiles,
    name: "Supported Files",
    expression: "CSharp",
    termNames: new[] { "CSharp" },
    termValues: new[] { "HierSingleSelectionName:.cs$" })]
Run Code Online (Sandbox Code Playgroud)

对于文件本身的扩展名来说,这看起来完全不错。那么有什么办法可以限制example.cs呢?

顺便说一句,我正在使用本指南

Twe*_*nty 2

所以对于其他和我有同样问题的人来说。解决办法很简单,参考MSDN:

(...) 只要活动层次结构中的当前选择具有与正则表达式模式匹配的名称,该术语就会计算为 true(...)

所以基本上更改 { "HierSingleSelectionName:.cs$" }{ "HierSingleSelectionName:Program.cs$" }只会显示以Program.cs.

这导致分号之后的所有内容都包含正则表达式。