讓開髮變得簡單一點- Visual Studio 2010幾個讓人印象深刻的新功能

来源:互联网 发布:电脑删除数据恢复 阻止 编辑:程序博客网 时间:2024/05/14 21:38

转:http://rritw.com/a/bianchengyuyan/PHP/20101003/43715.html

引言

"我們的目標,不僅僅是做出幾個新功能,而是要回答一個問題:'如何讓現在的開發人員生活更容易一些'"---Scott Guthrie, ASP.NET之父,微軟副總裁。
因為學習WF4的緣故,早在去年,我很不情願得在我的筆記本上安裝了Visual Studio 2010 beta1,一個字,慢,是無法忍受的慢,還沒怎麼用就已經卸載。 beta 2版本有了很多很大的改進,但仍舊非常不好用。那時記得和VS2010測試組的朋友打羽毛球的時候,我半開玩笑的問他們,這麼大的bug你們都沒測出來,還打不打算讓我們用VS2010!還記得一件事,我遇到一個WF4設計器的bug,於是在討論組上發了一封郵件,居然有一個項目經理直接打電話過來幫助解決問題 ,至今記憶深刻。 VS 2010到了RC階段已經非常不錯,VS2010正式版出來後,我同時也把VS2008卸載了。這一系列的改進也讓我想起微軟開發軟件的一個原則,先把功能做出來再說,優化是以後的事。正如敏捷開發講的,一開始就全面考慮有時反而無法讓事情成功的繼續下去。

基於WPF

Visual Studio 2010是基於WPF的,基於WPF同時也意味著兩件事: 1.需要稍微好一點的顯卡(支持DirectX9.0.目前很多集成顯卡都支持DX9) 2.更加漂亮,強大的界面。曾經有人質疑(包括我),這次VS2010全面用WPF根本就是瞎折騰,如果你也這麼認為,看完這篇文章後你的想法或許會和我一樣發生轉變。

C#代碼編輯器

VS2010 的代碼編輯器是我放棄VS2008 的第一個重要原因:

1.可獨立拖放的窗口

你應該遇到過這樣的情形,一邊看著文檔,一邊寫代碼。在Windows7裡我們可以把兩個窗口貼到左右邊框,就像這樣:
代碼編輯區就變的很小. 但是在VS2010裡我們可以把代碼窗口拖出來:
這樣一來,可編輯窗口頓時多出了不少,如果你有多個顯示器,還可以一個屏幕放一個代碼編輯器。這樣的功能在VS2008裡是做不到的。

2. 代碼高亮

代碼高亮功能在讀代碼的時候特別有用,看這張截圖:
也就是說,當你點擊某個對象的引用的時候,指向同一個對象的其他引用也同時會顯示出來。

3. 代碼批量修改

寫程序的時候經常會遇到批量改變量名的情形,如果變量已經存在於代碼的各個角落裡,然後再去手動一個一個改過來那是一件非常非常痛苦的事情,而且很容易出錯! ,在VS2010裡我們可以點擊一個變量名讓其高亮,然後直接修改變量名,在提示框裡點擊"Rename 'bookmarkName' to 'bkName'"即可.

4. 代碼塊選取

這個功能用到的不多,但是在某些場景下確非常實用,比如,拷貝一段帶行號的代碼的時候,這個功能就發揮作用了。在下面這個場景中,我們只要按住Alt 鍵,然後拖動鼠標就可選取行號,然後delete 刪除:

5. 代碼提示和自動註釋

這兩個功能在VS2008裡就有,但感覺在VS2010裡速度更快一些。很多時候你會忘記了某個類名的拼寫,這個時候你只要按住Alt+ ->(右方向鍵)就可以彈出提示框。在方法(Method)前面輸入/// , 編輯器就會自動生成註釋:

6. 矢量字體

因為WPF界面是基於矢量的,因此VS2010的代碼字體也擁有了矢量特性。矢量字體意味著你的代碼字體不管放大多少倍都不會出現顆粒化或者鋸齒。
這個功能在做演示的時候特別有用,當然編程的時候代碼看起來也更加舒服。

WF4 工作流設計器

