Visual Studio VSPackage /单个文件生成器 - 将消息记录到错误列表

时间:2013-05-08 14:29:39

标签: c# visual-studio visual-studio-package

我正在创建包含单个文件生成器(IVsSingleFileGenerator)的Visual Studio VSPackage,我希望能够将事件记录到Visual Studio错误列表(http://msdn.microsoft.com/en-us/library/33df3b7a(v=vs.110).aspx)< / p>

我正在使用Microsoft Visual Studio SDK(http://code.msdn.microsoft.com/windowsdesktop/Single-File-Generator-94d856d4)中的示例基类。这些类有方法:

public class BaseCodeGenerator : IVsSingleFileGenerator
{
   void GeneratorError(uint level, string message, uint line, uint column);
   void GeneratorWarning(uint level, string message, uint line, uint column);
}

这让我可以制作错误和警告,但不会发出消息。方法调用IVsGeneratorProgress.GenerateErrorhttp://msdn.microsoft.com/en-US/library/microsoft.visualstudio.shell.interop.ivsgeneratorprogress.generatorerror(v=vs.90).aspx)。这种方法似乎不能让我发来一条消息&#39;。

我试图在Visual Studio中找到对错误列表窗口的引用,因此我可以直接写入它,但我在VSConstantshttp://msdn.microsoft.com/en-us/library/microsoft.visualstudio.vsconstants(v=vs.80).aspx)中没有看到任何内容。

任何人都知道如何将消息记录到Visual Studio错误列表中?

2 个答案:

答案 0 :(得分:4)

这只是不合适,错误列表窗口可以而且应该只显示错误和警告消息。因此,自动化界面无法帮助您实现此目的。

如果要生成其他聊天,则应将其写入“输出”窗口。可通过IVsOutputWindowPane接口访问,this MSDN How-to topic显示LogAnnotationToOutputWindow()方法中的示例源代码。

答案 1 :(得分:2)

不是直接回答,因为我认为我也没有解决过这个问题。我选择创建并写入新的输出窗口。应该对您有所帮助,请参阅此源底部的WriteLine方法: http://code.google.com/p/csharptest-net/source/browse/src/Tools/CmdTool/VsInterop/BaseCodeGeneratorWithSite.cs

我认为OutputTaskItemString甚至可以做你想要的。