参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

编程语言

支持数百种编程语言

在 Visual Studio Code 中,我们几乎支持所有主流的编程语言。有几种是开箱即用的,例如 JavaScript、TypeScript、CSS 和 HTML,但更多功能丰富的语言扩展可以在 VS Code 扩展市场中找到。

以下是八个最受欢迎的语言扩展

前往扩展市场或使用集成的扩展视图,搜索你想要的编程语言,以查找代码片段、代码补全/智能感知提供程序、语法检查器、调试器等。

注意:如果你想更改 VS Code 的显示语言(例如,改为中文),请参阅显示语言主题。

特定语言的文档

了解 VS Code 支持的编程语言。这些包括:C++ - C# - CSS - Dart - Dockerfile - F# - Go - HTML - Java - JavaScript - JSON - Julia - Less - Markdown - PHP - PowerShell - Python - R - Ruby - Rust - SCSS - Swift - T-SQL - TypeScript

点击任何链接的项目,可以大致了解如何在该语言的上下文中使用 VS Code。大多数语言扩展也在其自述文件(README)中包含了其核心功能的摘要。

VS Code 中的语言功能

不同语言及其扩展的支持丰富程度各不相同

  • 语法高亮和括号匹配
  • 智能补全(IntelliSense、GitHub Copilot 提供的人工智能)
  • 语法检查和修正
  • 代码导航(转到定义、查找所有引用)
  • 调试
  • 重构

使用 AI 增强补全

在 VS Code 中,你可以通过人工智能(AI)来增强你的编码体验,例如获取代码行或整个函数的建议、快速创建文档,以及帮助创建与代码相关的产物(如测试)。

GitHub Copilot 是一款由 AI 驱动的代码补全工具,可以帮助你更快、更智能地编写代码。你可以在 VS Code 中使用 GitHub Copilot 扩展来生成代码,或从其生成的代码中学习。

GitHub Copilot extension in the VS Code Marketplace

你可以在Copilot 文档中了解更多关于如何开始使用 Copilot 的信息。

更改所选文件的语言

在 VS Code 中,我们默认根据文件的扩展名来确定其语言支持。但是,有时你可能想要更改语言模式,为此,请单击状态栏右侧的语言指示器。这将弹出选择语言模式下拉菜单,你可以在其中为当前文件选择另一种语言。

Language Selector

提示:你也可以通过运行更改语言模式命令 (⌘K M (Windows, Linux Ctrl+K M)) 来获得相同的下拉菜单。

语言标识符

VS Code 将语言模式与特定的语言标识符关联起来,以便可以根据当前的语言模式启用各种 VS Code 功能。

语言标识符通常(但并非总是)是编程语言名称的小写形式。请注意,对于精确的标识符匹配,大小写是敏感的('Markdown' != 'markdown')。未知语言的文件的语言标识符是 plaintext

你可以在更改语言模式 (⌘K M (Windows, Linux Ctrl+K M)) 下拉菜单中查看当前已安装的语言及其标识符列表。

language identifiers

你可以在语言标识符参考中找到已知标识符的列表。

为语言添加文件扩展名

你可以通过 files.associations 设置为现有语言添加新的文件扩展名。

例如,以下设置将 .myphp 文件扩展名添加到 php 语言标识符中

    "files.associations": {
        "*.myphp": "php"
    }

智能感知 (⌃Space (Windows, Linux Ctrl+Space)) 会向你显示可用的语言标识符。

Language ID IntelliSense

后续步骤

现在你知道 VS Code 支持你关心的语言了。继续阅读...

  • 代码导航 - 查看定义、转到定义等
  • 调试 - 这才是 VS Code 真正大放异彩的地方

常见问题

我可以贡献自己的语言服务吗?

是的,可以!请查看 VS Code 扩展 API 文档中的语言服务器示例

如果我不想创建一个完整的语言服务,可以重用现有的 TextMate 包吗?

是的,你也可以通过 TextMate 着色器为你喜欢的语言添加支持。请参阅扩展 API 部分的语法高亮指南,了解如何将 TextMate 的 .tmLanguage 语法文件集成到 VS Code 中。

我可以将其他文件扩展名映射到一种语言吗?

是的,通过 files.associations 设置,你可以将文件扩展名映射到现有语言,无论是全局设置还是针对单个工作区设置。

这是一个将更多文件扩展名关联到 PHP 语言的示例

"files.associations": {
    "*.php4": "php",
    "*.php5": "php"
}

如果需要,你还可以将完整的文件路径配置给语言。以下示例将 somefolder 文件夹中的所有文件都关联到 PHP

"files.associations": {
    "**/somefolder/*.*": "php"
}

请注意,该模式是一个 glob 模式,如果它包含 /,则会匹配文件的完整路径,否则只匹配文件名。

如何为新文件设置默认语言?

使用 files.defaultLanguage 设置,你可以将所有新文件映射到一个默认语言。每当打开一个新的空白文件时,编辑器都将配置为该语言模式。

此示例会将新文件与 HTML 语言关联

  // The default language mode that is assigned to new files.
  "files.defaultLanguage": "html"