VSIX检测到已创建解决方案

时间:2018-11-07 06:03:14

标签: c# visual-studio vsix

尽管Microsoft使“很容易”确定何时在VSIX扩展中打开或关闭解决方案

  IVsSolution.GetSolutionInfo(
out pbstrSolutionDirectory, 
out pbstrSolutionFile, 
out pbstrUserOptsFile);

我很困惑在 创建 时如何准确地在VSIX扩展中获取信息/事件。这样的事情可能吗?

我假设必须有某种方法来执行此操作,但是由于Microsoft扩展文档稀疏,所以找不到它。

1 个答案:

答案 0 :(得分:1)

使用IVsSolutionEvents.OnAfterOpenSolution(Object, Int32)方法,该方法的第二个参数fNewSolution是您想要的:如果正在创建解决方案,则为true。如果解决方案是先前创建的或正在加载,则为false。

您可以使用IVsSolution.AdviseSolutionEvents(IVsSolutionEvents, UInt32) / IVsSolution.UnadviseSolutionEvents(UInt32)方法获得IVsSolutionEvents

我前段时间HOWTO: Get solution events from a Visual Studio package

创建了一个有效的VSIX示例