怎樣能夠合理的搭建開發(fā)VS2005的環(huán)境手冊
那天去微軟網(wǎng)站找東西,不小心看到了開發(fā)VS2005 的組件和Express Beta版本下載,于是就把它們下載了來下來試用?,F(xiàn)在就把我使用開發(fā)VS2005 期間的感想,向大家敘述一下。
這次提供下載的是VS2005 Express Beta 1版包括VB、C#、VC++、J#、WebDev和SQL Server的2005版本,但都是Express即精簡的版本,只提供了最基本的功能。另外與之配套提供下載的還有.NET Framework 2.0、VJ# Redistributable Pack 2.0和精簡版的MSDN。這也東東也可以向微軟訂購免費(fèi)的光盤,可惜要支付$30的郵費(fèi)。
#t#我依次安裝了.NET Framework 2.0、VJ# Redistributalbe Pack和SQL Server 2005。然后安裝VC++(其它幾個包還在下載中)。整個過程都相當(dāng)?shù)捻樌?,除了SQL Server安裝程序提醒我我的機(jī)器配置太低外先來看看VC++吧。
Definition面板的功能我在Source Insight中見過,還是比較有用的,就是當(dāng)編輯區(qū)中光標(biāo)落在某個標(biāo)識符上時,Definition面板中將相應(yīng)顯示出這個標(biāo)識符的定義供你參考,并可以迅速切換到相關(guān)的位置以便修改。
Call Browser面板則可以顯示出一個方法調(diào)用了其它哪些方法以及這個方法在哪些地方被調(diào)用過。感覺上這個功能對代碼重構(gòu)會很有幫助。很遺憾在VC++中沒有找到重構(gòu)的功能,好像只是在VC#中實(shí)現(xiàn)了。
VC++從2003版開始支持了Windows Forms的可視化設(shè)計(jì),在2005版中,窗體設(shè)計(jì)功能也有了不少的進(jìn)步,最明顯的就是控件自動對齊功能,省去了原先很煩的對齊控件的操作。智能標(biāo)記的功能(如果用過VS2003做ASP.NET就會注意到控件角上會有一個綠色的小三角,這就是智能標(biāo)記功能,但那時并沒有用)也開始在部分控件上使用。窗口設(shè)計(jì)器還增加了一種稱為Property Editing View,可以對控件的常用屬性進(jìn)行十分方便的修改。
同時,就Windows Form本身而言,.NET 2.0也為它增加了不少的控件,新的DataGridView控件取代了原來的DataGrid,還增加了Serial Port(操作串口)、BackgroundWorker(多線程)、WebBrowser(對WebBrowser ActiveX控件的托管封裝版本)等不少實(shí)用的組件。很遺憾的是我沒有在這個Express版中找到對ADO.NET的支持,所以對數(shù)據(jù)訪問還沒有能有所認(rèn)識。
其實(shí)開發(fā)VS2005 5最大的變化恐怕并不是開發(fā)環(huán)境的變化,由于原先VC用于支持.NET的Managed C++語法實(shí)在過于麻煩難看,所以VC2005引入了全新的語法來支持.NET,這就是最近的一個熱門話題C++/CLI,它對標(biāo)準(zhǔn)C++進(jìn)行了擴(kuò)展,目前正在進(jìn)行國際標(biāo)準(zhǔn)化的工作。關(guān)于C++/CLI的新特性,我正在學(xué)習(xí)中,隨后將貼文總結(jié)。
今天我們一起來詳細(xì)探索一下VC++2005中C++/CLI為我?guī)砹四男┬碌奶匦?。首先,C++/CLI引入了一些新的數(shù)據(jù)類型關(guān)鍵字:
ref class/ref struct、value class/value struct、interface class/interface struct、enum class/enum struct,在C++/CLI中
class和struct不具有C#的語意,而是仍然保持在C++中的區(qū)別,即默認(rèn)的訪問級別不同。在C++/CLI中,ref class/ref struct具有C#中l(wèi)ass的語意,而value class/value struct具有struct的語意。相應(yīng)的interface class/interface struct和enum class/enum struct分別類同于C#中interface和enum的語意。在這里,以ref class為例,雖然它們是兩個單詞,但它們共同組成了一個關(guān)鍵字,也就是說,在C++/CLI中,關(guān)鍵字中可能會包含空格。
開發(fā)VS2005 就是要把多個單詞合起來理解成是一個關(guān)鍵字,而不能把它們孤立開。在C++/CLI中,關(guān)鍵字還分為上下文敏感和上下文不敏感的,前面提到的關(guān)鍵字都是上下文不敏感的,即它們無論出現(xiàn)在哪里,都表示是關(guān)鍵字,不能用作標(biāo)識符。而上下文敏感的關(guān)鍵字則只在它們應(yīng)當(dāng)出現(xiàn)的地方才作為關(guān)鍵字,否則將不具備任何特殊的含義,包括可以作為標(biāo)識符使用。