2014-02-11 91 views
0

我知道你可以使用< loc>進行本地化,但它似乎仍需要正常功能(即重複標記)中的XML註釋。我想要做的就是像往常一樣寫功能,甚至可能沒有評論,但是智能感知來自另一個文件。事情是這樣的:JavaScript的外部intellisense文件?

MyScript.js

function herp(a) { 
    return ('merp'); 
} 
function derp(a) { 
    return ('merp'); 
} 

MyScript.intellisense.js

function herp(a) { 
    /// <summary>This function herps a flerp.</summary> 
    /// <param name='a' type='String'>The flerp you want to herp.</param> 
    /// <returns>The finished herp</returns> 
} 
function derp(a) { 
    /// <summary>This function derps a flerp.</summary> 
    /// <param name='a' type='String'>The flerp you want to derp.</param> 
    /// <returns>The finished derp</returns> 
} 

然後,在我的主要site.js文件我可以輸入

herp(

,並看到工作intellisense。

+0

有點兒:/// 根據HTTP ://msdn.microsoft.com/en-us/library/bb514138.aspx – dandavis

+0

這是爲了本地化,正如我在我的介紹中所述。這可能是我必須使用的,但它不是我想要的,因爲它需要您將一些XML內聯,即使它被本地化文件覆蓋。 –

+0

你可以編寫一個dev-only shell js文件來嘲笑實際的功能,但包含xml註釋。如果您將它加載到「真實」js文件的下一個,並且阻止來自真實文件的xml註釋,並且這兩個文件中的函數/對象名稱匹配,則它可能會起作用。你有點已經在你的問題的代碼... – dandavis

回答

0

所以基本上它的工作原理與結構如下期望:

functions.intellisense.js

function herp(a) { 
    /// <summary>This function herps a flerp.</summary> 
    /// <param name='a' type='String'>The flerp you want to herp.</param> 
    /// <returns>The finished derp</returns> 
} 
function derp(a) { 
    /// <summary>This function derps a flerp.</summary> 
    /// <param name='a' type='String'>The flerp you want to derp.</param> 
    /// <returns>The finished derp</returns> 
} 

functions.js

function herp(a) { 
    return ('merp'); 
} 
function merp(a) { 
    return ('merp'); 
} 

site.js(intellisense可以作爲在該文件中所希望的)

/// <reference path="functions.intellisense.js" /> 

window.onload = function() { 
    alert(herp('test')); 
} 

的index.html

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <title></title> 
</head> 
<body> 
    Documentation/intellisense test. 
    <script src="Scripts/functions.js"></script> 
    <script src="Scripts/site.js"></script> 
</body> 
</html>