尝试以扩展 VS Code 中的代理模式!

编程语言

支持数百种编程语言

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

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

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

注意:如果你想更改 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"
    }

IntelliSense (⌃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"