65.9K
CodeProject 正在变化。 阅读更多。
Home

Visual Studio 2008 中的 JavaScript IntelliSense 改进

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.83/5 (7投票s)

2007年11月4日

CPOL

4分钟阅读

viewsIcon

47119

Visual Studio 2008 中的 JavaScript IntelliSense 改进

目录

  1. 引言
  2. Intellisense 支持
  3. JavaScript 包含和 Intellisense
  4. Intellisense 提示和注释
  5. 结论
  6. 有用链接
  7. 历史

引言

在当今的 AJAX(异步 JavaScript 和 XML)世界中,Visual Studio 中最明显缺失的功能之一就是对丰富的 JavaScript Intellisense 的支持。当然,也提供了一些有限的变量和函数补全支持。这可以追溯到 Microsoft Visual InterDev。然而,它顶多是简约的。不止一次,我不得不离开 Visual Studio,我的 ASP.NET 应用程序的首选工具。为了获得更高级的 JavaScript 功能,例如对外部包含的 Intellisense 支持,我不得不使用其他 IDE,如 EclipseAptana

终于,最新版本的 Visual Studio(Visual Studio 2008)在 JavaScript 处理领域引入了急需的改进。我们将看看其中的一些。

Intellisense 支持

首先,对 JavaScript 的 Intellisense 支持得到了很大改进。由于 JavaScript 是一种弱类型语言,可以预期一些 Intellisense 的限制源于语言本身。在 Visual Studio 2008 中,似乎正在尽一切努力来弥补这些。

例如,在 Intellisense 中包含关键字

既然我们谈论效率,Visual Studio 2008 引入的另一个不错的特性是 Intellisense 窗口的透明度。只需在显示窗口时按住 Control (Ctrl) 键,您就可以看到其下方的代码。

Screenshot - image003.png

JavaScript 包含和 Intellisense

如上所述,在处理 JavaScript 密集型项目时,我最常错过的一个功能是从外部库文件获取 Intellisense 支持。Visual Studio 2008 通过将所有 public 方法和属性暴露给您包含它的页面来解决这个问题。例如

在页面中包含 YAHOO 动画库文件

<script src="yui/build/animation/animation.js" type="text/javascript"></script>

您会立即在 Intellisense 窗口中看到以下内容

Screenshot - image005.pngScreenshot - image007.png

Visual Studio 2008 将这一概念进一步扩展,允许您从一个包含引用另一个。例如,假设您的 JavaScript 代码在一个包含文件中,并且在您的包含文件中,您正在使用第三方解决方案,如 MootoolsScript.aculo.us。为了从您的包含文件中的另一个文件获取成员列表,您需要在该文件顶部放置一个引用注释。例如

/// <reference path="yui/build/yahoo-dom-event/yahoo-dom-event.js" />
/// <reference path="yui/build/animation/animation.js" />

Intellisense 提示和注释

我们将要看的最后一个新特性是 Intellisense 提示。您可以通过以下方式向代码添加提示

function SayHello(firstName, lastName)
{
  ///<summary>Returns a string of Hello plus passed names</summary>
  ///<param name="firstName" type="string">Person's first name</param>
  ///<param name="lastName" type="string">Person's last name</param>
  ///<returns>string</returns>
  return "Hello " + firstName + " " + lastName;
}

请注意,注释块位于函数块内部,而不是直接在其上方,就像在 VB.NET 或 C# 中一样。

通过使用上面的代码,您将在 ASPX 文件中看到以下内容

Screenshot - image009.png

然后参数详细信息还将显示您的注释

Screenshot - image011.png

请注意,在上面的示例中,类型属性被指定为 string。这些仅用于提供信息,但您可能会在编码时发现它们很有用。

在撰写本文时,Intellisense 提示和注释仅适用于包含文件,而不适用于当前页面中的代码块。这意味着,上面的示例仅在您将其放置在包含文件中,然后将其引用到 ASP.NET 页面时显示注释和提示。但是,如果您将此代码放置在同一个 ASP.NET 页面的脚本块中,则不会显示注释和提示。我们很想看看 Microsoft 在最终版本中将如何发展这项功能。

结论

Visual Studio 2008 带来了许多新功能,将使编码体验更加有益,并有望更加高效。在之前的 Visual Studio 版本中,JavaScript IDE 集成在某种程度上被忽视了,但随着 AJAX 和 Web 2.0 应用程序的出现,它终于得到了应有的关注。

有用链接

历史

  • 2007 年 11 月 4 日:初始帖子
© . All rights reserved.