在Visual Studio.NET中使用自定义插件最大化您的生产力(一)

visual|最大化

这篇文章假设您已经熟悉C#, Visual Basic .NET和CLR

难度程度 1 2 3

摘要

对于开发者来说,不管多么强大的集成开发环境(IDE)都需要具有自定义插件的功能。基于这个原因,Visual Studio. NET IDE提供了一个可扩展的、添加方便的而且还没有数量限制的自定义插件功能。这个自定义插件可以用Visual Basic、C、C#或则其它的.NET的使用的语言来编写。这篇文章解释了如何在Visual Studio. NET中增加一个自定义插件的例子。这个例子将演示如何通过自定义插件完成一个自定义的文本编辑功能,其中实现了两个功能,一个是在文本中简单的插入当前的日期,另一个是更加复杂的功能是实现重新格式化一段文本。最后您将学习如何在选项对话框中增加一个页。

如果您开始使用Microsoft Visual Studio .NET你应该知道他充满了新特征和技术。虽然,你肯能认为集成开发环境(IDE)是一个编写代码的简单的文本编辑器,它已经非常强大了。它提供的框架支持开发工具的插入而且是单一的无缝的可开发的。当然,IDE并不能满足所有的人,你或则我所要的功能可能并没有在这里。幸运的是IDE已经提供了可扩展的功能,它允许您扩展你所需要的任何东西。

开始

插件和宏是扩展IDE的两种方法。宏是可以被记录的和被立即执行的。因此,这是一种探索对象模型的强大的方法。宏使用一个以 .vsmacros 文件的形式来分布,通过双击这个文件来加载到宏编辑器中。宏在加载可用之后,宏就可以被使用者非常容易的修改。

另一方面,插件是编译的而且在分布之后就不能被修改。这样保护了你的知识财产。通过插件,你可以创建工具窗口这些操作对于Visual Studio.NET就像操作本地的功能一样。插件可以动态的改变菜单、工具条事件的状态和在帮助对话框中增加信息。插件是通过微软的安装文件(.MSI)来进行部署的,它可以轻易的安装和通过控制面板中的添加/删除程序对话框进行卸载。

创建一个插件的步骤在Visual Studio.NET的在线帮助中已经隐藏起来,同样也在Visual Studio.NET Automation Examples Web site中被隐藏了。我在这里不想介绍每一个的具体过程,但是可以回顾一下我创建一个插件所选择的过程。

创建一个插件首先要创建一个项目,在新建项目(New Projects)对话框其他项目(Other Projects)下面,你会发现扩展性项目(Extensibility Projects)。选择Visual Studio.NET外接程序(Visual Studio.NET Add-in)。图一显示了在一个点上的新建工程对话框。点击确定按钮开始向导。

图1创建一个新工程

对于我的插件,向导中的前三步都比较容易。第一步,我选择了C#语言作为插件的开发语言。第二步,我选择了Microsoft Visual Studio.NET作为插件的主机(host)。在您的插件中你当然可以包括VSMacros IDE。第三步,插件命名为“Text Editing Utilites”,并给出了适当的描述。

图2

在向导中的第四步,如图2所示,需要一些操作。

l 选择“是的,创建工具菜单项”。

l 确定“我的外接程序不提供……”没被选中。这个例子中我没有准备提供一个模式用户界面,但是如果你真的想更多的扩展你的插件功能,你可以选择此项。

l 确定“我希望我的外接程序在宿主程序启动时加载”没被选中。这样可以使调试是容易一些。插件的用户可以在以后的插件管理的操作中改变此选项。

l 我选择了“我的外接程序不仅仅……”选项。在我的计算机中我是真正的用户,同样我确认这个例子也是为了更多的开发者。这个选项仅仅是改变插件已经注册的用户。

第五步,你可以包含一些帮助信息。选中复选框,在下面输入任何的联系信息。现在,你可以完成向导,开始我们的插件。

下面列出了Connect对象的方法。这些方法是不完整的,可以在Connect.cs文件找到该类。这些你的新建项目的一部分。

l Connect::Connect。这是构造函数,在这里你可做简单初始化。

l Connect::OnConnection。这个方法是在IDE真正加载您的插件时调用。在这里你可以初始化你的插件,而且必须为IDE提供命令信息、制定键盘绑定等等。

l Connect::QueryStatus。这个方法是在适当的时候IDE确定当前状态时被调用。

l Connect::Exec。这个方法是IDE真正的执行命令是被调用的。

现在,所有的基础内容在这里,让我们开始开发一个简单的插件例子。

时间: 2024-11-03 21:59:02

在Visual Studio.NET中使用自定义插件最大化您的生产力(一)的相关文章

在Visual Studio.NET中使用自定义插件最大化您的生产力(二)

