One of the features that web developers will really like withVS 2008 is its built-in support for JavaScript intellisense. This is enabled in both the free Visual Web Developer 2008 Express edition as well as inVisual Studio, and makes using JavaScript and building AJAX applications significantly easier.
Below is a quick tour of some of the newJavaScript intellisensefeatures to take advantage of:
JavaScript Type Inference
One of the things you'll notice immediately when you start typing within a script block is the richer support that Visual Studio 2008 now has for JavaScript keywords and language features:
JavaScript is a dynamic language, and doesn't support explicittype declarations, which has made implementing good intellisense difficult in the past.
Visual Studio 2008 addssupport fortype inference, which means that it evaluates and computes how a JavaScript block is being used and dynamically infers the variable usage and type information of the code to provide accurate intellisense support.
For example, Visual Studio below will infer that an html element is being retrieved by the document.getElementById() method,and provide appropriatehtml elementintellisense for the variable result:
If I later assign a numeric value to the "myElement" variable (which in JavaScript converts it to a number), notice how VS will detect this and now provide integer intellisense for the variable later in the method:
Intellisense for External JavaScript Libraries
VS 2008 supports intellisense not just for in-line script, but also for externally referenced JavaScriptfiles. For example, assume we have a "getMessage" function like below defined within a "Util.js" javascript file:
I can then simply add a standard JavaScript script refrence element to my page, and I will then automatically receive intellisense support for it as I code:
Notice how VS automatically provides basic parameter intellisense information on the method without us having to do anything special to the JavaScript for it to appear:
Adding Intellisense Hints to JavaScript
As you saw above, Visual Studio will automatically provide basic intellisense help information for the method name and parameters of standard JavaScript.
You can optionally make this intellisense richer by adding comments to your JavaScript code that the intellisense engine can then pick up and use when you consume a method or library. For example, I could add the below comments to the getMessage function in my util.js file:
And when I then code against it within my "Default.aspx" file Visual Studio will automatically display this summaryinformation for the method:
As well asthe parameter details:
We'll provide a tool that then allows you to automatically strip out your comments (and compress the whitespace and size) of your JavaScript once you've finished building your application. For more details about the comment format that both VS and ASP.NET AJAX support, please read Bertrand Le Roy's post here.
Intellisense within External JavaScript files
Obviously you get full intellisense support within external JavaScript files, just like you do within script blocks inside .htm and .aspx files.
One of the interestingcharacteristics about external JavaScript files is that they can call and use the JavaScript functions and variables declared within other JavaScript files that a page loads.
For example, if we declare two external Javascript files referenced on a page like so:
The JavaScript code within the "MyLibrary.js" javascript filewill beable to call the methods declared within the Util.js file.
You can tell Visual Studio to provide intellisense for the "Util.js" library within the "MyLibrary.js" file by adding a /// <reference> comment at the top of the external library. Once you do this, you'll get full intellisense support for those methods and variables:
This ends up being super useful when partitioning your JavaScript routines across multiple files.
To reference the ASP.NET AJAX client side JavaScript libraries, you can either add a <refrence> that points to your own copy of the .JS file (if you are manually including it in your project), or add a <reference> element with a name value if the library is being dynamically output by the <asp:scriptmanager> control on the host page:
Once you do this you'll get full intellisense for all of the JavaScript libraries and type-library patterns inside ASP.NET AJAX.
Calling Web Services using ASP.NET AJAX
ASP.NET AJAX makes it easy to expose methods on the server that can be called and accessed via client-side JavaScript. For example, assume we define a simple webmethod in a .asmx web-service like below:
I could then have ASP.NET AJAX automatically create a client-side JavaScript proxy object that uses the JSON protocol to call and use it from the client by adding a reference to it with a <asp:scriptmanager> control in my page like below:
What is cool about VS 2008 is that when you declare a reference to a web-service using the <asp:scriptmanager> control like above, it will add clientJavaScript intellisense support for it within the page automatically:
Obviously this makes it much easier to identify methods on the server and asynchronously call and invoke them. You can use this to both exchange data between the client and server. You can also use the AJAX UI templating technique I described here to retrieve HTML UI from the server using these callbacks and then dynamically update the page with them.
Creating Re-Usable ASP.NET AJAX Behaviors, Controls and Libraries
ASP.NET AJAX provides type-system support within JavaScriptfor defining classes, interfaces, and other object oriented concepts. This makes it much easier to define re-usable libraries of JavaScript that encapsulate functionality and re-use it safely across pages and applications (without having to worry about the JavaScript conflicting with other JavaScript or libraries).
VS 2008 provides new "Add-Item" templates that makes it easy to create new ASP.NET AJAX behaviors, controls and libraries:
ASP.NET AJAX uses the "prototype" pattern within JavaScript to enable you to define classes and interfaces. For example, I can create an encapsulated JavaScript class using this pattern using one of the project item templates above (notice below how the namespace created by Visual Studio by default is the same as my project namespace):
Obviously I then get full intellisense support when consuming my new library from any page or other JavaScript file:
Summary
Hopefully the above walkthrough provides a first look at some of the new JavaScript intellisense features coming soon (there are more - but this is a start). In future blog-posts I'll also cover some of the new JavaScript debugging features that VS 2008 brings, as well as some of the WYSIWYG designer support for ASP.NET AJAX and the ASP.NET AJAX Control Toolkit.
To learn more about ASP.NET AJAX (and how you can use all of the runtime features I described above starting today with ASP.NET 2.0), I'd alsohighly recommend checking out these two new books that have recently been published and which cover the official ASP.NET AJAX 1.0 release:
Note that because of the newVS 2008 multi-targeting support, you can use the JavaScript intellisense features I showed above with both ASP.NET applications built using .NET 3.5 (which has ASP.NET AJAX built-in), as well as with existing ASP.NET 2.0 applications(including ones thatuse the separate ASP.NET AJAX 1.0 download).This provides a very compelling reason to start using VS 2008 - even if you are using it to onlytarget .NET 2.0 applications.
Hope this helps,
Scott
相关推荐
根据官网的英文版智能感知文件jquery-1.3.2-vsdoc2.js修改而成,其实就是把中文API文档复制粘贴了...使用方法:在VS2008中<script src="jquery-1.3.2-vsdoc2.js" type="text/javascript">即可使用中文的智能感知提示
1、运行安装包 2、然后打开 C:\Program Files\Microsoft Visual Studio 10.0\Common7\Packages\2052\schemas\CSS...4、重启vs 2010 html5+css3 智能感应有了还是中文的哦 css3 是本人自己翻译的。有不准确的请理解
VS2008的JavaScript代码提示功能[VS2008的JavaScript代码提示功能]
VS 调试 JavaScript.txt
ASP.NET AJAX深入浅出系列课程(19):VS 2008的JavaScript代码提示功能
ArcGIS for JavaScript 开发智能提示,vs2012可用。已测试。
基于JavaScript的智能水印相机微信小程序源码+项目说明.tar基于JavaScript的智能水印相机微信小程序源码+项目说明.tar基于JavaScript的智能水印相机微信小程序源码+项目说明.tar基于JavaScript的智能水印相机微信小...
vs web developer 2008 beat2 javascript 智能感知功能 自动下载安装版
javascript 智能填充
智能社JavaScript系列视频资料PPT和源码文件!
NULL 博文链接:https://yanlp.iteye.com/blog/795209
blockhash-js, 在javascript中,图像感知哈希计算 blockhash-js,block Fan Fan Fan Fan Fan Image图像感知哈希算法,mean 。安装这个模块是通过npm安装的: $ npm install blockhash在浏览器中使
智能社javaScript视频百度分享智能社javaScript视频百度分享
老外写的一个vs2010 js 括号匹配,缩进等功能的插件,苦恼于 json 开发时的括号匹配的同学们这回该笑了。
在vs中写js时给出中文智能提示方便快捷,将jquery-1.6.2-vsdoc.js文件放到项目中,在需要智能提示的页面中引用jquery-1.6.2-vsdoc.js,注意js文件和vsdoc.js文件版本对应。诺无效果则在vs中 按下 ctrl+shift +j 更新...
上周Rich Strahl的POST中提到一个新发布的VS2008 hotfix修复了VS2008对Javascript智能感知的一些BUG,fixed之后可以让VS2008对JQuery提供智能感知,让我等JQuery fans欣喜了一阵子。可仔细一看,还需要另外给JQuery...
这个例子程序是根据http://www.pc30.com/wc/java1/index.html 的教程编写的关于Javascript的例子程序,非常适合初学者学习使用,用VS2008创建测试通过。
巧用JavaScript创建智能表单效果
vs2015.iso包安装,不然会卡在安装包丢失或损坏
Zetcode JavaScript 教程(初译).epub