Visual Studio 2008可扩展性开发(二):Macro和Add-In初探

前言

在VS概览中,我们简单回顾了一下VS的历史。本文将通过两个简单的例子来说明Macro 和Add-In的开发。通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行, 节省时间并保持好的心情;通过Add-In,我们可以自己动手来为VS添加新的功能,扩展了 VS就意味着扩展了我们自己。

VS 2008扩展方式一览

在上篇VS概览中提到了扩展VS有三种主要的方式:Macro、Add-In和VsPackage。事实 上,还有更多的选择,这里先简单列一下:

Macro

Add-In

VsPackage

VS Shell

Domain Specific Language Tool

Visualizer

Code Snippet

Project/Item Template

MSBuild

甚至External Tools(菜单Tools->External Tools)也可看作是一种扩展方式, 我们可以将外部工具添加到VS菜单中,这样使用起来会更方便一点。之前曾写过关于VS中 的模板和Code Snippet的随笔,它们属于比较简单的扩展方式了。

在本文中将简单介绍一下Macro和Add-In的用法,它们可以访问共同的API,既然这样 ,了解一下Macro对Add-In的开发也会有帮助,然后就正式步入Add-In的开发。之后对于 其它的扩展方式也会尽量多介绍一点。

开发第一个Macro

作为程序员,我们在编写代码的时候害怕重复,它的危害人人知晓。另一方面,对于 某些操作,如果经常重复进行也会让人厌烦,Macro此时也许能帮得上忙。

Macro一般翻译为宏,它的一个含义是“大量使用的”,这个词对于我们Windows平台 下的开发人员来说应当不陌生,在Word和Excel中都有它的身影。宏的作用是将我们在VS 中的一些重复操作录制下来,之后可以多次运行,也就可以节省很多时间,心情也会因此 变得好一点。

在VS中,宏可以用两种方式来创建,一是录制,二是手工编写代码。可以想见的是, 第一种方式更为简单,第二种方式则更为灵活、强大。需要注意的是,当前只能用VB.NET 来开发宏。

以前我曾用VBA开发过简单的Excel自动化,当时如果某些操作不知如何用代码表示, 就录制一个宏,看看它生成的代码。VS中的宏与此类似,这也是为什么我说对Add-In开发 也有帮助了。我们可以将前面说的两种方式结合起来使用,看看下面的例子。

1)Macro Explorer

通过菜单Tools -> Macros -> Macro Explorer(快捷键Alt+F8)打开Macro Explorer:

时间: 2024-09-15 02:59:57

Visual Studio 2008可扩展性开发(二):Macro和Add-In初探的相关文章

Visual Studio 2008可扩展性开发(九):总结篇

可以说木匠让小时的我第一次感受到了专业,虽然那时还不知道专业这个词,尤其是 那些有年纪的老木匠,专注地在那锯木头.钉钉子.刨出带着香味的木花.他们有其他人 所没有的工具,更重要的是他们掌握了那些工具.VS正是我们手头的工具,它可以是锤子 ,也可以是锯.刨子,如果你能掌握它,而且要掌握的好. 我向来喜欢了解手头工具的方方面面(也许与我的思维方式有关,总想了解得更多) .我甚至觉得,对于最常用的工具,了解得越多越好--今天掌握了一个小功能,未来两 三年都会受益. 上面是我对工具的一点感想.VS越来越

Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探

  前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心情:通过Add-In,我们可以自己动手来为VS添加新的功能,扩展了VS就意味着扩展了我们自己. VS 2008扩展方式一览  在上篇VS概览中提到了扩展VS有三种主要的方式:Macro.Add-In和VsPackage.事实上,还有更多的选择,这里先简单列一下: Macro Add-In VsP

Visual Studio 2008 可扩展性开发(一):VS概览

前言 Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如此.相信这一点无须多说.它建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序. Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言.了解VS的历史以及每个版本的更迭,对学习它的扩展性开发会很有好处.所以在这里简单地说说VS在过去的12年里的历史. VS的历史 在软件领域,VS的历史算比较长的了.在此期间,微软开发了数种编程语言和支持这些语言的可视

Visual Studio 2008 可扩展性开发(三):Add-In运行机制解析(上)

