【GitHub Copilot】Figma MCP还原设计稿生成前端代码

【GitHub Copilot】Figma MCP还原设计稿生成前端代码

这里写自定义目录标题

Cursor+Figma MCP的教程已经很多了,由于我所在的公司采购的是GitHub Copilot,我研究了一下直接在vscode里利用GitHub Copilot接入Figma MCP进行设计稿还原代码,大获成功,这里分享我的步骤,希望能帮到你。

Step1:让AI给你配置MCP

在vscode中打开你的项目(我的例子是一个微信小程序),呼出github copilot对话框,模式选择Agent,模型建议Claude 3.7 Sonnet,提问:

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

之后跟着提示狂点下一步即可完成配置,如果有什么需要装的vscode插件它会自动帮你装,甚至自动生成了配置说明文档。

在这里插入图片描述


由于不能保证AI每次生成的答案都一致,这里附上我的运行结果作为参考,可以看到它在项目文件夹最外层建了一个.vscode文件夹,在settings.json文件里加上了配置。如果你的项目本来就有这个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
设置路径可能会有变化,自己到处点点找到Generate new token就对了
找到点击之后会出现下面这个弹窗,随便起个名字比如mcp,然后把下面的权限列表一个个打开选择读或写,要不然默认是全部No access的。
注意默认是30天过期,30天后需要建一个新的才能继续用。

在这里插入图片描述


都选完之后点右下角的generate token之后会生成一个密钥,这是你唯一一次复制它的机会,没复制好就关掉窗口了就只能重新建了。把这个密钥复制到settings.json文件中–figma-api-key=后面。

Step3:如何使用

我以这个官方电商UI模板里的商品卡片为例,在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来使用,这样更还原。

如上描述改了两个版本之后,我们得到了下图版本,我把设计图放在左边,可以看到还原度非常惊人了。

在这里插入图片描述

最后,来人工review一下生成组件代码,可以看到模板层dom设计非常合理,没有多余的嵌套,注释清晰,比我的同事靠谱多了

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

调用组件的示例页面给的例子也一目了然

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

Read more

【本地Docker部署开源低代码开发神器Appsmith与远程访问在线使用】

【本地Docker部署开源低代码开发神器Appsmith与远程访问在线使用】

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂 非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨ 博客目录 * 前言

By Ne0inhk

Z-Image-ComfyUI网页端使用说明:无需代码也能玩转AI绘画

Z-Image-ComfyUI网页端使用说明:无需代码也能玩转AI绘画 在数字内容创作的浪潮中,AI绘画早已不再是极客圈里的小众实验。越来越多的设计师、自媒体人甚至普通用户都希望借助文生图技术快速产出高质量视觉素材。但现实往往令人却步:模型部署复杂、显存要求高、中文提示词“水土不服”……这些门槛让不少人望而却步。 有没有一种方式,能让非技术人员像搭积木一样轻松完成AI绘图?阿里巴巴推出的 Z-Image-ComfyUI 组合给出了肯定答案。它不仅把60亿参数的大模型压缩到8步就能出图,还通过可视化界面彻底抹平了代码障碍。更关键的是——对中文用户的理解能力做了深度优化。 这不再是一个“能跑就行”的技术演示,而是一套真正面向实战场景的生产力工具。 从噪声到图像:Z-Image如何做到又快又准? 说到文生图,绕不开扩散模型的基本原理:从一张全是噪声的画布开始,一步步“擦除”杂乱信息,最终还原出符合文本描述的图像。传统流程动辄需要20~50步采样,每一步都在消耗GPU资源和等待时间。 Z-Image 的突破在于,它用知识蒸馏的方式教会了一个轻量级学生模型,去模仿教师模型的高质量生

By Ne0inhk
FASTLIVO2算法解析与实战(一):SLAM领域的新标杆,如何让机器人“看得更清、跑得更稳”

FASTLIVO2算法解析与实战(一):SLAM领域的新标杆,如何让机器人“看得更清、跑得更稳”

FASTLIVO2系统概述 1. 背景介绍 1.1 传感器特性 FASTLIVO2 系统融合了三种互补的传感器:激光雷达(LiDAR)、相机(Camera)和惯性测量单元(IMU)。它们在感知方式、输出数据和环境适应性上各具特点,通过融合实现优势互补。 特性激光雷达(LiDAR)相机(Camera)IMU工作方式主动发射激光,通过反射测量距离和方位被动接收环境光,捕捉 2D 图像信息主动测量自身运动感知内容环境几何结构(深度、形状、表面)环境纹理与颜色(语义、细节、动态物体)自身运动状态(姿态、速度、加速度)数据输出3D 点云(精确深度)2D 像素矩阵(RGB 或灰度)6 自由度运动参数优势- 直接深度测量,精度高- 不受光照影响- 在结构化环境中鲁棒-

By Ne0inhk
Flutter 三方库 whatsapp_bot_flutter 自动化社交矩阵鸿蒙多维协同适配指引:横向打通设备生态通信拦截管道、打造多模态实体机器人事件分发-适配鸿蒙 HarmonyOS ohos

Flutter 三方库 whatsapp_bot_flutter 自动化社交矩阵鸿蒙多维协同适配指引:横向打通设备生态通信拦截管道、打造多模态实体机器人事件分发-适配鸿蒙 HarmonyOS ohos

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 whatsapp_bot_flutter 自动化社交矩阵鸿蒙多维协同适配指引:横向打通设备生态通信拦截管道、打造多模态实体机器人事件分发极限制化与消息群发堡垒 前言 在 OpenHarmony 的企业级服务助理、自动化通知分发系统或者是个人智能机器人应用中,如何打通全球主流的即时通讯链路是开发者必须跨越的门槛。whatsapp_bot_flutter 库为 Flutter 开发者提供了一套基于协议或 Web 端桥接的自动化社交机器人方案。本文将带大家在鸿蒙端实战适配该库,探索社交自动化的无限可能。 一、原直线性 / 概念介绍 1.1 基础原理/概念介绍 whatsapp_bot_flutter 的核心逻辑是基于 基于流的会话状态机与加密协议握手 (Encryption Protocol Handshake)。它模拟官方客户端的连接逻辑,通过与指定网关建立受保护的 WebSocket 链路,并实时监听业务事件流(消息、

By Ne0inhk