问题描述
如何从 Visual Studio 错误窗口中获取所选项目?我试过下面的代码
DTE2 dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2;
dte2.ExecuteCommand("View.ErrorList"," ");
IList<string> errors = new List<string>();
// Can get complete list.
ErrorList errorList = dte2.ToolWindows.ErrorList;
// Below line does not work and always returns null.
var item = dte2.ToolWindows.ErrorList.SelectedItems;
解决方法
您可以使用以下代码:
if (await this.package.GetServiceAsync(typeof(SVsErrorList)) is IVsTaskList2 tasks)
{
tasks.EnumSelectedItems(out IVsEnumTaskItems itemsEnum);
复制自 Matt Lacey 的 ErrorHelper extension。