如何讓自己寫的 JS 也擁有 tooltip (註解)
- 1172
- 2
在 Visual Studio 2008 以後開發 JS 上有了一個很好的變動,智能提示(Intellisense)的支援,在2010版的時候更加加強了這一塊的資源,使用 Visual Studio 開發 JS 的網友應該都能體會到智能提示(Intellisense)的方便性,但是官方也僅提供了 jQuery 和 jquery.validate 的支援,這些東西網路上一堆API可以查,有沒有提示說真的demo認為沒那麼重要,通常開發網站的時候一定作寫一些自己的 JS 檔,這些 JS 檔才是真正需要智能提示(Intellisense)的支援,當協同開發的時候令一位專案成員不需要每次都還要開啟檔案才知道這功能是幹什麼的、要怎麼用或是會回傳什麼。
這就是官方提供的 jQuery智能提示(Intellisense)還中文的呢。

假設我們自己寫了一個 JS 通常都會利用註解的方式來說明這 Function 是做什麼的。
//Input 只能輸入數字
function ValidateNumber1(e, pnumber)
{
if (!/^\d+$/.test(pnumber))
{
e.value = /^\d+/.exec(e.value);
}
return false;
}
//Input 只能輸入數字
function ValidateNumber2(e, pnumber)
{
if (!/^\d+[.]?\d*$/.test(pnumber))
{
e.value = /^\d+[.]?\d*/.exec(e.value);
}
return false;
}
//Input 只能輸入數字可以有小數點
function ValidateFloat(e, pnumber)
{
if (!/^\d+[.]?[1-9]?$/.test(pnumber))
{
e.value = /\d+[.]?[1-9]?/.exec(e.value);
}
return false;
}
在實際使用上,JS檔的註解根本沒意義.....

所以要利用 Visual Studio 看得懂的註解方式來上註解
function ValidateNumber1(e, pnumber)
{
/// <summary>
/// 限制 Inptu 只能輸入數字
/// </summary>
/// <param name="e">this</param>
/// <param name="pnumber">value</param>
/// <returns>只有數字</returns>
if (!/^\d+$/.test(pnumber))
{
e.value = /^\d+/.exec(e.value);
}
return false;
}
function ValidateNumber2(e, pnumber)
{
/// <summary>
/// 限制 Inptu 只能輸入數字(可包含小數點)
/// </summary>
/// <param name="e">this</param>
/// <param name="pnumber">value</param>
/// <returns>只有數字</returns>
if (!/^\d+[.]?\d*$/.test(pnumber))
{
e.value = /^\d+[.]?\d*/.exec(e.value);
}
return false;
}
function ValidateFloat(e, pnumber)
{
/// <summary>
/// 限制 Inptu 只能輸入浮點數
/// </summary>
/// <param name="e">this</param>
/// <param name="pnumber">value</param>
/// <returns>只有數字和小數點後一位</returns>
if (!/^\d+[.]?[1-9]?$/.test(pnumber))
{
e.value = /\d+[.]?[1-9]?/.exec(e.value);
}
return false;
}
把 JS 檔改成這樣後存檔
輸入這些東西可能很不直覺,你可以先去Class利用連按三下「/」來自動產生,或是使用第三方工具如CodeRush就可以在 JS 檔中自動產生這個註解格式

網友回應
- 小路

- 發表於: 2010-09-30
- 這技巧真是不錯,不知 VS2005 有否支援?
-
很抱歉手邊沒有VS2005可以測試,不過我記得是不支援的。
回覆於: 2010-10-01
- vicku

- 發表於: 2010-07-21
- 請問demo大您的JQuery的Intellisense~怎麼會有中文? 請問能分享嗎?謝謝!
-
Visual Studio 2010 就內建中文的囉
回覆於: 2010-07-21