這篇文章說的是VS2010 為什麼說到WF4 去呢?因為WF4的設計器在VS2010裡才有,VS2008裡沒有。 Windows Workflow Foundation 4 - WF4 是.NET4的一大精華,其設計器也是VS2010 的一大亮點。
微軟在技術上有一個戰略:用WF工作流來處理邏輯,WCF處理通訊,WPF/Silverlight和ASP.NET處理表現層,畫一張圖的話應該是這樣的:
也因為WF工作流在現代軟件開發中的重要作用,微軟甚至放棄了對WF3(WF3.5)進行升級,轉而重新設計一套工作流框架-WF4.這不能不說是冒了很大的風險的。但是,到底是什麼原因促使微軟做出這樣的決定呢? WF3的推廣已經不錯,很多人花了很多精力和時間去學習WF3。現在卻要重新學習WF4,難道不怕用戶倒戈?就我個人而言,我一開始是非常排斥WF4的,因為好不容易學會這麼複雜的WF3,現在又要學一套新的東西,太折磨人了。但是經過"折磨"之後,我還是認為WF4 非常的棒,值得一學。現在讓我來思考這件事的話,我認為應該是以下三個原因推動了微軟作出這樣大膽的決定:
1. WF3 太慢,WF3真的挺慢的,每次的狀態轉換都要把整個活動進行序列化,我們知道,序列化是非常消耗資源的。
2. WF3 的設計器是基於Win Form 的,沒有WPF那麼容易自定義作出漂亮的界面。
3. WF3 的標記語言使用的是XOML 而不是現在微軟正在努力推廣的XAML。
而WF4 恰恰是在這三點上有了巨大的提升,不僅更容易學習,運行的速度也更加快。目前WF4 支持三種工作流,分別是:
順序工作流(Sequence Workflow):
圖表工作流(Flowchart)
<img alt="" src="http://rritw.com/uploads/allimg/2010-10-02/1286047349141854.png" blog.51cto.com="" viewpic.php?refimg=" + this.src)" >="" <="" div="">
以及最新推出的WF4 狀態機工作流(WF4 State Machine, 目前還處於CTP1階段):
伴隨.NET Framework4和VS2010而來的WF4不是一篇文章能講的完的,有興趣的朋友可以在MSDN上找到更多資料。

開始支持UML

長久一來,微軟都不大喜歡UML, 在以前版本的VS裡也只提供類設計器,卻沒有UML設計器。但作為業界標準的UML的確比類設計器的要強大。在表示不同類,接口之間關係的時候也更加的清晰。說實話,VS2010的UML的設計功能讓我興奮不已。 VS2010 的UML設計器不僅支持設計而且還支持逆向工程.。好吧,讓我們來動手體驗一下:

1. 創建UML工程

點擊File->New Project, 然後如下圖所示做出選擇:
然後加入一個UML 類設計圖(UML ClassDiagram):
我想,這次,做.NET 開發的朋友們該有動力去學習UML了。除了用這種方式創建UML圖意外你也可以通過點擊Architecture菜單下的New Diagram…往某個工程裡添加UML圖。

2. 逆向工程

VS2010 的UML還支持逆向工程,同樣是在Architecture菜單下面
比如我目前有一個工程,生成的圖如下:
當你點擊展開的時候,還會有動畫效果,如果是在視頻裡我相信能展現更多的特性。

3. 根據代碼生成時序圖

任意打開一段代碼,比如說下面這段異步發送Http 請求的代碼:
然後在Run() 方法上點擊右鍵,選Generate Sequence Diagram
然後會彈出一個選項對話框,點確定,於是,很神奇的,一張時序圖就生成了:

總結以及更多資源

Visual Studio 2010包含了太多的功能,一篇文章無法全部介紹完,如果你平常使用的是C++,你可以看這篇文章:
Exploring New C++ and MFC Features in Visual Studio 2010
如果你對VS2010 的性能分析感興趣,請看這篇文章:
Performance Tuning with the Concurrency Visualizer in Visual Studio 2010
如果你對Entity Framework 4.0 和WCF Data Services 4.0 感興趣, 請看這篇文章:
Entity Framework 4.0 and WCF Data Services 4.0 in Visual Studio 2010
更多的關於SharePoint, Office 開發相關,請看這篇文章:
Better Coding with Visual Studio 2010
文章開頭Scott Guthrie 的引言來自這裡:
Scott Guthrie on Visual Studio 2010

本文出自“ Xhinker ”博客,請務必保留此出處http://xhinker.blog.51cto.com/640011/313055

本文出自51CTO.COM技術博客

 

 

原创粉丝点击