VS 2008中JavaScript编辑调试器的秘密

JavaScript已经发展成为进行Web客户端编程的标准语言。它有大量的语言资源,但是对开发的支持并不完备。大多数使用JavaScript的开发人员更倾向于用原来的方法进行调试,但是现在有很多工具来减轻测试和调试的负担。

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文件


于是,在MyLibrary.js文件中即可以调用Util.js文件中定义的方法了。当然,也可以让Visual Studio 2008让Util.js具有Intellisense功能。只需在MyLibrary.js文件的最顶部加入<reference>注释即可。


(3)JavaScript文档注释

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

譬如,如果开发人员可以把如下的注释添加到getMessage函数:


当在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版本,然后允许做个切换就可生成为运行时高效下载而优化的版本。

时间: 2024-09-10 23:01:01

VS 2008中JavaScript编辑调试器的秘密的相关文章

在C++中如何使用调试器逐步跟踪程序

在VC++6.0中的单步调试: 调试重要的几个键: F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点. F5调试状态运行程序,程序执行到有断点的地方会停下来. F10单步执行程序. CTRL+F10运行到光标所在行. F11和F10的区别是,如果当前执行语句是函数调用,则会进入函数里面. SHIFT+F11跳出当前所在函数. 步骤: 1,保存为c或c++文件 2,根据断点调试找到错误处. 3,采用F10或F11单步调试找到精确的错误处.其中f10是跳过函数盗用,f11是进入函数体调

兄台们请指教:eclipse3.4中javascript编辑时我提示.?

问题描述 我今天下载了eclipse3.4据说含有jsdt可以对js进行调试,尝试后发现的确可以调试,但是在编辑js的时候却没有广告中所展示的诸多功能,比如编辑js时打"."也没有提供功能等等...烦劳有经验者给予明示如何能做到像jsdt介绍那样的功能呢?先在此谢过了... 解决方案 解决方案二:建议安装Spket的插件.编辑时就会有自动提示功能.下载地址:http://spket.com/配置教程:http://www.cnblogs.com/meetrice/archive/200

在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Visual Studio 版本与 2012 中,调试在远程计算机上的管理的代码需要符号文件还查找了远程计算机. 现在,这已经不成问题了. 所有符号文件必须本地计算机或位于 Visual Studio 选项 对话框的 调试 / 符号 页上指定的位置. 如果调试器搜索 .pdb 文件 | 符号文件的原因需要

小览CallStack(调用栈)(三)-用调试器脚本查看调用栈信息

在这一系列之前的两篇文章中,我介绍了如何在windbg中查看调用栈的相关 信息(详见小览call stack(调用栈)(一)),以及调用约定(详见小览call stack(调用栈) (二)--调用约定).今天的这篇博客在二者的基础 之上,介绍如何使用调式器脚本程序来观察调用栈.对CallStack感兴趣的朋友 可以在此基础上开发更加详尽的脚本来观察CallStack的信息:对调试感兴趣的 朋友则可以看一下DScript的用处. 我们先来看一个例子,下面的程序并不是一个优美的程序片段,但是它能够

浅谈 LLDB 调试器 - 如果这叫浅谈,那深得到啥样了呢!

浅谈 LLDB 调试器 2015-01-26 11:34 编辑: z_zombie 分类:iOS开发 来源:南峰子的技术博客 随着Xcode 5的发布,LLDB调试器已经取代了GDB,成为了Xcode工程中默认的调试器.它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能.LLDB为Xcode提供了底层调试环境,其中包括内嵌在Xcode IDE中的位于调试区域的控制面板,在这里我们可以直接调用LLDB命令.如图1所示: 图1:位于Xcode调试区域的控制台 在本文中,我们主要整理

开发一个Linux调试器(三):寄存器和内存

上一篇博文中我们给调试器添加了一个简单的地址断点.这次,我们将添加读写寄存器和内存的功能,这将使我们能够使用我们的程序计数器.观察状态和改变程序的行为. 系列文章索引 随着后面文章的发布,这些链接会逐渐生效. 准备环境 断点 寄存器和内存 Elves 和 dwarves 源码和信号 源码级逐步执行 源码级断点 调用栈展开 读取变量 下一步 注册我们的寄存器 在我们真正读取任何寄存器之前,我们需要告诉调试器一些关于我们的目标平台的信息,这里是 x8664 平台.除了多组通用和专用目的寄存器,x86

怎样在XP系统中关闭调试器

很多windows xp系统用户,尤其是年轻一代的用户,都喜欢玩网络游戏,玩游戏的时候最怕突然电脑出现问题,有用户反映,在玩游戏的关键时刻突然出现一个:"检测到调试器正在运行中,这可能会影响到游戏的正常运行,请关闭这些程序后再启动游戏"的警告提示,这来的太不是时候了.调试器是能够把一个飞速运行的程序中断下来,并按照我们的意愿执行有关的操作.一般情况下,电脑的调试器都是处于关闭的状态,那么为什么在玩游戏的时候会出现调试器正在运行的警告呢?我们应该如何关闭它呢?下面小编就跟大家一起分享下通

JavaScript 调试器简介_javascript技巧

但是仅从调试的角度来说,这些调试器的功能是完全够用的.其实我更需要的不是一个 JavaScript IDE,而是一个 JavaScript 重构工具,这样可以使我快速地对 JavaScript 组件进行重构,比使用 UltraEdit 进行查找/替换的原始方法效率会提高很多,而且更加安全.其实任何一种没有重构工具的语言的开发效率都是没有办法和 Java 这样的语言(有 Eclipse.IDEA 等等强大的重构工具)相提并论的.共产主义尚未实现,这确实是现实,但是并不意味着我们就一定要等待,就没有

T-SQL调试器重返SQL Server 2008

问题:如果你还记得用SQL Server 2000工作的情形,那么你可能会记得在查询分析器中调试程序(存储过程.UDF和触发器)的样子,因为一个调试工具是可以使用它的.从SQL Server 2005开始,查询分析器和企业管理就合并成SSMS.虽然这个单一界面简化了使用SQL Server 的过程,但是一个主要的缺点是,它不允许你从那里调试程序.要达到这个目的,你需要安装Visual Studio(企业和专业)版本,在你的开发机器上允许你调试一个程序.安装Visual Studio的要求是数据库