Skip to content

VS Code 插件推荐

VS Code 的强大之处在于其丰富的扩展生态。安装合适的插件可以将 VS Code 从一个通用编辑器转变为专业的前端开发环境。本节将详细介绍 HTML 开发必备的 VS Code 插件,帮助你高效地进行前端开发。

前置知识

阅读本节前,建议先了解:本地开发服务器

基础概念

VS Code 的扩展(Extensions)是通过 VS Code Marketplace 分发的功能增强模块。它们可以添加语言支持、主题、调试器、代码片段、Lint 工具等能力。对于 HTML 前端开发,合适的插件组合能大幅提升编码效率和代码质量。

插件安装方法

bash
# 方法一:VS Code 内安装
# 1. 按 Cmd+Shift+X(macOS)或 Ctrl+Shift+X(Windows)打开扩展面板
# 2. 搜索插件名称
# 3. 点击"安装"

# 方法二:命令行安装
code --install-extension RitwickDey.LiveServer
code --install-extensionformulahendry.auto-rename-tag

# 方法三:VSIX 文件离线安装
code --install-extension plugin.vsix

详细说明

HTML 编辑增强插件

Auto Rename Tag

修改 HTML 标签时自动同步更新配对的开始标签或结束标签。

html
<!-- 修改前 -->
<div class="container">
  <p>内容</p>
</div>

<!-- 修改 div 为 section,开始标签修改后结束标签自动同步 -->
<section class="container">
  <p>内容</p>
</section>

实用场景

当你需要将 <div> 改为 <article>,或 <span> 改为 <strong> 时,只需修改一处,配对标签自动更新。这对频繁重构 HTML 结构非常有用。

配置项:

json
{
  // 是否在设置开始标签时自动更新结束标签(默认开启)
  "auto-rename-tag.activationOnLanguage": [
    "html",
    "xml",
    "jsx",
    "javascript",
    "typescript",
    "javascriptreact",
    "typescriptreact"
  ]
}

Auto Close Tag

自动补全 HTML/XML 的关闭标签,输入开始标签的 > 后自动生成对应的结束标签。

html
<!-- 输入 <div> 后自动生成 -->
<div>|</div>   <!-- 光标在标签之间 -->

<!-- 输入 <p class="text"> 后自动生成 -->
<p class="text">|</p>

<!-- 输入自闭合标签 <br /> 不需要关闭标签 -->
<br />  <!-- img、hr、input 等自闭合标签不受影响 -->

HTML CSS Support

在 HTML 文件中编写 classid 属性时,提供对应 CSS 类名和 ID 的智能补全提示。

html
<!-- 当你的 CSS 文件中定义了以下样式时: -->

<style>
  /* style.css */
  .container { max-width: 1200px; }
  .btn-primary { background: blue; }
  .card { border-radius: 8px; }
  #main-header { height: 60px; }
</style>

<!-- 在 HTML 中输入 class="" 时,VS Code 会提示可用的 CSS 类名 -->
<div class="|"></div>
<!-- 提示: container, btn-primary, card -->

配置项:

json
{
  // 指定 CSS 文件的查找范围
  "css.remoteStyleSheets": [],

  // 启用 HTML 模板语言中的 CSS 支持
  "css.enabledLanguages": [
    "html",
    "vue",
    "javascript",
    "javascriptreact",
    "typescript",
    "typescriptreact"
  ]
}

代码格式化插件

Prettier - Code formatter

Prettier 是目前最流行的代码格式化工具,支持 HTML、CSS、JavaScript 等多种语言,能够统一团队的代码风格。

bash
# 项目中安装 Prettier
npm install --save-dev prettier

创建 .prettierrc 配置文件:

json
{
  "semi": true,
  "singleQuote": false,
  "tabWidth": 2,
  "printWidth": 100,
  "htmlWhitespaceSensitivity": "css",
  "htmlQuoteStyle": "double",
  "bracketSameLine": false,
  "trailingComma": "es5"
}

VS Code 配置项:

