转载自: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智能感知的智能感知上下文。如图所示:
 
一处引入整个解决方案的js文件就有了所有被引入到_references.js文件里的文件的智能感知。是不是很方便呢?
小技巧:_references.js文件不添加到解决方案也是可以生效的,只要在/Scripts/文件夹下就可以,你可以不把它部署到正事环境。
隐式引用Implicit Reference
设置这个开发工具的JS智能感知,在[工具]/[选项]里面,具体设置如下图所示:
 
VS2012支持重载的Visual Studio文件(VSDOC)
你可以通过<siguature>标签提供多个Function的函数注解,针对不同的函数提供不同的注释,如下:
  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智能感知的智能感知上下文。如图所示:
 
一处引入整个解决方案的js文件就有了所有被引入到_references.js文件里的文件的智能感知。是不是很方便呢?
小技巧:_references.js文件不添加到解决方案也是可以生效的,只要在/Scripts/文件夹下就可以,你可以不把它部署到正事环境。
隐式引用Implicit Reference
设置这个开发工具的JS智能感知,在[工具]/[选项]里面,具体设置如下图所示:
 
VS2012支持重载的Visual Studio文件(VSDOC)
你可以通过<siguature>标签提供多个Function的函数注解,针对不同的函数提供不同的注释,如下:
  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)

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

语法

<signature externalid="id" externalFile="filename"
helpKeyword="keyword" locid="descriptionID">
</signature>
参数

externalid

可选。 如果format 特性关于 <loc> (JavaScript) element is vsdoc, 此属性指定用于定位的带有签名相关的XML代码的成员编号。 不同于locid 特性,此属性指定应该加载在具有该ID的成员的所有元素。 所有关联的参考信息的 XML 代码与在签名中指定的元素也会合并。 这会使你指定额外的元素,例如<capability>, 在源文件中没有指定它们的附属文件。 externalid此特性是可选的。

externalFile

可选。 指定文件名查找 externalid。 如果没有externalid,则忽略此特性。 此特性是可选的。 默认值为当前文件的名称,但是具有 .xml 文件扩展名而不是 .js。 默认情况下,本地化的托管资源查找规则用于查找该文件。

helpKeyword

可选。 F1帮助关键字。

locid

可选。 有关字段本地化信息的标识符。 该标识符是成员编号或它对应于OpenAjax元数据定义在消息绑定的 name 属性值。 这个标示符依赖在 <loc> (JavaScript)标签中的指定形式。

备注

为.js文件中每个超载函数描述使用<signature>元素,或为每个外部成员编号使用<signature>元素。

在任何声明之前,<signature> 元素必须在函数体中。 当使用 <summary> (JavaScript)<param> (JavaScript),或 <returns> (JavaScript) 元素和<signature> 元素, 在<signature>块中放置其他元素。

下面的代码示例演示如何使用 <signature> 元素。

