欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

vs2008 JavaScript 语法提示(Intellisense)功能

程序员文章站 2023-11-21 10:08:04
vs2008 JavaScript 语法提示(Intellisense)功能...

visual studio 2008将是一个非常激动人心的版本,包含了成堆的强大的功能。其中一个新特性就是更加完善的支持对javascript的调试及intellisense功能。visual studio 2008其实是开发javascript程序最优秀的ide,对javascript的代码诱导能力最强,而且还可以进行断点跟踪调试调试。在本文中,将展示的这两方面的特性,希望为javascript的编辑及调试带来新开发方式,但愿读者能寻找到一款更好的javascript开发工具。
javascript 智能感知(intellisense)功能

java、c#等各种高级语言的开发工具琳琅满目,争放异彩。但作为ajax的主角的javascript语言,配套的开发工具总保持着不相称的沉寂。缺乏良好开发工具的支持,编写javascript程序,特别是超过500行以上的javascript程序变得极富挑战性——没有代码诱导功能,没有实时错误检查,没有断点跟踪调试……开发javascript代码有时就像在黑暗的隧道里靠触觉摸索着前行。在代码中不小心增加了一个多余的“(”或“{”,整段代码可能马上像一堵猝然倒塌的城墙,在ie中报出的错误往往似是而非,甚至和真实原因往往相差十万八千里,让人如堕云里雾里。好事者引用柳传志的话,概括编写javascript程序的感受:战战兢兢,如履薄冰。
(1) 无处不在的intellisense功能

开发人员对visual studio 2008中一个殷切期盼的特性是,visual studio 2008对客户端javascript intellisense的支持,当然这个特性在免费的visual web developer express版本中也能正常的工作。

visual studio 2008的javascript intellisense功能类似其他ide中的auto-completion,也就是能够自动补全,不过和vi和emacs中的auto-completion不一样,intellisense比较intelligent,根据编程语言的语法来谈出备选填。

如果读者以前曾为手工键入javascript感到烦恼的话,那肯定会为visual studio 2008的这个特性感到惊喜。visual studio 2008 为所有的.aspx 文件、.htm 文件以及外部的.js 文件中都提供完整的javascript intellisense自动完成功能。它不仅对普通的javascript代码提供了intellisense ,还对新的asp.net ajax 客户端javascript框架和用它编写的javascript代码提供了丰富的支持。
(2) 外部js文件的intellisense功能

visual studio 2008中的javascript intellisense支持之酷处在于,它被设计成开箱即可用(just work out of the box)的。这意味着,开发人员不需要对javascript文件运行别的工具来建立intellisense提示,也不用以某种方式来修饰javascript。如果在外部javascript文件中建有一个标准的javascript函数或原型类型,那么visual studio 2008中使用它时,就应该自动得到intellisense完成。

很明显,当外部js文件具在intellisense功能时,开发人员就可以像使用内部的javascript语句块一样进行调用。如此一来,就可以自动调用外部js文件中定义的javascript函数及变量。

例如,如下图所示,在些在文件中引用了两个.js文件 
 vs2008 JavaScript 语法提示(Intellisense)功能
于是,在mylibrary.js文件中即可以调用util.js文件中定义的方法了。当然,也可以让visual studio 2008让util.js具有intellisense功能。只需在mylibrary.js文件的最顶部加入注释即可。 
 vs2008 JavaScript 语法提示(Intellisense)功能
(3) javascript文档注释

visual studio 2008还允许开发人员可选择性地在代码/库中添加文档注释,来进一步帮助intellisense 引擎,以及允许开发人员提供文档注释,visual studio intellisense引擎可以收集这些注释,用作摘要注释和类型描述/验证检查。

譬如,如果开发人员可以把如下的注释添加到getmessage函数: 
 vs2008 JavaScript 语法提示(Intellisense)功能
当在default.aspx中进行编码时,visual studio 2008会自动的显示getmessage函数的相关信息。visual studio 会自动显示摘要的细节,以及在健入参数值时提供行内的帮助。

除了以上的基本javascript注释功能之外,asp.net ajax也使用文档摘要注释的格式。两者都可以:

给类、方法、参数添加摘要细节;本地化javascript中的文档;当一个外部javascript 文件引用另一个外部javascript 文件后,在使用前一个外部javascript文件时,让它的javascript intellisense认为,另外文件中的方法和类型在当前的范围内。

asp.net ajax 控件工具包现在也拥有了内置的msbuild任务,可以将其加到web项目里,该任务可以在项目以“发布”模式编译时,自动从javascript 文件中除去这些文档注释以及空格和其他不需要的内容。这提供了非常有用的功能,它允许在开发时维护调试/描述性的javascript版本,然后允许做个切换就可生成为运行时高效下载而优化的版本。