前言 上一篇随笔Macro和Add-In初探介绍了如何开发两者的HelloWorld程序.没错,宏确实简单易行.不过在某些情况下,比如在商业软件中,宏在性能和知识产权方面可能会带来麻烦,此时那把更好的锤子是Add-In. 在初探一文中,我介绍了如何使用Add-In向导来开发第一个Add-In.VS是一款很棒的开发工具,它的各种向导(以及其它模板.可视化工具等)做得非常好,不过我发现这一强大之处到头来反而给人诟病.其中一种说法是,这些方便的工具让初学者入门容易,并惯坏了他们,以致于想登堂入室就难得

Visual Studio 2008 可扩展性开发(三):Add-In运行机制解析(下)

前言 在上篇Add-In运行机制解析(上)中,我分析了Add-In向导生成的代码,从中我们知道只要创建一个类库,它包含实现了IDTExtensibility2接口的类,然后为其建立.addin配置文件,就可以实现一个Add-In了.本文将更进一步,介绍Add-In的事件和生命周期,为今后的开发打下基础. Add-In的事件 Add-In是事件驱动的,可以猜到的事件有加载.卸载.状态改变等等.事实上,这些事件都与IDTExtensibility2接口有关,也就是该接口的5个方法: 如果要了解这些方

Visual Studio 2008 可扩展性开发(六):操作Solution Explorer

前言 在可扩展性开发(五)中,我介绍了对于Solution.Project.ProjectItem的基本操作.可以认为它们面向的是解决方案内容的物理(文件)表示,我们需要使用VS提供的解决方案管理器(Solution Explorer)来管理它们.毫无疑问,解决方案管理器是VS中最重要的UI元素之一,本文将介绍对它的操作. 工具窗口内的层次结构 如果你观察一下解决方案管理器和服务器管理器(Server Explorer),就会发现它们都使用树形结构来表现背后的数据.在AOM中,UIHierarc

艾伟:Visual Studio 2008 可扩展性开发(六):操作Solution Explorer

前言 在可扩展性开发(五)中,我介绍了对于Solution.Project.ProjectItem的基本操作.可以认为它们面向的是解决方案内容的物理(文件)表示,我们需要使用VS提供的解决方案管理器(Solution Explorer)来管理它们.毫无疑问,解决方案管理器是VS中最重要的UI元素之一,本文将介绍对它的操作. 工具窗口内的层次结构 如果你观察一下解决方案管理器和服务器管理器(Server Explorer),就会发现它们都使用树形结构来表现背后的数据.在AOM中,UIHierarc

Visual Studio 2008可扩展性开发(一):VS概览

前言 Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如 此.相信这一点无须多说.它建立在IDE(统一开发环境)的基础之上,可用于开发多种 不同类型的应用程序. Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言.了 解VS的历史以及每个版本的更迭,对学习它的扩展性开发会很有好处.所以在这里简单地 说说VS在过去的12年里的历史. VS的历史 在软件领域,VS的历史算比较长的了.在此期间,微软开发了数种编程语言和支持这 些

Visual Studio 2008可扩展性开发(八):关于用户界面的种种(下)

关于用户界面的种种(上)一文介绍了VS中的工具窗口.关于用户界面还有更多的内 容,比如选项页(Options Page).菜单图标,具体来说,本文介绍的内容将包括: 1)创建自定义的选项页: 2)设置菜单项的图标: 创建自定义的选项页 在安装了DPack后,可以在VS的选项页(Tools->Options)中看到新添加的一项: 开发(八):关于用户界面的种种(下)-visual studio 2015"> 这看起来很专业.很多时候我们开发的Add-In需要进行一定的配置,选项页是最佳

Visual Studio 2008可扩展性开发(七):操作文本编辑器

前言 在可扩展性开发(六)中,我介绍了对于Solution Explorer的基本操作.不过,对咱 们开发人员来说,绝大部分时间面对的还是编辑器. VS2008的编辑器功能已经颇为强大了,如果我们能熟练使用快捷键,编写代码的过程 是相当舒服的,就像<卓有成效的程序员>中所说: "编程时始终优先使用键盘而非鼠标" 但问题在于,VS面向的是所有的开发人员群体,它只能够提供最通用的功能,如果对 VS的编辑器有些额外的需求,我们只好自己动手了,本文将介绍如何扩展文本编辑器. AOM