// Use of <signature> with externalid. 
// Requires use of the <loc> tag to identify the external functions. 
function illuminate(light) { 
    /// <signature externalid='M:Windows.Devices.Light.Illuminate()' /> 
    /// <signature externalid='M:Windows.Devices.Light.Illuminate(System.Int32)'> 
    ///   <param name='light' type='Number' /> 
    /// </signature> 

 
// Use of <signature> for overloads implemented in JavaScript. 
function add(a, b) { 
    /// <signature> 
    /// <summary>function summary 1</summary> 
    /// <param name="a" type="Number">The first number</param> 
    /// <param name="b" type="Number">The second number</param> 
    /// <returns type="Number" /> 
    /// </signature> 
    /// <signature> 
    /// <summary>function summary 2 – differ by number of params</summary> 
    /// <param name="a" type="Number">Only 1 parameter</param> 
    /// <returns type="Number" /> 
    /// </signature> 
    /// <signature> 
    /// <summary>function summary 3 – differ by parameter type</summary> 
    /// <param name="a" type="Number">Number parameter</param> 
    /// <param name="b" type="String">String parameter</param> 
    /// <returns type="Number" /> 
    /// </signature> 
    /// <signature> 
    /// <summary>function summary 4 – differ by return type</summary> 
    /// <param name="a" type="Number">The first number</param> 
    /// <param name="b" type="Number">The second number</param> 
    /// <returns type="String" /> 
    /// </signature> 
 
    return a + b; 
}

javascript 的智能提示intellisence用法的更多相关文章

  1. Visual Studio 2013开启JavaScript的智能提示功能

    在前一次的发布的时候,我们共享了Visual Studio 2013中Windows Azure移动服务的集成和功能.其中包含了移动服务表脚本的编辑能力的介绍.这一次的发布,我们将描述在Visual ...

  2. Eclipse添加Jquery和javascript的智能提示

    使用Eclipse写Jquery和Javascript代码的时候,是没有智能提示的.我们可以使用一个插件来解决这个问题. 安装完成后,Eclipse会自动重启.重启之后,我们在项目上右键,   根据自 ...

  3. ArcGIS for JavaScript 开发智能提示

    开发如果没有智能提示,可想而知是一件多举痛苦的事情,好在Esri为Visual Studio 2010.Aptana3提供了一个插件,这样就使我们在使用ArcGIS API for Javascrip ...

  4. 在使用VS过程中关于Javascript没有智能提示的解决方法

    问题:编写基本Script代码没有问题,但是在编写DOM代码时候没有智能提示.也就是在编写一般javascript代码时候没有问题,但是要写DOM代码的时候发现没有智能提示,如document等都需要 ...

  5. vs2015 不支持javascript的智能提示高亮

    有些人安装了vs2015后发现居然不支持javascrpt的高亮功能,连工具-选项-文本编辑器里面的javascript也没有了,楼主也碰到这么个情况了,估计是有与装了多个版本的原因,楼主电脑安装了V ...

  6. DevExpress的JavaScript脚本智能提示

    http://www.cnblogs.com/zhaozhan/archive/2011/06/08/2075767.html ASPxScriptIntelliSense.js在安装目录下的Comp ...

  7. Visual Studio 2012设置Jquery/Javascript智能提示

    Visual Studio 2012设置Jquery/Javascript智能提示 在Visual Studio 2008 Visual Studio 2010中微软已经开始支持jquery/java ...

  8. Visual studio 2017 中的Javascript智能提示与调试

    1.智能提示 对于JS文件中的API,你若需要让那个JS文件中的方法能够在你写的那个JS文件中能够智能显示的话,直接把它拉进你的JS文件中就好了. 举个例子:你想 在你正在写的a.js文件中引用b.j ...

  9. Visual Studio Code 使用 Typings 实现智能提示功能

    前言 我们知道在IDE中代码的智能提示几乎都是标配,虽然一些文本编辑器也有一些简单的提示,但这是通过代码片段提供的.功能上远不能和IDE相比.不过最近兴起的文本编辑器的新锐 Visual Studio ...

随机推荐

  1. Typecho部署安装

    此文章已经在这里上. 如果您看到这篇文章,表示您的 blog 已经在digitalocean.com安装成功.下面说下安装的步骤,此文章都是在digitalocean.com的centos上成功安装: ...

  2. HTML5之概述

    HTML5是万维网的核心语言.标准通用标记语言下的一个应用超文本标记语言(HTML)的第五次重大修改,是继HTML4.01和XHTML1.0之后的超文本标记语言的最新版本.它是由一群自由思想者组成的团 ...

  3. linux命令(6/10):find 命令

    Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟两种.系统时间是指当前Linux Kernel中的时钟, 而硬件时钟则是主板上由电池供电 ...

  4. Web前端学习笔记之BootStrap

    Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 它支持响应式布局,并且 ...

  5. SVN使用—常用命令及避免冲突的方法

    一.SVN启动 [root@localhost ~]# mkdir /data/svn [root@localhost ~]# svnadmin create /data/svn/test [root ...

  6. 用户登录ajax局部刷新验证码

    用户登录的时候,登录页面附带验证码图片,用户需要输入正确的验证码才可以登录,验证码实现局部刷新操作. 效果如图: 代码如下: #生成验证码及图片的函数  newcode.py import rando ...

  7. MySQL详解--锁,事务(转)

    锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共享的资源.如何保证数据并发访问的一致性.有效性是所有数 ...

  8. 20145219 《Java程序设计》第10周学习总结

    20145219 <Java程序设计>第10周学习总结 教材学习内容总结 Java的网络编程 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据. 网络概述 1.计算机 ...

  9. 转换数据库连接池为hikaricp

      hikaricp号称是最快的,今天转换过来试试 1.修改配置文件 <!-- Hikari Datasource --> <bean id="dataSource&quo ...

  10. spark学习12(Wordcount程序之spark-shell)

    在目录/home/hadoop/2016113012下有文件words.txt hello scala hello java hello python hello wujiadong 上传该文件到hd ...