跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptWeChatAI大前端

GitHub Copilot 接入 Figma MCP 还原设计稿生成前端代码

演示如何使用 GitHub Copilot 配合 Figma MCP 插件,在 VSCode 中将 Figma 设计稿还原为微信小程序前端代码。主要步骤包括:通过 AI 助手配置 MCP 服务,获取并替换 Figma API 密钥,在 Agent 模式下发送设计图链接及指令生成组件代码,并通过多轮交互优化 UI 细节。最终生成的代码 DOM 结构合理,还原度高,可显著提升开发效率。

技术博主发布于 2026/4/6更新于 2026/9/886 浏览
GitHub Copilot 接入 Figma MCP 还原设计稿生成前端代码

本文介绍如何在 VSCode 中使用 GitHub Copilot 接入 Figma MCP 实现设计稿到前端代码的还原。

Step1:配置 MCP

在 VSCode 中打开项目(以微信小程序为例),呼出 GitHub Copilot 对话框,模式选择 Agent,模型建议 Claude 3.7 Sonnet,提问:

https://github.com/GLips/Figma-Context-MCP 如何配置能让你在 vscode 里使用这个 mcp

跟随提示完成配置,插件缺失时会自动安装并生成配置文档。

图片描述

以下为配置参考示例,AI 会在项目根目录创建 .vscode/settings.json 文件。

{"mcpServers":{"Framelink Figma MCP":{"command":"cmd","args":["/c","npx","-y","figma-developer-mcp","--figma-api-key=这里稍后替换成你自己的密钥","--stdio"]}}}

Step2:获取 Figma 密钥

登录 Figma 网页,进入头像菜单 Settings -> Security -> Generate new token。若界面更新,请在安全设置中查找 Token 生成选项。

命名 Token 并勾选读写权限(默认无权限)。

注意 Token 默认有效期为 30 天,过期需重新生成。

图片描述

生成后请立即复制密钥,填入 settings.json 中的 --figma-api-key 参数处。

Step3:如何使用

在 Figma 中选中目标图层,右键选择 Copy link to selection。

图片描述

将链接粘贴至对话框,切换至 Agent 模式进行测试。

https://www.figma.com/design/GJZhGih0VsGbpevJGkJQ9Z/E-commerce-UI—Figma-Ecommerce-UI-Kit–Demo-Version—Community-?node-id=2804-7985&m=dev 现在你能读到这个设计图了吗

图片描述

确认 Agent 连接 MCP Server 并读取设计图描述,表示配置生效。

图片描述

输入指令要求生成组件代码,例如:

请根据此设计图在微信小程序中生成商品卡片组件代码,注意微信小程序中 2rpx=1px,要完全还原设计图的 UI,再建一个测试页面展示这个组件的调用效果,可以参考微信小程序官方文档 https://developers.weixin.qq.com/miniprogram/dev/api

图片描述

等待 AI 生成完成后,在开发者工具中运行查看效果。

图片描述

对比设计图细节,礼貌反馈不足处并要求优化。

看上去有一些 UI 细节不够还原,比如卡片的内边距,还有按钮的布局,请你再仔细检查一下。

商品图片上的三个 icon 按钮应该是水平居中的,learn more 按钮应该是水平居左的。另外你能不能直接下载设计图里的 icon 为 svg 来使用,这样更还原。

经过多轮优化,最终还原度显著提升。

图片描述

人工审查生成代码,DOM 结构合理,注释清晰。

