如何在Sketch中将符号/元素的宽高值同步显示到画板文本框?
嘿,这个需求完全可以通过Sketch的脚本功能来实现,不用折腾复杂的插件,自己写个小脚本或者打包成简易插件就能搞定。下面给你两种实用方案,按需选择:
方案1:用Sketch原生脚本实现实时同步
这是最灵活的方式,不需要额外安装插件,直接用Sketch自带的脚本编辑器就能搞定:
- 打开Sketch的脚本编辑器:点击顶部菜单
Plugins > Show Script Editor - 创建一个新脚本文件,粘贴下面的代码:
// 自定义要用来显示尺寸的文本层名称,记得和你画板上的文本层名字一致 const TEXT_LAYER_NAME = "SizeDisplay"; // 监听文档变更事件(缩放、移动元素都会触发) function onDocumentChanged(context) { const doc = context.document; const selectedLayers = doc.selectedLayers(); const targetLayer = selectedLayers.firstObject(); // 校验:必须选中一个元素,且存在指定的文本层 if (!targetLayer || !doc.layers().containsObject(doc.layerNamed(TEXT_LAYER_NAME))) { return; } const textLayer = doc.layerNamed(TEXT_LAYER_NAME); // 获取元素的宽高,这里做了取整处理,想要精确值可以去掉Math.round const width = Math.round(targetLayer.frame().width()); const height = Math.round(targetLayer.frame().height()); // 更新文本内容,格式可以自己调整 textLayer.setStringValue(`宽度: ${width}px | 高度: ${height}px`); } // 启动监听 var onRun = function(context) { Sketch.observeNotification("MSDocumentDidChangeNotification", onDocumentChanged); context.document.showMessage("尺寸同步已启动!选中元素即可自动更新文本"); }; // 停止监听(关闭插件时自动执行) var onShutdown = function(context) { Sketch.unobserveNotification("MSDocumentDidChangeNotification", onDocumentChanged); };
- 在你的画板上创建一个文本元素,命名为
SizeDisplay(或者改成你脚本里定义的名称) - 点击脚本编辑器的播放按钮运行脚本,之后选中任意元素或符号,缩放它,文本层就会自动同步显示最新的宽高了!
小提示
- 如果想要显示更精确的数值,去掉代码里的
Math.round()即可 - 要是需要同步多个元素的尺寸,可以修改脚本遍历所有选中的元素,自定义显示格式
方案2:打包成专属插件(方便重复使用)
如果需要经常用这个功能,可以把上面的脚本打包成一个Sketch插件,方便随时启用:
- 打开Sketch的插件文件夹:点击
Plugins > Manage Plugins > 右上角齿轮图标 > Show Plugins Folder - 创建一个新文件夹,命名为
SizeSync.sketchplugin - 在文件夹内创建
Contents > Sketch路径,然后:- 把方案1里的代码保存为
main.js放在这个路径下 - 创建一个
manifest.json文件,内容如下:
- 把方案1里的代码保存为
{ "name": "尺寸同步助手", "description": "实时同步选中元素的宽高到指定文本层", "version": "1.0", "commands": [ { "name": "启动尺寸同步", "identifier": "size-sync.start", "script": "main.js", "handlers": { "run": "onRun", "shutdown": "onShutdown" } } ], "author": "Your Name", "compatibleVersion": 52 }
- 重启Sketch后,就能在
Plugins菜单里找到「尺寸同步助手」,点击启动就能使用了!
内容的提问来源于stack exchange,提问作者Alan Weibel
相关产品推荐
相关产品推荐

