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

前言

Visual Studio是微软最知名的产品之一,在使用微软技术的开发人员的心目中尤为如此。相信这一点无须多说。它建立在IDE(统一开发环境)的基础之上,可用于开发多种不同类型的应用程序。

Visual Studio,通常被简称为VS(以下皆按此简称),支持多种平台和编程语言。了解VS的历史以及每个版本的更迭,对学习它的扩展性开发会很有好处。所以在这里简单地说说VS在过去的12年里的历史。

VS的历史

在软件领域,VS的历史算比较长的了。在此期间,微软开发了数种编程语言和支持这些语言的可视化IDE,将其称为“Visual Studio”。当然,VS在12年间已经有了发生了很大的变化,不仅仅是它本身变得强大,与语言和其它技术的集成也得到了增强。除了这些,微软还添加了一些特性来支持数据库开发、标记语言(如XML)、Web开发工具、单元测试和团队协作。

接下来将逐一介绍微软已经正式发布的六个版本。

VS 97

微软在1997年首次尝试在单一环境中支持多种语言。它包括如下组成部分:

  • Visual Basic 5.0
  • Visual C++ 5.0
  • Visual FoxPro 5.0 (用于xBase编程)
  • Visual J++ 1.1 (用于Windows下的Java编程)
  • Visual InterDev 1.0 (用于ASP开发)
  • MSDN

Visual C++、Visual J++、Visual InterDev和MSDN使用相同的环境,名为Developer Studio,而Visual Basic和Visual FoxPro则拥有自己的开发环境。VS 97的内部版本号为5.0。

VS 6.0(98)

在1998年,微软尝试将开发工具变得更为一致,并且向着现在我们所熟知的.NET Framework迈出了第一步。这一年微软将VS 97升级为VS 6.0。

这个版本是VB的绝唱,因为现在的VB.NET在基础上与那时的VB有很大不同。VS 6.0 也是Windows 9x平台下VS的最后版本。同时Visual J++ 遭到彻底放弃,从此微软不再支持针对JVM(Java Virtual Machine)的任何编程语言(但两三年后我正是在Visual J++下写出了我的第一个Hello World程序)。

在此之后,微软便致力于通过.NET Framework构建统一的编译器和开发环境。

VS 2002

2002年是微软的开发工具和编程语言发生重大变革的一年。经过之前数年的努力,微软发布了.NET Framework、VS.NET、.NET编程语言。这标志着微软的开发工具终于得到了完全的整合。

其中.NET Framework 1.0是最重要的内容。它引入了托管代码,在.NET下,程序是编译为MSIL(微软中间语言)而不是机器语言。

VS 2002(内部版本号为7.0)是第一个需要基于NT版操作系统的VS版本。它支持以下四种语言:

  • VB.NET:这是Basic家族中第一个完全支持OO的语言,它的构建基础与VB 6.0有很大不同,至今VB.NET仍是世界上最流行的编程语言。
  • C#:一种全新的语言,此后它的用户群体在不断扩大。它使用C的语法,但比微软其它C家族的语言要简单,如VC++。
  • J#:也是一种新语言,可以看作是VJ++的继任者。它虽然使用Java语法,但只支持.NET平台。
  • VC++:它是.NET家族语言的一分子,并得到了增强。

使用这些编程语言和统一的编译器,加上.NET平台下丰富的其它工具,可以开发各种桌面、Web和嵌入式设备的应用程序。其中包含的技术有ASP.NET、ADO.NET和Web Service。

VS 2003

在VS 2002发布之后一年,微软发布了VS 2003(内部版本号7.1),支持新版本的.NET 1.1。.NET 1.1 支持移动应用程序开发,也包含一些新特性和bug修复。它是.NET Framework的第一个稳定版本。VS 2003要比VS 2002稳定和流行得多。

VS 2003共有四个版本:

  • Professional
  • Enterprise Developer
  • Enterprise Architect
  • Academic

Enterprise Architect版提供了对Visio的支持,从而可以在设计应用程序架构时使用UML。

VS 2005

2005年10月,微软发布了.NET 2.0和VS 2005(内部版本号8.0,曾用过的代号为Whidbey)。此时,微软移掉了其产品的“.NET”前缀,如Visual Studio和Visual Basic。

VS 2005支持.NET 2.0,重要的特性和变化有:

  • ASP.NET 2.0
  • ADO.NET 2.0
  • Generics in .NET 2.0
  • Enhanced IntelliSence
  • Addition of new project types
  • A local web server to test ASP.NET applications without IIS
  • Support for 64-bit applications

另一个主要的变化在于,它的版本划分方式与之前有所不同,包括:

  • Express
  • Standard
  • Professional
  • Tools for Office
  • Team System

微软在2006年12月发布了VS 2005的SP1。应众多社区用户的要求,将Web Application替代Website作为ASP.NET应用程序的默认项目类型。

