前端开发Javascript智能感知(Intellisense)
2014-04-12 11:15
197 查看
工欲善其事必先利其器
引用指令referenceVisual 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的函数注解,针对不同的函数提供不同的注释,如下:
/// <signature> /// <summary>Perform an asynchronous HTTP (Ajax) request.</summary> /// <param name="url" type="String">A string containing the URL to which the request is sent.</param> /// <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> /// <returns type="jqXHR" /> /// </signature> /// <signature> /// <summary>Perform an asynchronous HTTP (Ajax) request.</summary> /// <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> /// <returns type="jqXHR" /> /// </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)会给你很多便利。呵呵,代价就是,要学很多规矩(反正就是记不住,只能是熟能生巧了)
相关文章推荐
- 前端开发Javascript智能感知(Intellisense)
- 2、步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)
- 步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)
- 步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)
- 步步为营VS 2008 + .NET 3.5(2) - VS 2008新特性之JavaScript Intellisense and Debugging(JavaScript的智能感知和调试)
- JavaScript Debugging and Intellisense, JavaScript obfuscator etc from VS 2005 to VS 2008 (VS2005到2008的变迁,JavaScript调试,智能感知/智能感应功能,JavaScript的混淆、压缩等功能的海变桑田)
- JQuery在vs2008中智能感知(JavaScript intellisense)的方法
- 『转』JavaScript Debugging and Intellisense, JavaScript obfuscator etc from VS 2005 to VS 2008 (VS2005到2008的变迁,JavaScript调试,智能感知/智能感应功能,JavaScript的混淆、压缩等功能的海变桑田)
- web前端案例-js开发智能鼠标感知遮罩层
- Web前端开发规范【HTML/JavaScript/CSS】
- 前端开发学习三——Javascript基础,变量提升(hosting)
- 【web前端开发技术】深入理解JavaScript中的依赖注入
- Red Gate系列之三 SQL Server 开发利器 SQL Prompt 5.3.4.1 Edition T-SQL智能感知分析器 完全破解+使用教程
- web前端-关于javascript开发的重要知识点
- web开发中,前端javascript代码的组织结构
- 前端开发面试题之 JavaScript
- Java后台开发总结,以及前端javascript日期转化
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-章节示例
- 将VS2008智能感知(IntelliSense)添加到工具栏
- 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