visual|最大化 一个简单的编辑功能:插入日期 我创建了一个简单插入日期的功能,确切的功能是:在当前光标的位置或则当前选择文本的地方插入当前日期.这是Visual Studio .NET中已经包含了一个用宏实现此功能的例子.所以你可以看见通过宏和插件两种不同的方法实现同样的功能.这个例子非常简单,只需要你修改一个在前面列出来的那个Exec函数.通过前面章节我已经创建了一个基本插件,这个插件的名字是"TextUtil"更加确切的说是"TextUtil.Connect.Tex

在Visual Studio.NET中使用自定义插件最大化您的生产力(三)

visual|最大化 插件是怎么工作的? 在前面章节中给你们演示的InsertDate代码是相当简单的,而且自动完成功能让人感觉不可思议. 我将从对象浏览器开始(Object Browser)开始,因为他能够非常容易的让我们学习对象所以他是一非常好的助手.你可以在你要查看的对象上单击右键然后选择转到定义(Go To Definition)来快事的查看类的成员.最终结果参看图4,你可以在列出的成员中查看任何一个成员的原型,或则选择一个成员按F1访问在先帮助. 图4 对象浏览器 applicatio

畅谈Visual Studio 2010中的SharePoint插件

Visual Studio 2010最大的卖点就是可扩展性.这样就可以借助.NET社区的力量基于VS构建出许多有用的工具.本文中我们将展示如何扩展VS2010的服务器资源管理器,在其中的SharePoint结点上添加一个自定义操作. SharePoint服务器资源管理器是Visual Studio 2010的一项新特性,该功能是由Visual Studio Tools for SharePoint提供的. 如果你只需要从Visual Studio中浏览SharePoint站点里的内容(网站栏,内

详解Visual Studio 2010中的扩展管理器

扩展能够为核心应用程序提供附加的功能或者自定义设置.在很多应用程序中这都是很流行的,包括流行的web浏览器IE和Firefox.微软的Office.媒体播放器.Photoshop.Eclipse.Visual Studio等等.其中有些可能比较新奇,而针对开发工具--像Eclipse和Visual Studio--的扩展让开发者的生产力得到了显著提高. Visual Studio早期的版本是构建在COM技术之上的.而Visual Studio的主要扩展方式插件是通过COM接口实现的.随着时间的变

Visual Studio 2010中的Web开发

Microsoft Visual Studio 2010 为 ASP.NET Web 应用程序的开发提供很多新的功能.这些新功能旨在帮助开发人员快速方便地创建和部署质量高且功能全的 Web 应用程序. 目前,Visual Studio 2010 支持 HTML 代码片段.利用这些代码片段,可以生成高质量的代码.Visual Studio 中附带了很多代码片段,开发人员也可以创建自己的代码片段. Visual Studio 2010 提供的另一个新功能是转换 web.config 文件,以用于部署

探秘.NET 4和Visual Studio 2010中的多核利用

如果你想利用多核机器的强大计算能力,你需要使用PLINQ(并行LINQ),任务并行库(Task Parallel Library,TPL)和Visual Studio2010中的新功能创建应用程序. 以前,如果你创建的多线程应用程序有BUG,那要跟踪起来是很麻烦的,但现在情况完全变了,感谢微软为我们带来了Microsoft Parallel Extensions for .NET(.NET并行扩展),它在.NET框架线程模型上提供了一个抽象层. 并行扩展遵循微软在COM应用程序中建立的事务管理和

在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim Nakashima.Hani Atassi 和 Danny Thorpe 将应用程序或服务部署到 Microsoft 云服务平台 Windows Azure 的原因有很多.例如,只为使用的内容付费从而可降低操作和硬件成本.构建几乎能无限缩放的应用程序.巨大的存储容量.地理位置等等,不胜枚举. 只有

如何在 Visual Studio 2012 中关联 BI 项目

原文 http://www.cnblogs.com/biwork/archive/2013/05/12/BI_VS2012.html 新安装了 SQL Server 2012 和 Visual Studio 2012. 准备在 VS 2012 中创建一个 BI 项目, 但是发现找不到这一项. 后来想起来在装完 SQL Server 2012 以后, 以前的 BIDS 工具的名称也变成了 SQL Server Data Tools (SSDT), 但是实际上使用的还是 Visual Studio

Visual Studio 2010 中的代码约定设置

软件约定称为代码约定,通过这一约定可以表示代码正常工作所需的正式条件. 如果方法未按预期收到数据或生成的数据不符合预期的后置条件,代码约定将导致代码引发异常. 有关前置条件和后置条件的概述,您可能需要查看我上个月发表的文章 (msdn.microsoft.com/magazine/gg983479). 代码约定是 .NET Framework 4 的一部分,但同样依赖于 Visual Studio 2010 中的一些功能,例如运行时工具.与 MSBuild 集成以及"项目属性"框中的属