json
{
  // 设置 Prettier 为默认格式化工具
  "editor.defaultFormatter": "esbenp.prettier-vscode",

  // 保存时自动格式化
  "editor.formatOnSave": true,

  // 不同语言的格式化工具
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

Prettier 与 ESLint 的协作

Prettier 负责代码格式化(空格、缩进、换行),ESLint 负责代码质量检查(变量命名、未使用变量)。两者互补而不冲突。配置 eslint-config-prettier 可禁用 ESLint 中与 Prettier 冲突的规则。

代码质量检查插件

ESLint

ESLint 是 JavaScript/TypeScript 的静态代码分析工具,可以检查代码中的错误、不一致的风格和潜在问题。

bash
# 安装 ESLint
npm install --save-dev eslint

# 初始化 ESLint 配置
npx eslint --init

ESLint 配置文件 .eslintrc.json

json
{
  "env": {
    "browser": true,
    "es2021": true,
    "node": true
  },
  "extends": ["eslint:recommended"],
  "parserOptions": {
    "ecmaVersion": "latest",
    "sourceType": "module"
  },
  "rules": {
    "no-unused-vars": "warn",
    "no-undef": "error",
    "no-console": "off",
    "prefer-const": "error",
    "no-var": "error"
  }
}

HTML 文件中的内联脚本检查:

json
{
  "eslint.workingDirectories": [{ "mode": "auto" }],
  "eslint.validate": [
    "javascript",
    "javascriptreact",
    "html"
  ]
}

开发辅助插件

Live Server

(已在 本地开发服务器 中详细介绍)

一键启动本地开发服务器,保存文件后自动刷新浏览器。

Bracket Pair Colorizer

已内置

VS Code 1.60+ 已内置括号配对着色功能,无需额外安装此插件。确保在设置中开启: "editor.bracketPairColorization.enabled": true

Path Intellisense

在输入文件路径(如 src="..."href="...")时提供智能路径补全。

html
<!-- 输入 src=" 时自动提示项目中的文件 -->
<img src="|">
<!-- 提示: images/logo.png, images/banner.jpg, css/style.css -->

<!-- 输入 href=" 时同样生效 -->
<link href="|">
<a href="|">

配置项:

json
{
  // 路径提示中是否显示文件扩展名
  "path-intellisense.showHiddenFiles": true,
  "path-intellisense.extensionOnImport": true,
  "path-intellisense.absolutePathToWorkspace": false
}

Color Highlight

在代码中高亮显示颜色值,并显示对应的颜色预览色块。

css
/* 颜色值会被标记上对应颜色的背景 */
.text-red { color: #ff0000; }       /* 显示红色色块 */
.text-blue { color: rgb(0,0,255); } /* 显示蓝色色块 */
.text-green { color: green; }      /* 显示绿色色块 */

Markdown All in One

提供 Markdown 快捷键、目录生成、自动列表缩进等功能,适合编写文档时使用。

SVG Preview

在编辑器中实时预览 SVG 文件,支持放大缩小和导出为 PNG。

Error Lens

直接在代码行内显示错误和警告信息,无需将鼠标悬停在波浪线上查看。

主题插件

良好的主题配色能减轻视觉疲劳,提高代码可读性。

主题名称特点推荐度
One Dark Pro经典深色主题,色彩柔和极高
Dracula紫色调暗色主题,对比鲜明
GitHub Theme模拟 GitHub 网页界面风格
Material ThemeMaterial Design 风格,多套配色方案
Night Owl护眼暗色主题,专为开发者设计
Ayu简洁清爽,区分 Dark/Dark+/Light 三种模式中高

主题配置推荐:

json
{
  // 设置默认主题
  "workbench.colorTheme": "One Dark Pro",
  // 设置文件图标主题
  "workbench.iconTheme": "vs-seti",
  // 控制终端主题
  "workbench.colorCustomizations": {
    "terminal.background": "#1e1e2e",
    "terminal.foreground": "#cdd6f4"
  }
}

必备插件清单汇总

插件名称功能分类必要程度简介
Auto Rename TagHTML 编辑必装同步修改配对 HTML 标签
Auto Close TagHTML 编辑必装自动补全 HTML 关闭标签
HTML CSS SupportHTML 编辑必装CSS 类名/ID 智能补全
Prettier代码格式化必装统一代码格式化风格
ESLint代码质量必装JavaScript 代码质量检查
Live Server开发辅助必装本地服务器 + 热更新
Path Intellisense开发辅助推荐文件路径智能补全
Color Highlight开发辅助推荐颜色值可视化预览
Error Lens开发辅助推荐行内显示错误信息
Markdown All in One文档编写推荐Markdown 编辑增强
SVG Preview开发辅助可选SVG 实时预览
Material Icon Theme界面美化推荐美化文件图标
GitLens版本控制推荐Git 增强功能
Code Spell Checker代码质量推荐英文拼写检查

实战示例

示例:一键安装所有推荐插件

创建安装脚本,批量安装所有推荐插件:

bash
#!/bin/bash
# install-vscode-plugins.sh - 批量安装 VS Code 插件

echo "正在安装 VS Code 推荐插件..."

# HTML 编辑增强
code --install-extension formulahendry.auto-rename-tag
code --install-extension formulahendry.auto-close-tag
code --install-extension ecmel.vscode-html-css

# 代码格式化与质量检查
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint

# 开发辅助
code --install-extension RitwickDey.LiveServer
code --install-extension christian-kohler.path-intellisense
code --install-extension naumovs.color-highlight
code --install-extension usernamehw.errorlens

# 主题与图标
code --install-extension PKief.material-icon-theme
code --install-extension zhuangtongfa.material-theme

# Git 增强
code --install-extension eamodio.gitlens

# 文档编写
code --install-extension yzhang.markdown-all-in-one

echo "所有插件安装完成!请重启 VS Code 使插件生效。"
bash
# 赋予执行权限并运行
chmod +x install-vscode-plugins.sh
./install-vscode-plugins.sh

示例:项目级 VS Code 配置

在项目中创建 .vscode 目录,包含统一的团队配置:

.vscode/settings.json

json
{
  // 编辑器基础设置
  "editor.fontSize": 14,
  "editor.tabSize": 2,
  "editor.insertSpaces": true,
  "editor.wordWrap": "on",
  "editor.bracketPairColorization.enabled": true,
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",

  // HTML 专属设置
  "html.format.indentSize": 2,
  "html.format.wrapAttributes": "auto",
  "html.autoClosingTags": true,
  "html.validate.schemas": true,
  "html.validate.styles": true,
  "html.validate.scripts": true,

  // CSS 专属设置
  "css.lint.emptyRules": "warning",
  "css.lint.duplicateProperties": "warning",

  // 文件设置
  "files.encoding": "utf8",
  "files.trimTrailingWhitespace": true,
  "files.insertFinalNewline": true,

  // Emmet 配置
  "emmet.includeLanguages": {
    "javascript": "javascriptreact"
  },

  // 搜索排除
  "files.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/.git": true
  },

  "search.exclude": {
    "**/node_modules": true,
    "**/dist": true,
    "**/package-lock.json": true
  }
}

.vscode/extensions.json(推荐插件提示):

json
{
  "recommendations": [
    "formulahendry.auto-rename-tag",
    "formulahendry.auto-close-tag",
    "ecmel.vscode-html-css",
    "esbenp.prettier-vscode",
    "dbaeumer.vscode-eslint",
    "RitwickDey.LiveServer",
    "christian-kohler.path-intellisense",
    "naumovs.color-highlight",
    "eamodio.gitlens",
    "PKief.material-icon-theme"
  ]
}

当团队成员打开此项目时,VS Code 会提示安装 extensions.json 中列出的推荐插件,确保团队开发环境一致。

示例:使用 Prettier 格式化 HTML 文档

创建一个格式混乱的 HTML 文件,使用 Prettier 格式化前后对比:

格式化前:

html
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>格式化测试</title><style>*{margin:0;padding:0;box-sizing:border-box;}body{font-family:sans-serif;line-height:1.6;}</style></head><body><div class="container"><header><nav><h1>我的网站</h1><ul><li><a href="#">首页</a></li><li><a href="#">关于</a></li><li><a href="#">联系</a></li></ul></nav></header><main><section class="hero"><h2>欢迎</h2><p>这是一个测试页面。</p><button class="btn">点击我</button></section></main><footer><p>版权所有 2024</p></footer></div></body></html>

格式化后(右键 → Format Document):

html
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>格式化测试</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      body {
        font-family: sans-serif;
        line-height: 1.6;
      }
    </style>
  </head>
  <body>
    <div class="container">
      <header>
        <nav>
          <h1>我的网站</h1>
          <ul>
            <li><a href="#">首页</a></li>
            <li><a href="#">关于</a></li>
            <li><a href="#">联系</a></li>
          </ul>
        </nav>
      </header>
      <main>
        <section class="hero">
          <h2>欢迎</h2>
          <p>这是一个测试页面。</p>
          <button class="btn">点击我</button>
        </section>
      </main>
      <footer><p>版权所有 2024</p></footer>
    </div>
  </body>
</html>

注意事项

  • 不要安装过多插件:每个插件都会消耗一定内存和 CPU 资源,建议安装 10-15 个核心插件即可,避免编辑器变卡
  • 注意插件来源:只安装 Marketplace 上有较高下载量和好评的插件,警惕模仿知名插件的恶意软件
  • 定期更新插件:过期的插件可能与新版 VS Code 不兼容,定期检查并更新
  • 团队统一插件配置:将 extensions.json 提交到版本控制,确保团队成员使用相同的插件集合
  • Disable 而非 Uninstall:暂时不用的插件可以先禁用而非卸载,方便日后重新启用

最佳实践

  • 分阶段安装插件:先安装核心插件(Auto Rename Tag、Live Server、Prettier),熟悉后再根据需求添加其他插件
  • 善用插件快捷键:记住常用插件的快捷键,减少鼠标操作频率
  • 定期审查已安装的插件:打开扩展面板,检查是否有不再使用的插件并及时清理
  • 备份插件列表:使用 code --list-extensions 导出已安装插件列表,方便在新环境中快速恢复
  • 创建项目级推荐配置:通过 .vscode/extensions.json 向团队成员推荐项目所需的插件

下一节

继续学习:浏览器开发者工具

参考链接