编程语言
支持数百种编程语言
在Visual Studio Code中,我们对几乎所有的主要编程语言都提供了支持。例如,JavaScript、TypeScript、CSS和HTML是内置的,但更丰富的语言扩展可以在VS Code Marketplace找到。
以下是八种最受欢迎的语言扩展:
前往市场或使用集成的扩展视图,搜索您所需的编程语言以找到代码片段、代码完成/IntelliSense 提供者、检查器、调试器等。
注意:如果您想更改 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)
- linting 和 更正
- 代码导航(转到定义,查找所有引用)
- 调试
- 重构
增强AI完成度
在 VS Code 中,你可以通过人工智能(AI)增强你的编码体验,例如代码行或整个函数的建议、快速文档创建,以及帮助创建与代码相关的 artefacts,如测试。
GitHub Copilot 是一个由AI驱动的代码补全工具,帮助你更快更智能地编写代码。你可以在VS Code中使用GitHub Copilot扩展来生成代码,或者从它生成的代码中学习。
您可以在 Copilot 文档 中了解更多关于如何开始使用 Copilot 的信息。
更改所选文件的语言
在 VS Code 中,我们默认根据文件的扩展名来支持文件的编程语言。然而,有时您可能需要更改语言模式,要这样做,请点击状态栏右侧的语言指示器。这将弹出“选择语言模式”下拉菜单,您可以在其中选择当前文件的另一种语言。

提示:您可以通过运行更改语言模式命令(⌘K M(Windows, Linux Ctrl+K M))来获得相同的下拉菜单。
语言识别器
VS Code 将语言模式与特定的语言标识符关联,以便根据当前语言模式启用 VS Code 的各种功能。
语言标识符通常是(但不总是)小写化的编程语言名称。请注意,大小写对于精确的标识符匹配很重要('Markdown' != 'markdown')。未知语言的文件具有语言标识符明文输入:.
您可以在更改语言模式 (⌘K M (Windows, Linux Ctrl+K M))下拉菜单中查看当前已安装语言及其标识符的列表。

您可以在语言识别器参考中找到已知标识符的列表。
为一种语言添加文件扩展名
您可以将新的文件扩展名添加到现有的语言中
例如,下面的设置添加了.myphp文件扩展名到PHP语言识别器:
"files.associations": {
"*.myphp": "php"
}
IntelliSense (⌃Space (Windows, Linux Ctrl+Space)) 将显示可用的语言标识符。

下一步
现在你知道 VS Code 支持你关心的语言。继续阅读...
常见问题
我可以贡献自己的语言服务吗?
是的,你可以!查看 示例语言服务器 在 VS Code 扩展 API 文档中。
如果我不想创建一个完整的语言服务,我可以重用现有的 TextMate 捆绑包吗?
是的,您还可以通过 TextMate 语法着色器为您的首选语言添加支持。请参阅语法高亮指南在扩展 API 部分了解如何集成 TextMate.tmLanguage将语法文件导入 VS Code。
我可以将其他文件扩展名映射到一种语言吗?
是的,随着
这是一个示例,将更多的文件扩展名与PHP语言关联:
"files.associations": {
"*.php4": "php",
"*.php5": "php"
}
如果需要,您还可以配置完整的文件路径到语言。以下示例将文件夹中的所有文件关联一些文件夹到PHP:
"files.associations": {
"**/somefolder/*.*": "php"
}
请注意,该模式是一个通配符模式,如果包含输入:/否则将根据文件名匹配。
如何为新文件设置默认语言?
使用
这个例子将把新文件与HTML语言关联:
// 新文件默认的语言模式。
"files.defaultLanguage": "html"
