转载自:http://blog.csdn.net/applewangpai/article/details/23517087
 
引用指令reference
Visual Studio 2012支持的Javascript Intellisense功能都是微软预先在vs开发工具中定义好的javascript文档,通过以下路径的.js文件来提供智能感知的功能:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\JavaScript\References\domWeb.js
关键字reference:( 指令,引用其他 JavaScript 文件)
只需要在当前的a.js文件中,加入///<reference path="b.js">就可以在当前的a.js文件里面提供b.js定义的函数的智能感知
在vs2012中默认在/Scripts/ 目录下新增加了一个_references.js 文件,里面列出了所有的当前解决方案,所需要引用的Js智能感知的智能感知上下文。如图所示:
javascript 的智能提示intellisence用法
 
一处引入整个解决方案的js文件就有了所有被引入到_references.js文件里的文件的智能感知。是不是很方便呢?
小技巧:_references.js文件不添加到解决方案也是可以生效的,只要在/Scripts/文件夹下就可以,你可以不把它部署到正事环境。
隐式引用Implicit Reference
设置这个开发工具的JS智能感知,在[工具]/[选项]里面,具体设置如下图所示:
javascript 的智能提示intellisence用法
 
VS2012支持重载的Visual Studio文件(VSDOC)
你可以通过<siguature>标签提供多个Function的函数注解,针对不同的函数提供不同的注释,如下:
[javascript] view plain copy
 
 javascript 的智能提示intellisence用法javascript 的智能提示intellisence用法
  1. /// <signature>  
  2. ///   <summary>Perform an asynchronous HTTP (Ajax) request.</summary>  
  3. ///   <param name="url" type="String">A string containing the URL to which the request is sent.</param>  
  4. ///   <param name="settings" type="Object">A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings.</param>  
  5. ///   <returns type="jqXHR" />  
  6. /// </signature>  
  7. /// <signature>  
  8. ///   <summary>Perform an asynchronous HTTP (Ajax) request.</summary>  
  9. ///   <param name="settings" type="Object">A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup().</param>  
  10. ///   <returns type="jqXHR" />  
  11. /// </signature>  

参考资料:http://msdn.microsoft.com/zh-cn/library/bb385682.aspx

对于VS强大的功能,我们还可以扩展Javascript Intellisense的智能感知的功能。有个内置的语言服务intellisense 对象

我们可以给自己的js类库添加注解:

1.命名规则 demo.js,demo.intellisense.js

2.上面2个文件必须在同一个目录下,否则不能提供数据注解的智能感知,demo.intellisense.js可以不必包含在在解决方案中

3.智能感知可能不会立马生效,要过一会儿或者重新打开解决方案才行

 

扩展功能:

微软设计的东西一般都遵循一个原则:惯例优先原则(也就是自动发现机制automatic discovery mechanism)

EntityFramework有这样的机制,当然Javascript的智能感知也不会例外,这也正是微软的强大之处,总的来说微软的设计和想法还是很不错的,既是:你(开发人员)要按照我的套路出牌,我(IDE)会给你很多便利。呵呵,代价就是,要学很多规矩(反正就是记不住,只能是熟能生巧了)

引用指令reference
Visual Studio 2012支持的Javascript Intellisense功能都是微软预先在vs开发工具中定义好的javascript文档,通过以下路径的.js文件来提供智能感知的功能:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\JavaScript\References\domWeb.js
关键字reference:( 指令,引用其他 JavaScript 文件)
只需要在当前的a.js文件中,加入///<reference path="b.js">就可以在当前的a.js文件里面提供b.js定义的函数的智能感知
在vs2012中默认在/Scripts/ 目录下新增加了一个_references.js 文件,里面列出了所有的当前解决方案,所需要引用的Js智能感知的智能感知上下文。如图所示:
javascript 的智能提示intellisence用法
 
一处引入整个解决方案的js文件就有了所有被引入到_references.js文件里的文件的智能感知。是不是很方便呢?
小技巧:_references.js文件不添加到解决方案也是可以生效的,只要在/Scripts/文件夹下就可以,你可以不把它部署到正事环境。
隐式引用Implicit Reference
设置这个开发工具的JS智能感知,在[工具]/[选项]里面,具体设置如下图所示:
javascript 的智能提示intellisence用法
 
VS2012支持重载的Visual Studio文件(VSDOC)
你可以通过<siguature>标签提供多个Function的函数注解,针对不同的函数提供不同的注释,如下:
[javascript] view plain copy
 
 javascript 的智能提示intellisence用法javascript 的智能提示intellisence用法
  1. /// <signature>  
  2. ///   <summary>Perform an asynchronous HTTP (Ajax) request.</summary>  
  3. ///   <param name="url" type="String">A string containing the URL to which the request is sent.</param>  
  4. ///   <param name="settings" type="Object">A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings.</param>  
  5. ///   <returns type="jqXHR" />  
  6. /// </signature>  
  7. /// <signature>  
  8. ///   <summary>Perform an asynchronous HTTP (Ajax) request.</summary>  
  9. ///   <param name="settings" type="Object">A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup().</param>  
  10. ///   <returns type="jqXHR" />  
  11. /// </signature>  

参考资料:http://msdn.microsoft.com/zh-cn/library/bb385682.aspx

对于VS强大的功能,我们还可以扩展Javascript Intellisense的智能感知的功能。有个内置的语言服务intellisense 对象

我们可以给自己的js类库添加注解:

1.命名规则 demo.js,demo.intellisense.js

2.上面2个文件必须在同一个目录下,否则不能提供数据注解的智能感知,demo.intellisense.js可以不必包含在在解决方案中

3.智能感知可能不会立马生效,要过一会儿或者重新打开解决方案才行

 

扩展功能:

微软设计的东西一般都遵循一个原则:惯例优先原则(也就是自动发现机制automatic discovery mechanism)

EntityFramework有这样的机制,当然Javascript的智能感知也不会例外,这也正是微软的强大之处,总的来说微软的设计和想法还是很不错的,既是:你(开发人员)要按照我的套路出牌,我(IDE)会给你很多便利。呵呵,代价就是,要学很多规矩(反正就是记不住,只能是熟能生巧了)

 

简单总结:

1. 只要我们在script文件夹里面增加了js文件,就会自动在_reference.js里面增加相应的引用

2. 我们在js的函数下面加入如下<signature>标签,就可以实现智能提示的功能,或者建立jsname.intellisence.js的文件名单独声明

    $.fn.Hotkeys = function (options, param) {
        /// <signature>
        ///   <summary>Hotkeys constructor function</summary>
        ///   <param name="options" type="string">string name indicate Hotkeys plugin function name</param>
        ///   <param name="param" type="parameter"> </param>
        ///   <returns type="jQuery" />
        /// </signature>

3. <singnature>标签的使用

 

<signature> (JavaScript)
 

一组函数或方法的相关元素可以为重载函数提供文档。

参数
externalid

externalid此特性是可选的。

externalFile

默认情况下,本地化的托管资源查找规则用于查找该文件。

helpKeyword

F1帮助关键字。

locid

<loc> (JavaScript)标签中的指定形式。

备注

<signature>元素。

<signature>块中放置其他元素。

<signature> 元素。

}

相关文章:

  • 2022-01-30
  • 2021-06-07
  • 2022-01-09
  • 2022-12-23
  • 2021-07-23
  • 2021-04-25
  • 2022-12-23
猜你喜欢
  • 2021-12-10
  • 2021-08-20
  • 2021-12-23
  • 2022-12-23
  • 2022-01-14
  • 2021-07-19
  • 2022-12-23
相关资源
相似解决方案