c# - 如何使用 DTE 从 VS 2015/2017 的错误列表中获取错误代码?或者其他方式可以获得错误代码?

标签 c# visual-studio-2015 envdte

我想在 Visual studio 2015/2017 中扩展错误列表,我只使用 DTE 可以获取 ErrorItem 但是 ErrorItem 不包含如下所示的 ErrorCode,我如何获取错误代码?提前致谢! enter image description here

最佳答案

是的,我也有这个。可能来不及提供帮助,但现在开始:

    var errorList = _dte.ToolWindows.ErrorList as IErrorList;
    // placed in dictionary for easy access later
    var entries = (errorList?.TableControl.Entries ?? Enumerable.Empty<ITableEntryHandle>())
        .Select((e, i) => new { Entry = e, Index = i + 1 })
        .ToDictionary(it => it.Index, it => it.Entry);

    var errors = errorList.ErrorItems;
    for (int i = 1; i <= errors.Count; i++)
    {
        ErrorItem error = errors.Item(i);
        entries[i].TryGetValue("errorcode", out var errorCode);
        var item = new
        {
            error.Column,
            error.Description,
            error.ErrorLevel,
            error.FileName,
            error.Line,
            error.Project,
            Code = errorCode
        };
    }

关于c# - 如何使用 DTE 从 VS 2015/2017 的错误列表中获取错误代码?或者其他方式可以获得错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41668656/

相关文章:

c - 如何在 Visual Studio 2015 中将 header 编译器更改为 C 编译器(不是 C++)

c# - Visual Studio : Programmatically Create Project Items in project directory

c# - Visual Studio 2017 中的 ExtensionManager 为空

c# - 以新格式打开图像C#

c# - 如何更改母版页导航栏中事件页面的链接颜色。网站

c# - 串行数据的二进制通信协议(protocol)解析器设计

c# - 在VisualStudio DTE中,如何获取ActiveDocument的内容?

c# - OnTriggerEnter() 未调用

c# - 尝试安装 Visual Studio 2015 社区版时安装失败

powershell - 运行 Enable-Migrations 时出现错误