- 列出成員( List Members )
- 參數資訊( Parameter Information )
- 快速諮詢( Quick Information )
- 自動完成文字( Complete Word )
這四項功能,我認為每一樣都很重要,而且非常實用。
其中VS2008之中JavaScript支援是指原JavaScript內建物件成員的支援,如Array、String、Math、Date、Number等內建物件,這提供我們在撰寫JavaScript程式碼時極大的便利性,這一點是一般文字編輯器所做不到的。
But,如果是我們自行撰寫的JavaScript Function,是否也能像原JavaScript內建物件一樣支援IntelliSense,這就是今天的重點。
in-line撰寫JavaScript Function
in-line就是說在HTML中的<head>...</head>區段中加入<script type ="text/javascript">...</script>區段,然中在<script>區段中加入自行撰寫的JavaScript Function:function showName(firstName, lastName) { alert("First Name :" + firstName + ", Last Name :" + lastName); }
當你稍後引用時,就能發現VS2008會自動將你撰寫的Function showName()資訊加入IntelliSense之中,讓你享受IntelliSense所帶來的方便。不過在內嵌的JavaScript IntelliSense目前只能提供「參數個數」及「名稱資訊」。
在外部*.js中提供快速諮詢及參數資訊之說明文字提示
這部份我先說,我也不知道為什麼VS2008中在內嵌的JS裡無法使用以下提供的方法,以下提供的方法只能在外部獨立的JavaScript檔案使用。這個方法正式名稱為「XML Code Comment」(XML程式碼註解)。我們先在外部*.js中新增Function,然後在Function內加入XML程式碼註解。
- ///<summary></summary>,快速諮詢資訊
- ///<param name="參數名稱" /></param>
- ///<returns type="型別"></returns>,回傳值資訊
function showNameTime(firstName, lastName) { ///<summary>顯示使用者的姓名</summary> ///名字</param> ///姓名</param> alert("First Name :" + firstName + ", Last Name :" + lastName ); } function getTime() { ///<summary>目前時間</summary> ///<returns type="string">回傳hh:mm:ss格式</returns> var date = new Date(); var dateTime = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); return dateTime; }
現在把這個外部*.js引用到使用的網頁中(*.html, *.aspx),然後在需要使用的地方打上Function Name,你應該就可以看到與內嵌不一樣的效果,是完整度更高的JavaScript IntelliSense。
多個*.js檔案之間的JavaScript IntelliSense參考
既然這個 「XML程式碼註解」的方法,只能使用在「外部*.js」,那如果是在多個*.js的情況下,那是否可以「互相」參考後來產生對方*.js的JavaScript IntelliSense,答案是可以。showName.js裡有Function showName(),今天我有另一個getTime.js需要使用到showName.js,我想讓getTime.js支援showName.js的JavaScript IntelliSense,你只需要在getTime.js的第一行加入:
///<reference path="showName.js" />
然後你就能發現在撰寫getTime.js時也能參考到showName.js裡的IntelliSense,而且這種參考是可以雙向的,在showName.js中如果需要使用到getTime.js的Function,你也能在showName.js的第一行使用這個XML程式碼註解的方法。
強制更新JavaScript IntelliSense
也就是有時候如果你已經依照上述方法設定完成,但VS2008還來不及更新JavaScript IntelliSense,我們也可以手動更新這個JavaScript IntelliSense:「編輯」→「IntelliSense」→「更新JScript IntelliSense」
這樣就可以命令VS2008立即更新JavaScript IntelliSense,讓我們馬上可以使用JavaScript IntelliSense所帶來的便利。