我正在创建包含单个文件生成器(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.GenerateError
(http://msdn.microsoft.com/en-US/library/microsoft.visualstudio.shell.interop.ivsgeneratorprogress.generatorerror(v=vs.90).aspx)。这种方法似乎不能让我发来一条消息&#39;。
我试图在Visual Studio中找到对错误列表窗口的引用,因此我可以直接写入它,但我在VSConstants
(http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.vsconstants(v=vs.80).aspx)中没有看到任何内容。
任何人都知道如何将消息记录到Visual Studio错误列表中?
答案 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甚至可以做你想要的。