Tiện ích mở rộng Visual Studio của tôi phản hồi việc mở một giải pháp qua IVsSolutionEvents.OnAfterOpenSolution()
.Trong phần mở rộng Visual Studio, cách trả lời "Mở thư mục" cũng như "Giải pháp mở"?
Visual Studio 2017 đã giới thiệu "Open Folder" làm phương án thay thế cho "Giải pháp mở", nhưng khi bạn mở thư mục, IVsSolutionEvents.OnAfterOpenSolution()
không kích hoạt. (Cũng không thực hiện bất kỳ sự kiện nào khác trong số IVsSolutionEvents
cũng như bất kỳ sự kiện nào trong số IVsSolutionLoadEvents
.)
Làm cách nào để tiện ích mở rộng của tôi biết khi Thư mục, trái ngược với Giải pháp?
Bạn đang tìm kiếm IVsSolutionEvents7 :: OnAfterOpenFolder? https://docs.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.shell.interop.ivssolutionevents7?view=visualstudiosdk-2017 –
@SimonMourier: Điều đó có vẻ hoàn hảo, nhưng khi tôi triển khai và vượt qua việc triển khai đối tượng với 'IVsSolution.AdviseSolutionEvents()', không có sự kiện 'IVsSolutionEvents7' nào kích hoạt. Đối tượng cũng thực hiện 'IVsSolutionEvents', và những sự kiện đó sẽ kích hoạt. Có ý tưởng gì không ...? – RichieHindle
Không, tôi đoán đây thực sự là cách duy nhất. Một số VS dll thực hiện giao diện giống như vậy (ví dụ: Microsoft.VisualStudio.Shell.UI.Internal, lớp Microsoft.VisualStudio.PlatformUI.StartPageToolWindowPane). Bạn có thể thử triển khai ICustomQueryInterface tạm thời chỉ để kiểm tra xem nó có yêu cầu giao diện đó hay không. –