VS2008的JavaScript代码智能提示功能的注释详解

来源:互联网 发布:花王淘宝旗舰店真的吗 编辑:程序博客网 时间:2024/05/16 18:33
1、JavaScript Intellisense功能

自动识别变量的运行时类型 
自动判断方法返回类型 
自动识别引用的JS文件内容 
Microsoft AJAX Library支持 


有几个详细的说明

使用javascript的src引入的js文件中的方法,可以生成智能提示 
如果要引入支持Asp.Net Ajax Library支持的js文件,需要在js文件头中加入 
复制  保存
/// <reference name="MicrosoftAjax.js"/>
 
代码,表明在js文件中引入别的js文件,在name后可以加上程序集的名称也就是Assembly="..."。如果引入当前项目的js文件可以使用path元素,指定js的路径。
可以在解决方案资源管理器中拖拽MyScript到script,会自动生成下面的代码。
可以在编辑→Intellisense→更新JScript Intellisense→强制即时更新智能提示。
复制  保存
/// <reference path="MyScript.js"/>
 
当然在页面上引入支持Ajax Libaray的js文件使用ScriptManager的ScriptReference节点。 

引入一个WebService也可以生成智能提示。 

VS2008的智能提示功能可以检测代码的逻辑性。如if语句中的判断等于的符号写成了=号,那么会给出消息提示 

2、JavaScript Comment功能

类似于.net中的注释功能,使用XML形式为JavaScript的各成员做注释,供VS 2008的JavaScript Intellisense使用,并用于自动生成文档。

提供成员的描述信息 
复制  保存
///<summary>///Description///</summary>
 
提供对于参数的描述信息 
复制  保存
<param name="parameterName" mayBeNull="true|false"    optional="true|false" integer="true|false"    type="ParameterType (Number, String, etc)"    parameterArray="true|false" domElement="true|false"    elementType="ArrayElementType"    elementInteger="true|false"    elementDomElement="true|false"    elementMayBeNull="true|false">Description</param>

对方法的返回值进行描述 
复制  保存
<returns type="ValueType"    integer="true|false"    domElement="true|false"    mayBeNull="true|false"    elementType="ArrayElementType"    elementInteger="true|false"    elementDomElement="true|false"    elementMayBeNull="true|false">Description</returns>
 
对属性的值进行描述 
复制  保存
<value type="ValueType" integer="true|false"    domElement="true|false"    mayBeNull="true|false"    elementType="ArrayElementType"    elementInteger="true|false"    elementDomElement="true|false"    elementMayBeNull="true|false">Description</value>

对于域变量或枚举项进行注释 
复制  保存
<field name="fieldName" type="FieldType"    integer="true|false" domElement="true|false"    mayBeNull="true|false" static="true|false"    elementType="ArrayElementType"    elementInteger="true|false"    elementDomElement="true|false"    elementMayBeNull="true|false">    Description</field>

详细说明一下里面的属性的功能。

mayBeNull:判断值是否可以为空值。
optional:是否是必填参数。

integer:一个变量如果是Number类型,决定这个类型是否是整数
parameterArray:变量是否是一个Array

domElement:判断变量是否是一个文档模型里的成员。
elementType:如果变量是一个数组,那么描述这个数组里的成员类型。

elementInteger:如果数组成员是Number类型,描述这个数组里的成员是否是整形。
elementDomElement:描述数组成员是否是文档对象。

elementMayBeNull:描述数组成员可否为空
static:描述类成员是否是静态的

注意:在VS2008中javascript的描述应该写在方法的{符号之后,包括域变量或枚举项描述写在构造函数的{符号之后,如下例
复制  保存
Demo.MyCommentedClass = function(){    /// <summary>It''s MyCommentedClass''s description</summary>}Demo.MyCommentedClass.prototype = {    myMethod: function(p)    {        /// <summary>It''s MyCommentedClass''s "myMethod" method</summary>        /// <param name="p" type="Number" integer="true" mayBeNull="true">An integer</param>        /// <returns type="Demo.MyEnum">Just try it</returns>    },    get_myDiv: function()    {        /// <summary>That''s an property</summary>        /// <value type="Object" domElement="true">This returns an div element</value>    }}

更详细请看WebCast ASP.NET AJAX深入浅出系列课程(19):VS 2008的JavaScript代码提示功能(Level 200) 
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?culture=en-US&EventID=1032358641&CountryCode=US

最后提示VS2008SP1+Win2003SP2简体中文版本,我测试在htm文件中的智能提示注释无效,只能在文件中有效。如果js文件太过大,或者太过复杂,或者其他因素,也有可能无效。奇怪,智能提示在文件内的显示不出来,晕。

一般情况下只用<summary><param type="Number"><returns>这几个属性就可以了,因为写了也看不到有什么特殊功能,可能是我不知道,<returns>好像现在也不能看到有什么显示。
原创粉丝点击