以某种语言启用VSIX扩展?

时间:2017-09-08 00:37:41

标签: visual-studio vsix vsixmanifest

是否有方法可以检测当前的编程语言并根据该语言禁用扩展?

我正在创建一个仅在C ++构建中兼容的VSIX包。我可以通过编程方式检测当前的编程语言并响应不支持的语言,而不是打开我的对话框,但我觉得应该有一个属性或某些东西可以启用/禁用某种语言的扩展。

1 个答案:

答案 0 :(得分:3)

您可以为C ++创建自定义UI上下文规则,并使用它来加载您的包。对于C#和VB来说看起来像这样:

void push_back(LIST *list, char ch){
    NODE *node = createNode(ch);
    NODE *tmp = list->first;

    if (tmp)
      while(tmp)
      {
         if (tmp->next == NULL)
         { 
            tmp->next = node;
            tmp = tmp->next;
         }
         tmp = tmp->next;         
      }
    else
      list->first = node;
}

有关详细信息,请参阅MSDN上的How to: Use Rule-based UI Context for Visual Studio Extensions和Mads Kristensen的sample