在Visual Studio扩展中,如何响应"打开文件夹"以及"开放式解决方案"?

时间:2017-09-24 13:47:23

标签: visual-studio visual-studio-2017 vsix vs-extensibility

我的Visual Studio扩展程序通过IVsSolutionEvents.OnAfterOpenSolution()响应解决方案的开放。

Visual Studio 2017引入了"Open Folder"作为" Open Solution"的替代方案,但是当您打开文件夹时,IVsSolutionEvents.OnAfterOpenSolution()并未触发。 (也不是IVsSolutionEvents中的任何其他事件,也不是IVsSolutionLoadEvents中的任何事件。)

我的扩展程序如何知道何时打开文件夹而不是解决方案?

1 个答案:

答案 0 :(得分:6)

您必须使用为Visual Studio 2017添加的IVsSolutionEvents7.OnAfterOpenFolder Method

  

通知侦听客户端该文件夹已被打开。

public void OnAfterOpenFolder (string folderPath);

由于这是一个本机COM接口,您还必须确保实现类是COM可见的(通过您可以在程序集,类,基类等上设置的ComVisible属性。 )。