我正在尝试为 Visual Studio 2015 做一个扩展,它依赖于错误 ListView 中的选定项目。
我正在使用以下代码检索列表:
var errorList = this.dte2.ToolWindows.ErrorList as IVsTaskList2;
IVsEnumTaskItems items;
errorList.EnumSelectedItems(out items);
但我现在的问题是我能够获得描述(文本)但不能获得错误代码(HelpKeyword)。 我是这样得到描述的:
IVsTaskItem[] item = new IVsTaskItem[1];
while (items.Next(1, item, null) == 0)
{
string description;
item.get_Text(out description);
}
希望有人能帮我解决这个问题,因为我现在很沮丧。
最佳答案
我能够使用完全不同的方法得到它:
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;
}
}
这会将错误窗口中的选定项目作为表格访问,并且只获取正确的列(文本列具有键“文本”,顺便说一句)。
要弄清楚这一点当然不容易。感谢 Microsoft:1) 几乎完全没有任何此类内容的文档,2) 完全破坏了 VS2013 中工作的接口(interface),以及 3) 不仅仅是将代码添加为 ErrorItem 的属性。
关于visual-studio-2015 - VS2015 扩展 - 获取错误列表中的选定项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38824629/