Visual Studio 中的 JavaScript 和 TypeScript

Visual Studio 2022 为 JavaScript 开发提供了丰富的支持,既可以直接使用 JavaScript,也可以使用 TypeScript 编程语言,其开发目的是提供更高效且充满乐趣的 JavaScript 开发体验,尤其是在大规模开发项目的时候。 对于许多应用程序类型和服务,可以在 Visual Studio 中编写 JavaScript 或 TypeScript 代码。

JavaScript 语言服务

Visual Studio 2022 中的 JavaScript 体验由提供 TypeScript 支持的同一引擎提供支持。 该引擎为你提供更好的功能支持、丰富度和即时现成集成。

还原到旧版 JavaScript 语言服务的选项不再可用。 用户可以使用现成的新 JavaScript 语言服务。 新的语言服务仅基于 TypeScript 语言服务,由静态分析提供支持。 该服务使我们能够为你提供更好的工具,因此 JavaScript 代码可以从基于类型定义的更丰富的 IntelliSense 中受益。 新服务是轻量服务,比传统服务消耗更少的内存,代码可以缩放,因而可以提供更好的性能。 我们还改进了语言服务的性能以处理更大的项目。

TypeScript 支持

默认情况下,Visual Studio 2022 为 JavaScript 和 TypeScript 文件(用于为 IntelliSense 提供支持)提供语言支持,无需任何特定项目配置。

对于编译 TypeScript,Visual Studio 使你可以灵活地选择要对每个项目使用的 TypeScript 版本。

在 MSBuild 编译方案(例如 ASP.NET Core)中,建议使用 TypeScript NuGet 包方法为项目添加 TypeScript 编译支持。 当你首次向项目添加 TypeScript 文件时,Visual Studio 会为你提供添加此包的选项。 你还可以随时通过 NuGet 包管理器来使用此包。 使用 NuGet 包时,相应的语言服务版本将用于项目中的语言支持。 注意:此包的最低支持版本为 3.6。

为 npm 配置的项目(例如 Node.js 项目)可通过添加 TypeScript npm 包来指定其自己的 TypeScript 语言服务版本。 可以在支持的项目中使用 npm 管理器来指定版本。 注意:此包的最低支持版本为 2.1。

TypeScript SDK 已在 Visual Studio 2022 中弃用。 依赖于该 SDK 的现有项目应升级为使用 NuGet 包。 对于无法立即升级的项目,仍可使用在 Visual Studio Marketplace 上提供的 SDK,它在 Visual Studio 安装程序中作为可选组件提供。

提示

对于使用 Visual Studio 2022 开发的项目,我们鼓励你使用 TypeScript NuGet 或 TypeScript npm 包,以实现跨不同平台和环境的更高可移植性。 有关详细信息,请参阅使用 NuGet 编译 TypeScript 代码使用 tsc 编译 TypeScript 代码

项目模板

从 Visual Studio 2022 开始,会有一个新的 JavaScript/TypeScript 项目类型 (.esproj)(称为 JavaScript Project System (JSPS)),你可以使用该类型在 Visual Studio 中创建单独的 Angular、React 和 Vue 项目。 这些前端项目使用已安装在本地计算机上的框架 CLI 工具创建,因此模板版本取决于你。 若要从现有 Node.js 项目迁移到新的项目系统,请参阅 迁移 Node.js 项目。 有关新项目类型的 MSBuild 信息,请参阅 JSPS 的 MSBuild 属性

在这些新项目中,你可以运行 JavaScript 和 TypeScript 单元测试,使用 npm 管理器轻松添加和连接 ASP.NET Core API 项目并下载 npm 模块。 查看一些快速入门和教程即可开始操作。 有关详细信息,请参阅 Visual Studio 教程 | JavaScript 和 TypeScript

注意

从 Visual Studio 2022 17.5 版开始推出简化的更新模板。 与 Visual Studio 中提供的 ASP.NET SPA 模板相比,用于 ASP.NET Core 的 .esproj SPA 模板可提供更好的 npm 依赖项管理,以及更好的生成和发布支持。

Visual Studio 2019 为 JavaScript 开发提供了丰富的支持,既可以直接使用 JavaScript,也可以使用 TypeScript 编程语言,其开发目的是提供更高效且充满乐趣的 JavaScript 开发体验,尤其是在大规模开发项目的时候。 对于许多应用程序类型和服务,可以在 Visual Studio 中编写 JavaScript 或 TypeScript 代码。

JavaScript 语言服务

Visual Studio 2019 中的 JavaScript 体验由提供 TypeScript 支持的相同引擎提供支持。 这为你提供更好的功能支持、丰富度和即时现成集成。

还原到旧版 JavaScript 语言服务的选项不再可用。 用户现在可以使用现成的新 JavaScript 语言服务。 新的语言服务仅基于 TypeScript 语言服务,由静态分析提供支持。 这使我们能够提供更好的工具,因此 JavaScript 代码可以从基于类型定义的更丰富的 IntelliSense 中受益。 新服务是轻量服务,比传统服务消耗更少的内存,代码可以缩放,因而可以提供更好的性能。 我们还改进了语言服务的性能以处理更大的项目。

TypeScript 支持

Visual Studio 2019 提供了若干选项,用于将 TypeScript 编译集成到项目中:

  • TypeScript NuGet 包。 当 TypeScript 3.2 或更高版本的 NuGet 包安装到项目中时,将在编辑器中加载相应版本的 TypeScript 语言服务。
  • TypeScript npm 包。 当 TypeScript 2.1 或更高版本的 npm 包安装到项目中时,将在编辑器中加载相应版本的 TypeScript 语言服务。
  • TypeScript SDK(在 Visual Studio 安装程序中默认提供),以及 VS Marketplace 中提供的独立 SDK 下载。

提示

对于使用 Visual Studio 2019 开发的项目,我们鼓励你使用 TypeScript NuGet 或 TypeScript npm 包,以实现跨不同平台和环境的更高可移植性。 有关详细信息,请参阅使用 NuGet 编译 TypeScript 代码使用 tsc 编译 TypeScript 代码

项目

Visual Studio 2019 不再支持 UWP JavaScript 应用。 无法创建或打开 JavaScript UWP 项目(扩展名为“.jsproj” 的文件)。 有关详细信息,请参阅有关创建在 Windows 上运行良好的渐进式 Web 应用 (PWA) 的文档。