{"id":2524,"date":"2012-03-15T13:03:32","date_gmt":"2012-03-15T13:03:32","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/webdev\/2012\/03\/15\/vs11-beta-javascript-feature-comparison-with-vs2010sp1\/"},"modified":"2022-08-10T07:11:40","modified_gmt":"2022-08-10T14:11:40","slug":"vs11-beta-javascript-feature-comparison-with-vs2010sp1","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/vs11-beta-javascript-feature-comparison-with-vs2010sp1\/","title":{"rendered":"VS11 Beta JavaScript Feature comparison with VS2010sp1"},"content":{"rendered":"<p>In Visual Studio 11 Beta, we have exciting JavaScript editing features for the developers. Last year, we blogged \u201c<a href=\"http:\/\/blogs.msdn.com\/b\/webdevtools\/archive\/2011\/09\/15\/new-javascript-editing-features-for-web-development-in-visual-studio-11-developer-preview.aspx\">JavaScript Web development differences between Visual Studio 11 Developer preview and Visual Studio 2010<\/a>\u201d. Here are the differences between <b>Visual Studio 11 Beta<\/b> and <b>Visual Studio 2010<\/b>.<\/p>\n<h2>IntelliSense<\/h2>\n<p><b><\/b>    <\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">\n<p><b>Changed From VS11 Developer Preview<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>ECMAScript 5 compliance<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes. Visual Studio 11 Developer Preview fully supports ECMAScript 5.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/3073.image_thumb.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/3073.image_thumb.png\" width=\"333\" height=\"222\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Auto-reducing Statement Completion List<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes, if the IntelliSense is automatically enabled when typing.<\/p>\n<p>The following screen shots shows all the document&#8217;s statement completion items that contains character &quot;al&quot;:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/4137.image_thumb_1.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/4137.image_thumb_1.png\" width=\"399\" height=\"214\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Completion Hint shows function signature<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes, making completion hint more helpful.<\/p>\n<p><a href=\" https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/6201.image_thumb_2.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/6201.image_thumb_2.png\" width=\"414\" height=\"183\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>IE DOM IntelliSense<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No, change DOM based on the current schema and is hard to upgrade.<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes, will get IntelliSense from IE10&#8217;s DOM, which is implicitly referenced (see the next item for how to change implicit reference files).<\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Implicit references (js files that are always referenced for editor IntelliSense)<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes, through tools-&gt;option-&gt;Text Editor-&gt;JavaScript-&gt;IntelliSense-&gt;References, &quot;implicit (Web) &quot; reference group for web projects and web sites.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/2860.clip_image008_thumb.jpg\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"clip_image008\" border=\"0\" alt=\"clip_image008\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/2860.clip_image008_thumb.jpg\" width=\"397\" height=\"231\" \/><\/a><\/p>\n<p>In VS11 Developer Preview, there is only one implicit reference group for both Windows and Web development. In VS11 Beta, they are separated to Implicit (Windows) and Implicit (Web) reference groups. The JavaScript references will be automatically loaded for intelliSense usage according to project types, for example metro style JavaScript\/HTML project will use &quot;implicit (windows)&quot; reference group, and web site\/web applications will use &quot;implicit (web)&quot; reference group.<\/p>\n<p>In VS11 Beta, all new web templates have scripts\/_references.js file. This file needs to be updated if project script files names get changed. For example, if you change\u201d jQuery.1.6.2.js\u201d to \u201cjQuery.1.7.1.js\u201d in the project, the _references.js file content needs to be changed in order to get the jQuery intelliSense.<\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">\n<p>Yes.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Immediate feedback on undefined objects <\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes. We will show a list of all identifiers in the file when IntelliSense cannot determine the type of an object. The identifier list is recognizable by the use of a different icon next to each completion item and a tooltip indicating that all identifiers are being shown.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/1884.image_thumb_3.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/1884.image_thumb_3.png\" width=\"448\" height=\"129\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Ctrl+Shift+J to rebuild IntelliSense<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>Yes<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Local IntelliSense is now automatically rebuild.<\/p>\n<p>In VS11 Beta, Ctrl+Shift+J is used to refresh cached JavaScript files referenced from a remote site. The Refresh Remote References command will update the reference cache by downloading the latest version of referenced files from their remote location. This is new from VS11 Developer Preview.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/3058.image_thumb_4.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/3058.image_thumb_4.png\" width=\"443\" height=\"399\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>named function expressions<\/p>\n<p>var a = function namedFunc() {<\/p>\n<p>\/\/position 1<\/p>\n<p>}<\/p>\n<p>\/\/position 2<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>Show IntelliSense in both position1 and position2 due to inaccuracy of the engine.<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Better engine accuracy, only shows IntelliSense in position 2.<\/p>\n<p>The distinction is that named function expressions identifiers are only visible within the scope of the function expression itself.<\/p>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"89\">\n<p>Script Loader dynamically add loaded JavaScript file as reference<\/p>\n<\/td>\n<td valign=\"top\" width=\"73\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"446\">\n<p>Yes. Engine will take the dynamically loaded JavaScript for reference.<\/p>\n<p>There is a known issue in Beta that affects remote JavaScript file loading. For example, the following does not work correctly in VS11 Beta. It will be resolved in future release.<\/p>\n<pre class=\"code\"><span style=\"background: white;color: black\">    <\/span><span style=\"background: white;color: blue\">&lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot; <br \/><\/span><span style=\"background: white;color: red\">     src<\/span><span style=\"background: white;color: blue\">=&quot;https:\/\/www.google.com\/jsapi&quot;&gt;&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;\r\n    &lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot;&gt;\r\n        <\/span><span style=\"background: white;color: black\">google.load(<\/span><span style=\"background: white;color: maroon\">&quot;jquery&quot;<\/span><span style=\"background: white;color: black\">, <\/span><span style=\"background: white;color: maroon\">&quot;1.7.1&quot;<\/span><span style=\"background: white;color: black\">);\r\n        <\/span><span style=\"background: white;color: green\">\/\/ $ should work here but not\r\n    <\/span><span style=\"background: white;color: blue\">&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;<\/span><\/pre>\n<\/td>\n<td valign=\"top\" width=\"68\">&nbsp;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>&#160;<\/h2>\n<h2>XML Document<\/h2>\n<p><b><\/b><\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"690\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"83\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"66\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"462\">\n<p><b>Visual Studio 11 Developer Preview<\/b> <b>Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"77\">\n<p><b>Changed From VS11 Developer Preview<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"83\">\n<p>IntelliSense Signature overloading<\/p>\n<\/td>\n<td valign=\"top\" width=\"66\">\n<p>N\/A<\/p>\n<\/td>\n<td valign=\"top\" width=\"462\">\n<p>New feature<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/1488.image_thumb_5.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/1488.image_thumb_5.png\" width=\"391\" height=\"317\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"77\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"83\">\n<p>JavaScript XML documentation MSDN documentation<\/p>\n<\/td>\n<td valign=\"top\" width=\"66\">\n<p>No.<\/p>\n<p>A <a href=\"http:\/\/weblogs.asp.net\/bleroy\/archive\/2007\/04\/23\/the-format-for-javascript-doc-comments.aspx\">blog<\/a> is used as reference: <\/p>\n<\/td>\n<td valign=\"top\" width=\"462\">\n<p>For VS 11 Beta, the MSDN JavaScript XML documentation specification is in <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/hh524453(VS.110).aspx\">http:\/\/msdn.microsoft.com\/en-us\/library\/hh524453(VS.110).aspx<\/a><\/p>\n<p>Note, for field, param and var node, one attribute has not yet been added to the current MSDN preview documentation: value. It can be used to define some not-classed object s in the following example:<\/p>\n<pre class=\"code\"><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">Chair3(type) {\r\n    <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.type = type;\r\n    <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.color = <\/span><span style=\"background: white;color: maroon\">&quot;red&quot;<\/span><span style=\"background: white;color: black\">;\r\n}\r\n\r\nChair3.prototype.getInfo = <\/span><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">() {\r\n    <\/span><span style=\"background: white;color: blue\">return this<\/span><span style=\"background: white;color: black\">.color + <\/span><span style=\"background: white;color: maroon\">' ' <\/span><span style=\"background: white;color: black\">+ <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.type + <br \/>        <\/span><span style=\"background: white;color: maroon\">' Chair3'<\/span><span style=\"background: white;color: black\">;\r\n};\r\n\r\n<\/span><span style=\"background: white;color: green\">\/\/object literals\r\n<\/span><span style=\"background: white;color: blue\">var <\/span><span style=\"background: white;color: black\">chair4 = {\r\n    type: <\/span><span style=\"background: white;color: maroon\">&quot;wood&quot;<\/span><span style=\"background: white;color: black\">,\r\n    color: <\/span><span style=\"background: white;color: maroon\">&quot;red&quot;<\/span><span style=\"background: white;color: black\">,\r\n    getInfo: <\/span><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">() {\r\n        <\/span><span style=\"background: white;color: blue\">return this<\/span><span style=\"background: white;color: black\">.color + <\/span><span style=\"background: white;color: maroon\">' ' <\/span><span style=\"background: white;color: black\">+ <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.type + <br \/>            <\/span><span style=\"background: white;color: maroon\">' chair4'<\/span><span style=\"background: white;color: black\">;\r\n    }\r\n}\r\n\r\n<\/span><span style=\"background: white;color: green\">\/\/singleton using function\r\n<\/span><span style=\"background: white;color: blue\">var <\/span><span style=\"background: white;color: black\">chair5 = <\/span><span style=\"background: white;color: blue\">new function <\/span><span style=\"background: white;color: black\">() {\r\n    <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.type = <\/span><span style=\"background: white;color: maroon\">&quot;wood&quot;<\/span><span style=\"background: white;color: black\">;\r\n    <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.color = <\/span><span style=\"background: white;color: maroon\">&quot;red&quot;<\/span><span style=\"background: white;color: black\">;\r\n    <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.getInfo = <\/span><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">() {\r\n        <\/span><span style=\"background: white;color: blue\">return this<\/span><span style=\"background: white;color: black\">.color + <\/span><span style=\"background: white;color: maroon\">' ' <\/span><span style=\"background: white;color: black\">+ <\/span><span style=\"background: white;color: blue\">this<\/span><span style=\"background: white;color: black\">.type + <br \/><\/span><span style=\"background: white;color: maroon\">            ' chair5'<\/span><span style=\"background: white;color: black\">;\r\n    };\r\n}\r\n\r\n<\/span><span style=\"background: white;color: blue\">var <\/span><span style=\"background: white;color: black\">a = <\/span><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">(x, y, z) {\r\n    <\/span><span style=\"background: white;color: green\">\/\/\/ &lt;summary&gt;Description&lt;\/summary&gt;\r\n    \/\/\/ &lt;param name=&quot;x&quot; type=&quot;Chair3&quot;&gt;x&lt;\/param&gt;\r\n    \/\/\/ &lt;param name=&quot;y&quot; value=&quot;chair4&quot;&gt;y&lt;\/param&gt;\r\n    \/\/\/ &lt;param name=&quot;z&quot; value=&quot;chair5&quot;&gt;z&lt;\/param&gt;\r\n<\/span><span style=\"background: white;color: black\">}\r\n<\/span><\/pre>\n<\/td>\n<td valign=\"top\" width=\"77\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><\/b><\/p>\n<h2><b>Debug\/Breakpoint<\/b><\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"696\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"176\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"131\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"387\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"176\">\n<p>F9 set on a line with multiple statement<\/p>\n<\/td>\n<td valign=\"top\" width=\"131\">\n<p>Select and break on whole line<\/p>\n<\/td>\n<td valign=\"top\" width=\"387\">\n<p>Select and break on the statement where cursor is on, making debugging compressed JavaScript files possible.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"176\">\n<p>Open remote extension-less JS files in JS editor<\/p>\n<\/td>\n<td valign=\"top\" width=\"131\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"387\">\n<p>Yes, debug and step through the following will open jsapi in editor :<\/p>\n<pre class=\"code\"><span style=\"background: white;color: black\">    <\/span><span style=\"background: white;color: blue\">&lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">src<\/span><span style=\"background: white;color: blue\">=&quot;https:\/\/www.google.com\/jsapi&quot; \r\n        <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot;&gt;&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;\r\n    &lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot;&gt;\r\n        <\/span><span style=\"background: white;color: black\">google.load(<\/span><span style=\"background: white;color: maroon\">&quot;jquery&quot;<\/span><span style=\"background: white;color: black\">, <\/span><span style=\"background: white;color: maroon\">&quot;1.6.0&quot;<\/span><span style=\"background: white;color: black\">);\r\n    <\/span><span style=\"background: white;color: blue\">&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;<\/span><\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><\/b><\/p>\n<h2><b>MicrosoftAjax.js and other library Support<\/b><\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"701\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"103\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"65\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"346\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"185\">\n<p><b>Changed From VS11 Developer Preview<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"103\">\n<p>MicrosoftAjax&#8217;s IntelliSense filter, glyph and other support<\/p>\n<\/td>\n<td valign=\"top\" width=\"65\">\n<p>Hard coded<\/p>\n<\/td>\n<td valign=\"top\" width=\"346\">\n<p>Supported via MicrosoftAjax.intellisense.js file, which is located in [ProgramFiles]Microsoft Visual Studio 11.0JavaScriptReferencesMicrosoftAjax.intellisense.js<\/p>\n<p>Note, In VS11 Developer preview, it was named MicrosoftAjax.vsextensions.js.<\/p>\n<\/td>\n<td valign=\"top\" width=\"185\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><\/b><\/p>\n<h2><b>Editor display<\/b><\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"702\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"152\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"132\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"416\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"152\">\n<p>Outlining<\/p>\n<\/td>\n<td valign=\"top\" width=\"132\">\n<p>Through extension<\/p>\n<\/td>\n<td valign=\"top\" width=\"416\">\n<p>Supported<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"152\">\n<p>Brace matching<\/p>\n<\/td>\n<td valign=\"top\" width=\"132\">\n<p>Through extension<\/p>\n<\/td>\n<td valign=\"top\" width=\"416\">\n<p>Supported<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"152\">\n<p>Brace highlighting<\/p>\n<\/td>\n<td valign=\"top\" width=\"132\">\n<p>Through extension<\/p>\n<\/td>\n<td valign=\"top\" width=\"416\">\n<p>Supported<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"152\">\n<p><b>Go to Definition (F12)<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"132\">\n<p>N\/A<\/p>\n<\/td>\n<td valign=\"top\" width=\"416\">\n<p>Supported<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><\/b><\/p>\n<h2><b>Validation<\/b><\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"702\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"203\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"145\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"352\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"203\">\n<p>Regular expression<\/p>\n<\/td>\n<td valign=\"top\" width=\"145\">\n<p>No color coding, no validation<\/p>\n<\/td>\n<td valign=\"top\" width=\"352\">\n<p>With color coding and validation<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"203\">\n<p>&quot;use strict&quot;; validation support (ECMAScript 5)<\/p>\n<\/td>\n<td valign=\"top\" width=\"145\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"352\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"203\">\n<p>Consistency with IE JavaScript syntax checking<\/p>\n<\/td>\n<td valign=\"top\" width=\"145\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"352\">\n<p>Yes, the JavaScript syntax error you see in VS will be the same as you see in IE.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b><\/b><\/p>\n<h2><b>Misc<\/b><\/h2>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\" width=\"671\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p><b>Description<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p><b>VS2010 Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p><b>Visual Studio 11 Beta Behavior<\/b><\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p><b>Changed From VS11 Developer Preview<\/b><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>jQuery Templates script block support, show IntelliSense, coloring and indent.<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Yes<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/0871.image_thumb_6.png\"><img decoding=\"async\" style=\"border-bottom: 0px;border-left: 0px;padding-left: 0px;padding-right: 0px;border-top: 0px;border-right: 0px;padding-top: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2012\/03\/0871.image_thumb_6.png\" width=\"370\" height=\"174\" \/><\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>Sharepoint JS reference via <a href=\"http:\/\/site\/SiteAssets\/x.js\">http:\/\/site\/SiteAssets\/x.js<\/a><\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Yes<\/p>\n<pre class=\"code\"><span style=\"background: white;color: blue\">&lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot; <\/span><span style=\"background: white;color: red\">src<\/span><span style=\"background: white;color: blue\">=<br \/> &quot;http:\/\/site\/SiteAssets\/mylib.min.js&quot;&gt;<br \/><\/span><span style=\"background: white;color: blue\">&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;\r\n<\/span><\/pre>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>Dom Explorer<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Supported when debugging with IE10 only<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>JavaScript Console<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>No<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Supported when debugging with IE10 only<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>Customized JavaScript Snippet<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>Yes<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Yes.<\/p>\n<p>Note, VS2010 customer snippet file is not compatible with Visual Studio 11 Developer Preview. An attribute needs to be changed in each snippet file from &quot;jscript&quot; to &quot;JavaScript&quot;<\/p>\n<p>&lt;Code Language=&quot;jscript&quot;&gt;<\/p>\n<p>&#8230; &lt;\/Code&gt;<\/p>\n<p>Change to<\/p>\n<p>&lt;Code Language=&quot;JavaScript&quot;&gt;<\/p>\n<p>&#8230; &lt;\/Code&gt;<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>Name across product<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>Jscript<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>JavaScript<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>JavaScript editor Indenting\/Tab setting usage<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>both indenting\/tab settings:<\/p>\n<p>* the HTML settings are used not matter how JScript is set when in Mark-up<\/p>\n<p>* the JScript settings are used no matter how HTML is set when in JS File<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Only tab settings: (indent settings are used according to the language)<\/p>\n<p>* the HTML settings are used not matter how JavaScript is set when in Mark-up<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>JavaScript smart indenting in tools-&gt;options-&gt;text editors-&gt;JavaScript-&gt;Tabs<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>Block indenting as default, no smart indenting<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Smart indenting is the default<\/p>\n<p>Note, In Dev11 Developer Preview, block indenting is the default<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>Explicit \/\/\/ reference in html\/aspx\/master\/ascx files<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>\/\/\/ specified in markup page does not add reference<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>\/\/\/ also works in markup page&#8217;s script block. It has to be on the top most script block. It will be useful for user control JavaScript explicit references. Also useful in edges cases such as following require.js syntax:<\/p>\n<pre class=\"code\"><span style=\"background: white;color: blue\">&lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">data-main<\/span><span style=\"background: white;color: blue\">=&quot;scripts\/main&quot; <br \/><\/span><span style=\"background: white;color: red\">src<\/span><span style=\"background: white;color: blue\">=&quot;scripts\/require.js&quot;&gt;&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt;\r\n&lt;<\/span><span style=\"background: white;color: maroon\">script <\/span><span style=\"background: white;color: red\">type<\/span><span style=\"background: white;color: blue\">=&quot;text\/javascript&quot;&gt;\r\n    <\/span><span style=\"background: white;color: green\">\/\/\/ &lt;reference path=&quot;scripts\/a.js&quot; \/&gt;\r\n    <\/span><span style=\"background: white;color: blue\">function <\/span><span style=\"background: white;color: black\">abc() {\r\n        aFunctionFromAJs();\r\n    }\r\n<\/span><span style=\"background: white;color: blue\">&lt;\/<\/span><span style=\"background: white;color: maroon\">script<\/span><span style=\"background: white;color: blue\">&gt; <\/span><\/pre>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>In misc file project, JS file download remote reference (http reference)<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>Allowed by default<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Disabled by default, with message in the output:<\/p>\n<p>Downloading of remote references for files in the miscellaneous files project is disabled. To enable downloading of remote references, check the appropriate option in Tools | Options | Text Editor | JavaScript | IntelliSense | General<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"153\">\n<p>_variable (with leading underscore) shows or not in the referenced file<\/p>\n<\/td>\n<td valign=\"top\" width=\"110\">\n<p>Default: Yes<\/p>\n<p>MSAjax: No<\/p>\n<\/td>\n<td valign=\"top\" width=\"272\">\n<p>Default: No<\/p>\n<p>MSAjax: No<\/p>\n<p>%VS11InstallationDirectory%JavaScriptReferencesunderscorefilter.js extension controls this. MSAjax extension controls it as well for MSAjax reference.<\/p>\n<p>You can remove the control if you don&#8217;t like this behavior from tools-&gt;option-&gt;Text Editor-&gt;JavaScript-&gt;IntelliSense-&gt;References, &quot;implicit (Web) &quot; reference group for web projects and web sites.<\/p>\n<\/td>\n<td valign=\"top\" width=\"134\">\n<p>Yes<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&#160;<\/p>\n<p>You feedback is very valuable for us.&#160; Please go to <a title=\"http:\/\/connect.microsoft.com\/VisualStudio\" href=\"http:\/\/connect.microsoft.com\/VisualStudio\">http:\/\/connect.microsoft.com\/VisualStudio<\/a> to let us know your issues and suggestions.<\/p>\n<p>&#160;<\/p>\n<p>Best Regards,<\/p>\n<p>Xinyang Qiu<\/p>\n<p>Web Platform and Tools Team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Visual Studio 11 Beta, we have exciting JavaScript editing features for the developers. Last year, we blogged \u201cJavaScript Web development differences between Visual Studio 11 Developer preview and Visual Studio 2010\u201d. Here are the differences between Visual Studio 11 Beta and Visual Studio 2010. IntelliSense Description VS2010 Behavior Visual Studio 11 Beta Behavior Changed [&hellip;]<\/p>\n","protected":false},"author":404,"featured_media":58792,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[197],"tags":[7372,7398],"class_list":["post-2524","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aspnet","tag-javascript","tag-visual-studio-11-beta"],"acf":[],"blog_post_summary":"<p>In Visual Studio 11 Beta, we have exciting JavaScript editing features for the developers. Last year, we blogged \u201cJavaScript Web development differences between Visual Studio 11 Developer preview and Visual Studio 2010\u201d. Here are the differences between Visual Studio 11 Beta and Visual Studio 2010. IntelliSense Description VS2010 Behavior Visual Studio 11 Beta Behavior Changed [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/2524","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/404"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=2524"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/2524\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/58792"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=2524"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=2524"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=2524"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}