【问题标题】:Catch a newly added Project赶上一个新添加的项目
【发布时间】:2020-06-17 19:32:56
【问题描述】:

我想知道是否有任何方法可以捕获“项目添加”事件。我知道您可以使用 DTE 来做到这一点,例如SolutionEvents.ProjectAdded 事件。但是我试图在不使用DTE 的情况下完成此操作。我已经用IVsHierarchyEvents 尝试过了,遗憾的是OnItemAddedOnItemsAppended 方法永远不会被调用来添加项目。

请注意,我想捕获作为解决方案的直接子级或解决方案文件夹的项目。

【问题讨论】:

  • 你试过IVsSolution Interface吗?
  • @PerryQian-MSFT 我不太确定IVsSolution 接口应该如何提供帮助?
  • 添加项目时,使用AddVirtualProject function即可。
  • @PerryQian-MSFT 我不想添加新项目,我想在用户或其他扩展添加项目时收到通知。

标签: c# visual-studio visual-studio-2019 visual-studio-extensions vsix


【解决方案1】:

据我所知,SolutionEvents.ProjectAdded 是最好的方法。有时(并非总是),但有时没有更合适的较低级别的 API 或接口提供与 EnvDTE 自动化接口中相同或相似的功能。在这个特定的实例中,SolutionEvents ProjectAdded 事件不是基于较低级别的 API 或服务构建的,它是我能找到的唯一符合您在此处查找的事件的事件。

此致,

【讨论】:

  • 我已经猜到了这样的事情,至少在这上面没有额外的层。不过还是谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多