我很早以前就想找一個能夠像vs中c#一樣可以有很強的intellisense開發工具來寫腳本js,但是到現在還沒有能夠真正找到一理想的工具。很早以前聽說vs2007能夠給我帶來一點震撼,但是又有人說那只是對asp.net ajax有intellisense,又有點失落感。今天看到scottgu的一篇博客發現vs2007能夠提供幾乎和c#一樣的intellisense,讓我激動萬分,也由于很久沒有寫博客了順便把自己的一些體驗和大家分享一番。
由于我不是msdn雜志的訂閱者,而我很討厭vpc虛擬機(內存有點不夠用,呵呵,所以還沒能用上visual studio 2007 code name "orcas" beta1版,用于體驗的還是march ctp的,或許在后面的版本中將會有所不同。當我們在<script></script>標記中隨便敲入一個字符時,就會給我們像c#一樣的體驗,這樣不但能提高開發效率,也能大大降低我們的錯誤。還有一個快捷鍵能夠將默認的intellisense給顯示出來,此快捷鍵為ctr+j,有機會可以試試。請看下圖:
從上圖所看到的是vs2007中對普通函數的支持,同時他也對我們在html標記中定義的id屬性值的支持,就猶如服務端控件的id屬性值一樣。在asp.net ajax的支持更是強大,它能按命名空間,類等來提示,也就是說和c#中的intellisense有的一拼,從下面的兩張圖中可以看出他的偉大,命名空間,類,屬性,方法,枚舉等無一放過。
我想只是這樣的提示,當我們有很多方法或屬性時還是不知道當時設計的時候是怎樣個想法或者說那么多的方法我怎么知道他是用來做什么的呢?不用著急,待我慢慢道來,微軟早就考慮到這一點,js也支持xml注釋,當然當我們發布時編譯器會把我們注釋文檔給過濾了,不然腳本太大可是會降低我們應用程序的性能。js的注釋和c#差不多,都用"///"來注釋,用"<summary></summary>"來表示摘要,用"<param name=""></param>"來表示參數等,這里就不多說了,唯獨不同的是注釋的位置。在c#中我們把注釋寫在方法或類等的上方,而js是寫在方法或類等的下方,這可能回和c#區別開而不會讓程序出現錯誤提示(只是猜想沒有根據,呵呵)。根據我的觀察,當我們注釋時就會激活typelibbuilder.exe來收集這些注釋,并保存在內存(猜的)中就像字典一樣,當我們應用時來收集并顯示出來。
在vs2005的html或aspx等頁面中的<script></script>標簽中寫代碼時就會提示一些基本的js關鍵字和一些對象方法,在vs2007中得到更好的支持。當然我們制作一個程序時會有很多個js文件,引用多個js文件而各個js文件中又會相互調用,怎樣在js文件中對另一個js文件中方法等的intellisense呢?讓我們一起來享受一下。
為了能夠在對另一個js文件實現intellisense當然要引入某個文件的信息,這樣才能夠對另一個文件的方法等進行提示。我們只是應用另一個文件的一些普通方法
| 以下為引用的內容: ///<reference path="jscript1.js"> |
當我們用asp.net ajax等時,我們就會涉及到"程序集"(這個概念我也不是很清楚,等以后會慢慢揭開這個模糊的概念的,我們先不要管他)。當我們要對某一個程序及進行相關操作時,將path改成name,可以加入程序集assembly以表示引用當前程序集的某個文件。如果將assembly省略則表示對system.web.extensions進行引用
| 以下為引用的內容: ///<reference name="microsoftajax.debug.js"> |
ok,寫到這里也差不多了,或許還有很多新的體驗等著我們去享受,從上面的一些例子中我們就可以看出vs2007對js的支持有多強。有了這個東東,我想在不久的將來js牛人會越來越多,ajax的腳本開發將會更簡單更高效,讓我們等待vs2007,擁抱那美好的明天,呵呵!
新聞熱點
疑難解答