2016-08-08 17 views
0

Ich versuche eine Erweiterung für Visual Studio 2015 zu erstellen, die von den ausgewählten Elementen in der Fehlerliste abhängt.VS2015-Erweiterung - Ermitteln ausgewählter Elemente in der Fehlerliste

Ich Abrufen der Liste mit dem folgenden Code:

var errorList = this.dte2.ToolWindows.ErrorList as IVsTaskList2; 
IVsEnumTaskItems items; 
errorList.EnumSelectedItems(out items); 

Aber mein Problem ist jetzt, dass ich in der Lage bin, die Beschreibung (Text), nicht aber der Fehlercode (Helpkeyword) zu erhalten. Die Beschreibung bekomme ich auf diese Weise:

IVsTaskItem[] item = new IVsTaskItem[1]; 
while (items.Next(1, item, null) == 0) 
{ 
    string description; 
    item.get_Text(out description); 
} 

Hoffnung jemand mich auf das half kann, wie ich im Moment frustriert ruhig bin.

Antwort

1

Ich konnte dies mit einem völlig anderen Ansatz bekommen:

  var errorList = dte.ToolWindows.ErrorList as IErrorList; 
      var selected = errorList.TableControl.SelectedEntry; 
      if (selected != null) 
      { 
       object content; 
       if (selected.TryGetValue("errorcode", out content)) 
       { 
        return (string)content; 
       } 
      } 

Diese greift das Fehlerfenster als Tabelle ausgewählte Element und bekommt nur die richtige Spalte (die Textspalte Taste „text“ hat, BTW).

Es war sicherlich nicht einfach, das herauszufinden. Danke Microsoft für: 1) den fast vollständigen Mangel an Dokumentation für irgendwas von diesem Zeug, 2) die Schnittstellen, die in VS2013 gearbeitet haben, vollständig zu brechen, und 3) nicht einfach den Code als eine Eigenschaft für ErrorItem hinzuzufügen.