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

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

利用 GitHub Copilot 配合 Figma MCP 插件,将设计稿直接转化为前端代码。通过配置 VS Code 中的 MCP 服务,获取 Figma API 密钥,并在 Agent 模式下输入设计图链接,即可自动生成高保真的微信小程序组件代码。流程涵盖环境搭建、密钥管理及多轮交互优化,最终产出结构清晰、注释完善的业务组件,显著提升设计与开发之间的转化效率。

2177283801发布于 2026/3/22更新于 2026/10/2497 浏览
GitHub Copilot 接入 Figma MCP 还原设计稿生成前端代码

市面上关于 Cursor 与 Figma MCP 的教程较多,由于实际开发环境使用的是 GitHub Copilot,这里分享如何在 VS Code 中利用 GitHub Copilot 接入 Figma MCP 进行设计稿还原并生成前端代码的实战步骤。

配置 MCP 环境

在 VS Code 中打开目标项目(以微信小程序为例),呼出 GitHub Copilot 对话框,模式选择 Agent,模型建议选用 Claude 3.7 Sonnet。输入以下提示词:

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

跟随 AI 提示操作即可完成配置,它会自动检测并安装必要的 VS Code 插件,甚至生成配置说明文档。

在这里插入图片描述

AI 生成的答案可能因环境而异,以下是参考的运行结果。它会在项目根目录创建 .vscode 文件夹,并在 settings.json 中添加相关配置。若文件已存在,配置通常会被追加至末尾。

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

获取并设置 Figma 密钥

登录 Figma 网页版,点击左上角头像进入 Settings -> Security,找到 Generate new token 选项。

权限设置路径可能会随版本更新变化,请自行查找。点击生成 Token 后会弹出窗口,命名如 mcp,并将权限列表中的读或写权限逐一开启,默认状态通常为 No access。

注意默认是 30 天过期,30 天后需要建一个新的才能继续用。

在这里插入图片描述

确认权限后点击右下角 Generate Token 生成密钥。这是唯一一次复制机会,务必保存好。将密钥复制到 settings.json 文件中 --figma-api-key= 参数之后。

设计与代码生成

以官方电商 UI 模板的商品卡片为例,在 Figma 设计图上选中目标图层,右键点击 Copy link to selection。

在这里插入图片描述

将链接粘贴到 Copilot 对话框进行测试,确保模式为 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,点击继续(也可勾选允许在当前会话中自动操作)。随后查看描述信息,确认设计图已被读取,配置生效。

在这里插入图片描述

接下来让 AI 编写代码。提示词示例:

请根据这个设计图在我的微信小程序里生成商品卡片组件的代码,注意微信小程序中 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>
  <!-- 产品操作按钮 -->
  <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 class="container">
  <view class="title">商品卡片组件展示</view>
  <view class="card-container">
    <product-card product="{{productData}}"></product-card>
  </view>
</view>

目录

  1. 配置 MCP 环境
  2. 获取并设置 Figma 密钥
  3. 设计与代码生成

更多推荐文章

查看全部
  • FPGA 摄像头采集处理显示指南:OV5640 到 HDMI 实时显示
  • OpenClaw:本地私有化 AI 助手与自动化平台
  • 八种常见排序算法详解
  • Stable Diffusion 3.5 云端部署与图像生成实测
  • GTC 2026 前瞻:Rubin 平台与 AI 工厂建设
  • Python 入门 60 个基础练习:从零掌握核心语法
  • 三款主流云电脑部署 DeepSeek 模型性能对比评测
  • Python 接入天远劳动仲裁 API 构建企业风控体系
  • GitHub Copilot Pro 学生免费认证与 VS Code 集成指南
  • RVC-WebUI 语音转换工具部署与使用指南
  • Kimi K2.5 开源部署、API 接入、Agent 集群与多模态视觉实战
  • 医疗自然语言处理(NLP)应用场景与实战开发
  • OpenClaw:打造你的本地 AI 数字管家
  • OpenClaw 本地部署接入飞书机器人安装指南
  • AIGC 情感化智能客服实战:降低投诉率的技术方案
  • C++20 概念(Concepts):模板参数的语义约束定义
  • Python Requests 库入门与实践:获取网络资源基础
  • C++ 继承机制核心解析
  • 对抗学习原理与代码实战详解
  • 百考通 AIGC 检测:技术原理与多场景应用

相关免费在线工具

  • 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