在 VS Code 中试用

Visual Studio Code 中的 HTML

Visual Studio Code 开箱即用地提供了对 HTML 编程的基本支持。它具有语法高亮、IntelliSense 智能补全和可自定义的格式化功能。VS Code 还包含了出色的 Emmet 支持。

IntelliSense

当您在 HTML 中输入时,我们通过 HTML IntelliSense 提供建议。在下图中,您可以看到一个建议的 HTML 元素闭合标签 </div> 以及一个上下文相关的建议元素列表。

HTML IntelliSense

文档符号也适用于 HTML,允许您通过 ID 和类名快速导航到 DOM 节点。

您还可以使用嵌入式 CSS 和 JavaScript。但是请注意,不会跟踪来自其他文件的脚本和样式包含,语言支持仅查看 HTML 文件的内容。

您可以随时按 ⌃Space(Windows、Linux Ctrl+Space来触发建议。

您还可以控制哪些内置代码补全提供程序处于活动状态。如果您不希望看到相应的建议,请在您的用户或工作区设置中覆盖这些设置。

// Configures if the built-in HTML language suggests HTML5 tags, properties and values.
"html.suggest.html5": true

关闭标签

当输入起始标签的 > 时,标签元素会自动闭合。

HTML Close1

当输入闭合标签的 / 时,会插入匹配的闭合标签。

HTML Close2

您可以使用以下设置关闭自动闭合标签

"html.autoClosingTags": false

自动更新标签

当修改标签时,链接编辑功能会自动更新匹配的闭合标签。此功能是可选的,可以通过设置启用

"editor.linkedEditing": true

颜色选择器

VS Code 颜色选择器 UI 现在可用于 HTML 样式部分。

color picker in HTML

它支持配置从编辑器中选择的颜色的色相、饱和度和不透明度。它还提供了通过点击选择器顶部的颜色字符串来在不同颜色模式之间切换的功能。当您悬停在颜色定义上时,选择器会显示。

悬停

将鼠标悬停在 HTML 标签或嵌入式样式和 JavaScript 上,以获取光标下符号的更多信息。

HTML Hover

验证

HTML 语言支持对所有嵌入式 JavaScript 和 CSS 执行验证。

您可以使用以下设置关闭该验证

// Configures if the built-in HTML language support validates embedded scripts.
"html.validate.scripts": true,

// Configures if the built-in HTML language support validates embedded styles.
"html.validate.styles": true

折叠

您可以使用行号和行起始之间的装订线上的折叠图标来折叠源代码区域。所有 HTML 元素的多行注释都支持折叠区域。

此外,您可以使用以下区域标记来定义折叠区域:<!-- #region --><!-- #endregion -->

如果您倾向于为 HTML 使用基于缩进的折叠

"[html]": {
    "editor.foldingStrategy": "indentation"
},

格式化

为了改善 HTML 源代码的格式,您可以使用格式化文档命令 ⇧⌥F(Windows Shift+Alt+F,Linux Ctrl+Shift+I来格式化整个文件,或者使用格式化选定内容命令 ⌘K ⌘F(Windows、Linux Ctrl+K Ctrl+F来仅格式化选定的文本。

HTML 格式化程序基于 js-beautify。该库提供的格式化选项在 VS Code 设置中显示。

提示:格式化程序不会格式化 html.format.unformattedhtml.format.contentUnformatted 设置中列出的标签。嵌入式 JavaScript 会被格式化,除非排除了 'script' 标签。

市场中有几种可选的格式化程序可供选择。如果您想使用不同的格式化程序,请在设置中定义 "html.format.enable": false 以关闭内置格式化程序。

Emmet 代码片段

VS Code 支持 Emmet 代码片段扩展。Emmet 缩写与编辑器自动补全列表中的其他建议和代码片段一起列出。

Emmet HTML support built-in

提示:有关有效缩写,请参阅 Emmet 速查表的 HTML 部分。

如果您想将 HTML Emmet 缩写与其他语言一起使用,您可以使用 emmet.includeLanguages 设置将其中一种 Emmet 模式(例如 csshtml)与其它语言关联。此设置接受语言标识符,并将其与 Emmet 支持模式的语言 ID 相关联。

例如,要在 JavaScript 中使用 Emmet HTML 缩写

{
  "emmet.includeLanguages": {
    "javascript": "html"
  }
}

我们还支持用户定义代码片段

HTML 自定义数据

您可以通过声明式自定义数据格式来扩展 VS Code 的 HTML 支持。通过将 html.customData 设置为遵循自定义数据格式的 JSON 文件列表,您可以增强 VS Code 对新 HTML 标签、属性和属性值的理解。VS Code 随后将为所提供的标签、属性和属性值提供语言支持,例如补全和悬停信息。

您可以在 vscode-custom-data 仓库中阅读更多关于使用自定义数据的信息。

HTML 扩展

安装扩展以添加更多功能。转到扩展视图(⇧⌘X(Windows、Linux Ctrl+Shift+X),然后键入“html”以查看有助于创建和编辑 HTML 的相关扩展列表。

提示:点击上方的扩展磁贴以阅读描述和评论,从而决定哪个扩展最适合您。在市场中查看更多。

后续步骤

继续阅读以了解

  • CSS、SCSS 和 Less - VS Code 对 CSS(包括 Less 和 SCSS)提供一流的支持。
  • Emmet - 了解 VS Code 强大的内置 Emmet 支持。
  • Emmet 官方文档 - Emmet,Web 开发人员的必备工具包。

常见问题

VS Code 是否支持 HTML 预览?

不,VS Code 没有内置的 HTML 预览支持,但在 VS Code 市场中有可用的扩展。打开扩展视图(⇧⌘X(Windows、Linux Ctrl+Shift+X),然后搜索“live preview”或“html preview”以查看可用的 HTML 预览扩展列表。