VSIX 检测到已创建解决方案
VSIX Detect that a solution has been created
虽然 Microsoft 使 "reasonably easy" 确定解决方案何时在 VSIX 扩展程序中打开或关闭
IVsSolution.GetSolutionInfo(
out pbstrSolutionDirectory,
out pbstrSolutionFile,
out pbstrUserOptsFile);
我很困惑我如何在 VSIX 扩展中准确地获取有关何时 创建 的信息/事件。这样的事情可能吗?
我假设一定有某种方法可以做到这一点,但由于 Microsoft 扩展文档很少,我找不到它。
使用IVsSolutionEvents.OnAfterOpenSolution(Object, Int32) 方法,其第二个参数fNewSolution 是您想要的:如果正在创建解决方案则为true。如果解决方案是先前创建的或正在加载,则为 false。
您使用 IVsSolution.AdviseSolutionEvents(IVsSolutionEvents, UInt32) / IVsSolution.UnadviseSolutionEvents(UInt32) 方法获得 IVsSolutionEvents
我前段时间创建了一个工作 VSIX 示例 HOWTO: Get solution events from a Visual Studio package
虽然 Microsoft 使 "reasonably easy" 确定解决方案何时在 VSIX 扩展程序中打开或关闭
IVsSolution.GetSolutionInfo(
out pbstrSolutionDirectory,
out pbstrSolutionFile,
out pbstrUserOptsFile);
我很困惑我如何在 VSIX 扩展中准确地获取有关何时 创建 的信息/事件。这样的事情可能吗?
我假设一定有某种方法可以做到这一点,但由于 Microsoft 扩展文档很少,我找不到它。
使用IVsSolutionEvents.OnAfterOpenSolution(Object, Int32) 方法,其第二个参数fNewSolution 是您想要的:如果正在创建解决方案则为true。如果解决方案是先前创建的或正在加载,则为 false。
您使用 IVsSolution.AdviseSolutionEvents(IVsSolutionEvents, UInt32) / IVsSolution.UnadviseSolutionEvents(UInt32) 方法获得 IVsSolutionEvents
我前段时间创建了一个工作 VSIX 示例 HOWTO: Get solution events from a Visual Studio package