尽管Microsoft使“很容易”确定何时在VSIX扩展中打开或关闭解决方案
IVsSolution.GetSolutionInfo(
out pbstrSolutionDirectory,
out pbstrSolutionFile,
out pbstrUserOptsFile);
我很困惑在 创建 时如何准确地在VSIX扩展中获取信息/事件。这样的事情可能吗?
我假设必须有某种方法来执行此操作,但是由于Microsoft扩展文档稀疏,所以找不到它。
答案 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示例