【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

iOS开发针对苹果新系统iOS26的兼容适配UITabBarButtonItem & UITabBar的液态玻璃效果/当前wifi ssid获取

1. UITabBarButtonItem液态玻璃效果         兼容处理:         第一种方式(不推荐):把所有的UITabBarButtonItem关闭液态玻璃效果: if (@available(iOS 26.0, *)) { self.navigationItem.rightBarButtonItem.hidesSharedBackground = YES; self.navigationItem.leftBarButtonItem.hidesSharedBackground = YES; } else { // Fallback on earlier versions }         第二种方式:所有导航栏按钮全部采用UITabBarButtonItem,支持液态玻璃效果。         第三种方式:降低Xcode版本到Xcode25及以下版本,然后再打包         第四种方式:使用兼容模式显示传统UI风格,也就是取消TabBar液态玻璃效果:         打开info.plist,添加一个Boolean键值对,取消液态玻璃效果,

Web Designer终极指南:零代码构建专业级网页界面

Web Designer终极指南:零代码构建专业级网页界面 【免费下载链接】web_designer网页设计器图形化工具,通过拖拽组件进行页面排版和生成页面代码 项目地址: https://gitcode.com/gh_mirrors/we/web_designer 还在为复杂的网页编码而烦恼吗?还在为繁琐的样式调整而头疼吗?Web Designer可视化网页设计器为你带来革命性的解决方案,让网页设计变得像搭积木一样简单有趣。 🎯 痛点终结者:告别传统编码困境 传统网页开发面临三大挑战:学习曲线陡峭、开发周期漫长、维护成本高昂。Web Designer正是为解决这些问题而生,它将复杂的编码过程转化为直观的可视化操作,让每个人都能轻松创建专业级网页。 🚀 核心功能:从设计到生成的一站式体验 可视化拖拽设计 Web Designer采用直观的拖拽式设计模式,左侧组件库提供丰富的ElementUI组件,包括基础控件、图表组件等。只需简单拖拽,就能在画布上快速搭建页面结构。 Web Designer核心设计界面 - 左侧组件库、中间画布区、右侧配置面板 实时预览与效果

视觉语言模型新选择|Qwen3-VL-WEBUI本地化部署教程

视觉语言模型新选择|Qwen3-VL-WEBUI本地化部署教程 随着多模态大模型在图文理解、视觉代理和视频分析等场景的广泛应用,阿里推出的 Qwen3-VL 系列成为当前最具竞争力的开源视觉语言模型之一。其最新版本 Qwen3-VL-4B-Instruct 在文本生成、图像理解、空间推理与长上下文处理方面实现了全面升级,尤其适合需要高性价比本地部署的中小规模应用场景。 本文将详细介绍如何通过官方提供的 Qwen3-VL-WEBUI 镜像,实现一键式本地化部署,涵盖环境准备、服务启动、Web交互使用及性能优化建议,帮助开发者快速上手并投入实际项目应用。 为什么选择 Qwen3-VL-WEBUI? Qwen3-VL-WEBUI 是一个专为 Qwen3-VL 系列模型设计的轻量级 Web 推理镜像,内置了完整的运行时依赖、前端界面和后端服务,极大简化了部署流程。相比手动配置环境,该镜像具备以下优势: * ✅ 开箱即用:预装 vLLM + Gradio + Transformers,无需手动安装依赖 * ✅ 支持多模态输入:可上传图片、视频进行图文问答与动态内容分析 * ✅

Python Web 开发进阶实战:数字孪生平台 —— 在 Flask + Vue 中构建实时物理世界镜像

Python Web 开发进阶实战:数字孪生平台 —— 在 Flask + Vue 中构建实时物理世界镜像

第一章:什么是数字孪生? 1.1 定义与演进 * NASA 最初定义(2010):航天器的虚拟副本,用于地面测试 现代扩展: 产品孪生:单个设备(如风机)过程孪生:生产线流程系统孪生:整座工厂、城市 1.2 数字孪生 vs 传统可视化 维度传统 SCADA数字孪生 数据维度 | 仅数值 | 数值 + 空间位置 + 拓扑关系交互性 | 只读 | 可干预、可仿真预测能力 | 无 | 基于物理/数据模型推演未来 关键区别:双向闭环 物理 → 数据 → 虚拟 → 决策 → 物理(控制) 第二章:平台架构设计 2.1 整体数据流 [物理设备]