2011-02-15 88 views
2

我一直负责创建一个防止开发人员更改解决方案结构的插件:他们被允许编辑代码,但不能移动文件,项目或过滤器或重命名事物。原因是构建命令被插件拦截并传递给自定义构建工具。陷印解决方案资源管理器事件

我知道有这样做的插件,所以它是可能的。有没有人知道EnvDTE或VSIP中的哪些接口用于捕获解决方案资源管理器上的拖放evetns并可能取消它们?另外,如何获得这些接口的处理将不胜感激。

感谢

PS。这是2005年和2008年2010的Visual Studio版本将支持此不同的API(MEF)。

+0

如果有人不使用解决方案资源管理器来移动文件 - 有人将文件移动到磁盘上,然后将其包含在项目中? – adrianbanks 2011-02-15 20:40:28

+0

这就好,只要它没有在VS中完成:如果用户将在文件系统中混乱,那么结果将是他们的问题:) – Kell 2011-02-16 13:57:42

回答

0

的方式我结束了处理这些问题被拦截的ItemAdded,ItemMoved项目事件和ItemRemoved在VCProjectEngineEvents接口上,因为解决方案是针对C++的。

对于其他人不得不在内部视觉Stuido(地狱)四处逛逛,我可以推荐this site

你将不得不为自己弄清楚一些事情,但是这个网站是与VS的奇迹一起工作的绝佳资源。

相关问题