天天看點

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

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固然強大,但不可能面面俱到。很多人都會有自己的特殊需求,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》

<a href="http://en.wikipedia.org/wiki/Microsoft_Visual_Studio" target="_blank">wikipedia-VisualStudio</a>

繼續閱讀