是否有一种检测当前编程语言并基于该语言禁用扩展的方法?
我正在创建一个仅在C 构建中兼容的VSIX软件包。我可以通过编程方式检测当前的编程语言并响应不支持的语言,而不能打开我的对话框,但是我觉得应该有一个属性或某些内容可以启用/禁用某种语言的扩展。
您可以为C 创建自定义UI上下文规则,并使用它来加载软件包。对于C#和VB来说,看起来像这样:
[ProvideAutoLoad(UIContexts.LoadContext)]
[ProvideUIContextRule(UIContexts.LoadContext,
"RightFileTypeOpen",
"(CSharpFileOpen | VBFileOpen)",
new[] { "CSharpFileOpen", "VBFileOpen" },
new[] { "ActiveEditorContentType:CSharp", "ActiveEditorContentType:Basic" })]
请参阅如何:在MSDN和MADS Kristensen的样本上使用基于规则的UI上下文进行视觉工作室扩展。