【问题标题】:Visual Studio 2008 Plug-in / Add-in development - Getting StartedVisual Studio 2008 插件/插件开发 - 入门
【发布时间】:2009-05-13 02:38:10
【问题描述】:

关于this stackoverflow question,我将如何创建自己的Visual Studio 2008 插件?

我查看了 MSDN 上的 Visual Studio 开发人员中心,但信息量巨大。项目类型很多,我什至不知道从哪里开始。

如果我想写一些符合以下要求的东西,我应该从哪里开始寻找

  1. 在 Visual Studio 中像“服务”一样运行的插件,能够轮询 Visual Studio 以获取信息,并处理 Visual Studio 事件。
  2. 我想从 VS 访问的信息包括当前打开的项目、打开的项目以及其他基于解决方案/项目文件的信息。
  3. 我希望能够处理的事件包括打开/关闭/编辑/创建/删除解决方案/项目/单个文件。
  4. 我还希望能够在每个解决方案的基础上处理与 VS 的任何交互。因此,我想处理与文件的任何交互,甚至是代码编辑,以及其他交互,例如与菜单或 IDE 本身的交互。

除了这些,我还希望能够在某处存储数据。这通常在哪里进行?我可以将元数据添加到解决方案文件吗?或者,将此信息保存到数据库的小型本地实例是否有意义,该实例以某种方式附加到解决方案..?

我只需要朝着正确的方向前进,这有可能吗?我应该关注 Visual Studio 开发人员中心的哪一部分?我应该检查哪些 API?

干杯!

【问题讨论】:

  • 多么讽刺……我正在做的事情正是这样做的——跟踪你在 VS 中处理给定解决方案/文件的时间。怎么样了?
  • @dave:很酷,我还没有真正开始......虽然我真的很想知道你是如何做到这一点的。它会是一个开源项目吗?如果没有,很想知道您正在采用的更高级别的方法。干杯!
  • @andy:我刚刚完成了一个原型,还在考虑是否开源。无论哪种情况,我都会很快寻找 Beta 测试人员... :)
  • @Dave - 老兄,我去看看,干得好!!

标签: visual-studio plugins extensibility visual-studio-addins


【解决方案1】:

插件可以完成大部分工作。 VS2008 中有一个用于创建基础插件的模板。

我有一个加载项,您可以将其下载到解决方案/项目加载事件等 - 它是免费的,并附带源代码 (http://www.huagati.com/projectloader/download/huagatiprojectloader.zip)。这个特定的加载项检测何时加载项目/解决方案并预加载引用的程序集以解决可能导致 VS2008 崩溃的 CLR 错误。无论如何,它的源代码显示了如何检测您正在寻找的一些事件。

除此之外,关于插件开发和所涉及的所有小怪癖和技巧的权威资源是 Carlos Quintero 的博客 (http://msmvps.com/blogs/carlosq/) 和他网站上的“howto”文章系列 (http://www.mztools.com/resources_vsnet_addins.aspx)。

Craig Skibo 的博客 (http://blogs.msdn.com/craigskibo/) 也有一些有用的提示。

【讨论】:

  • @kristoferA:嘿,kristofer,太棒了,感谢源代码,非常感谢
【解决方案2】:

【讨论】:

  • 酷,谢谢桑德斯,我不太擅长从书本上学习,只是不喜欢我,称之为阅读障碍、ADD 或...懒惰...当然不是。我需要要么尝试一下,要么与某人谈谈。如果我被卡住了,我一定会检查出来的。
  • 那么你在这方面会遇到问题。它非常丰富,但并不干净。下一步将是 VS2008 SDK 中的示例,但祝你好运学习这个领域没有一些结构。顺便说一句,我是地球上最后一个可能称这种懒惰的人。
猜你喜欢
  • 1970-01-01
  • 2010-12-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多