在2006年微软发布了.NET 3.0,因为VS 2005是当时的最新版本,所以提供了插件使其支持WPF、WCF和WF的开发。

VS 2008

这是迄今为止VS的最新版本(第六个版本),内部版本号9.0,代号Orcas。下个版本的VS 2010(代号Hawaii)正在开发之中(据信会在今年的年底发布)。

它第一个支持不同的.NET版本,包括2.0、3.0和3.5。VS 2008主要关注的是Vista和Office 2007,还有些.NET 3.0和3.5的新特性,并保持了VS 2005的优点。它的新特性和变化有:

  • 对WPF的内置支持和一个很棒的设计器
  • 对WCF的内置支持
  • 对WF的内置支持和一个强大的设计器
  • 新的语言特性:LINQ,在VB和C#中可用
  • Silverlight
  • 增强的JavaScript智能感知和调试器
  • 强大的XHTML/CSS编辑器
  • 不再支持J#

关于VS的更多信息,请参看http://en.wikipedia.org/wiki/Microsoft_Visual_Studio

可扩展性简介

VS固然强大,但不可能面面俱到。很多人都会有自己的特殊需求,VS的很多特性来自社区的呼声,另外一些则由第三方组件和开源项目先于VS实现了。

扩展VS的重要性自然无须多说。幸运的是,VS拥有很好的可扩展性,Add-In(插件)、Macro(宏)和VsPackage是扩展的三种主要方式,它们由来已久。

通过Add-In可以访问VS IDE的底层API,我们得以将一些编码或部署任务自动化。通过Macro可以将VS中的一些重复任务自动化,可以录制Macro,也可以手工编写。通过VS SDK则可以创建VsPackage,可以达到IDE和编程语言之间更深层次的集成。

另外,较之VS 2005,VS 2008提供了新的扩展选项,比如Visualizer和VS Shell。另一个好消息是在微软TechEd 2007之后,关于VS扩展性的文档丰富了许多。值得注意的是,可扩展特性不适用于Express版。

IDE概览 

大体上来说,我们日常开发中看到的VS IDE主要包含各种窗口和工具栏,这些窗口有浮动的、可停靠的、标签式三种模式,包括打开VS时看到的起始页。下面来看一下其中的一些重要窗口。

1)解决方案管理器(Solution Explorer)

在这里,我们可以查看和管理解决方案内的各个项目、项目所包含的文件,它们以树形的结构呈现。它的快捷键是Ctrl + W, S

2)属性窗口(Property Window)

按下F4(或Ctrl + W, P,可以查看当前选中项的属性。

3)工具箱(Toolbox)

这个窗口包含了若干控件的列表,可以将其拖拽到Winows窗体、网页、XAML窗口或WF的设计器上。它的快捷键是Ctrl + W, X

4)服务器管理器(Server Explorer) 

在这个窗口中可以查看和管理本地或远程的服务器,包括数据库、服务和其它的一些服务器资源。 快捷键是Ctrl + W, L

5)类浏览器(Class View)

这里显示了解决方案内的所有可用类型,并将它们按命名空间分组。快捷键是Ctrl + W, C

6)错误列表(Error List)

这里显示的信息并非全是错误(Error),还可以是警告(Warning)或信息(Message)。在编码或编译的时候可以查看这些信息。快捷键是Ctrl + W, E

7)输出窗口(Output Window)

VS中的大多数动作或任务都对应着相应的命令,这些命令会产生输出信息,如编译的时候。快捷键是Ctrl + W, O

8)任务列表(Task List)

这个窗口颇为有趣。可添加两种任务,一种是注释,比如“// TODO: Add a property here.”;另一种是用户自定义任务。这有点类似于常见的TODO List。快捷键是Ctrl + W, T

9)对象浏览器(Object Browser)

与类浏览器不同的是,对象浏览器可以查看所有相关的组件内所包含的类型信息。快捷键是Ctrl + W, J

好了,关于窗口先说这些,它们都可以在View菜单内找到。快捷键都是以Ctrl + W开头(属性窗口建议还是使用F4)。

我们身在何处

本文简要介绍了VS的历史及其基本要素,这样可以建立起对它的感性认识了。同时还稍微提及了VS的扩展性(也是本系列的主题),主要有三种方式,Macro、Add-In和VsPackage,它们各有所适用的场景,我打算从Add-In开始。在接下来的几篇随笔中,我将通过一些实例逐步展开对Add-In开发的讨论,同时会把代码放在Google Code上。如果您在日常开发中对VS扩展性有某些需求,欢迎分享:)

参考

《Professional Visual Studio 2008 Extensibility》
wikipedia-VisualStudio

 

 

from:http://www.cnblogs.com/anderslly/archive/2009/02/23/visualstudio-overview.html

时间: 2024-10-31 05:24:16

Visual Studio 2008 可扩展性开发(一):VS概览的相关文章

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 可扩展性开发(六):操作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 可扩展性开发(三):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可扩展性开发(一):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