<view class="product-card">
  <!-- 图片区域 -->
  <view class="fixed-height">
    <view class="product-cover" style="background-image:url('{{product.coverImage}}');"></view>
    <!-- 产品操作按钮 -->
    <view class="product-actions">
      <view class="action-button like">
        <view class="icon"><image class="icon-image" src="/images/icons/like-icon.svg"></image></view>
      </view>
      <view class="action-button basket">
        <view class="icon"><image class="icon-image" src="/images/icons/basket-icon.svg"></image></view>
      </view>
      <view class="action-button share">
        <view class="icon"><image class="icon-image" src="/images/icons/share-icon.svg"></image></view>
      </view>
    </view>
    <!-- 标签 -->
    <view class="tag" wx:if="{{product.tag}}"><text>{{product.tag}}</text></view>
  </view>
  <!-- 产品信息区域 -->
  <view class="product-info">
    <!-- 类别和评分 -->
    <view class="row category-rating">
      <view class="category-container"><text class="category">{{product.category}}</text></view>
      <view class="rating-container">
        <image class="star-icon" src="/images/icons/star-icon.svg"></image>
        <text class="rating">{{product.rating}}</text>
      </view>
    </view>
    <!-- 产品标题 -->
    <text class="product-title">{{product.title}}</text>
    <!-- 产品描述 -->
    <text class="product-description">{{product.description}}</text>
    <!-- 销售信息 -->
    <view class="sales">
      <view class="icon"><image class="sales-icon" src="/images/icons/sales-icon.svg"></image></view>
      <text class="sales-text">{{product.sales}} Sales</text>
    </view>
    <!-- 价格信息 -->
    <view class="prices">
      <text class="original-price" wx:if="{{product.originalPrice}}">¥{{product.originalPrice}}</text>
      <text class="current-price">¥{{product.price}}</text>
    </view>
    <!-- 颜色选项 -->
    <view class="product-colors">
      <view class="color-dot" wx:for="{{product.colors}}" wx:key="index" style="background-color:{{item}};"></view>
    </view>
    <!-- 产品特性 -->
    <view class="product-features">
      <view class="feature">
        <view class="icon"><image class="feature-icon" src="/images/icons/calendar-icon.svg"></image></view>
        <text class="feature-text">{{product.duration}}</text>
      </view>
      <view class="feature">
        <view class="icon"><image class="feature-icon" src="/images/icons/lessons-icon.svg"></image></view>
        <text class="feature-text">{{product.lessons}} Lessons</text>
      </view>
      <view class="feature">
        <view class="icon"><image class="feature-icon" src="/images/icons/progress-icon.svg"></image></view>
        <text class="feature-text">Progress</text>
      </view>
    </view>
    <!-- 了解更多按钮 -->
    <button class="learn-more-button" hover-class="button-hover">
      <text>Learn More</text>
      <image class="arrow-icon" src="/images/icons/arrow-right-icon.svg"></image>
    </button>
  </view>
</view>

组件调用示例同样简洁明了。

<view class="container">
  <view class="title">商品卡片组件展示</view>
  <view class="card-container">
    <product-card product="{{productData}}"></product-card>
  </view>
</view>

目录

  1. Step1:配置 MCP
  2. Step2:获取 Figma 密钥
  3. Step3:如何使用

更多推荐文章

查看全部
  • 基于 OpenClaw 框架搭建自动化 AI 选股系统
  • Helm Monitor 插件:基于监控数据自动回滚 Release
  • FPGA 模块助力现代工厂高速数据采集与实时处理
  • ComfyUI 详解:基于节点式工作流的 AI 绘画工具指南
  • 大模型学习路线:从新手到专家的完整路径
  • 2026 年各大高校 AIGC 检测政策汇总
  • AIri 虚拟角色全平台部署指南(Web/桌面/移动)
  • AI 如何助力前端 Debug 及实际应用指南
  • 基于 RoBERTa 模型的评论文本分类实战
  • TRAE AI 智能体实现 Vue 3 + Node.js + MySQL 全栈项目实战
  • 基于Python+OpenCV实现自动扫雷
  • 基于 Coze 构建专属 AI 应用:从智能体开发到 Web 部署实战
  • PaperRed——2026年AI论文写作、AI降重、降低aigc,免费查重的网站
  • 前端应用国际化实现方案
  • AI 训练师算法与模型训练从入门到精通
  • Linux 系统下 Node.js 与 Codex 安装排错指南
  • Coze 智能体核心资源详解:插件、知识库与数据库实战
  • AI 绘画敏感内容提示词实战指南:从基础原理到安全实践
  • 基于 Ollama-OCR 与 Llama 3.2-Vision 的文字识别方案
  • 自然语言处理在教育领域的实战应用

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online