Figma to Sketch 转换工具
fig2sketch 是一个将 Figma 设计文件转换为 Sketch 格式的命令行工具。
安装要求
- macOS 系统
- Homebrew 包管理器
- Python 3.11
- Sketch(已安装)
安装步骤
安装 Python 3.11(如果尚未安装):
bashbrew install python@3.11 python3.11 --version安装 pipx(Python 应用安装工具):
bashbrew install pipx pipx ensurepath如果已安装旧版本,请先卸载:
bashpipx uninstall fig2sketch根据你的 Sketch 版本选择安装命令:
对于 Sketch < 101 版本:
bashpipx install "fig2sketch==0.3.6" --python /opt/homebrew/bin/python3.11对于 Sketch ≥ 101 版本:
bashpipx install "fig2sketch>=0.3.7" --python /opt/homebrew/bin/python3.11
验证安装:
bashfig2sketch --version
使用方法
将 Figma 设计文件(.fig)转换为 Sketch 文件:
bash
fig2sketch input.fig output.sketch批量处理
bash
#!/bin/bash
# 当前目录作为源文件夹
SOURCE_DIR="$(pwd)"
# 目标文件夹
OUTPUT_DIR="$SOURCE_DIR/fig2sketch"
mkdir -p "$OUTPUT_DIR"
# 获取 CPU 核心数(逻辑核心)
MAX_JOBS=$(sysctl -n hw.ncpu)
echo "使用 $MAX_JOBS 个并行任务进行转换"
# 转换计数
count=0
# 遍历 .fig 文件
for fig_file in "$SOURCE_DIR"/*.fig; do
# 检查是否有文件匹配
[ -e "$fig_file" ] || { echo "没有找到 .fig 文件"; break; }
filename=$(basename "$fig_file" .fig)
# 后台运行转换
fig2sketch "$fig_file" "$OUTPUT_DIR/$filename.sketch" &
# 控制同时运行任务数量
while [ $(jobs -r | wc -l) -ge $MAX_JOBS ]; do
sleep 1
done
echo "转换开始: $filename.fig -> $filename.sketch"
done
# 等待所有后台任务完成
wait
echo "🎉 所有文件转换完成,输出目录: $OUTPUT_DIR"更改文件权限
bash
chmod +x batch_convert_fig2sketch.shbash
sudo spctl --master-disablebash
xattr -cr .app 路径常见问题
安装失败:
- 确保已安装正确版本的 Python 3.11
- 检查 pipx 是否正确安装并添加到 PATH
- 确保有足够的权限安装全局包
转换问题:
- 确保 Figma 文件已正确导出为 .fig 格式
- 检查 Sketch 版本是否与安装的 fig2sketch 版本兼容
注意事项
- 转换过程中可能会丢失某些 Figma 特定的功能或效果
- 复杂的设计元素可能无法完美转换,建议转换后进行检查
- 定期检查并更新到最新版本的 fig2sketch 以获得最佳兼容性
待开发
- 支持拖拽选择文件
- 支持多选文件
- 支持终止当前任务 / 删除对应未完成的文件
- 日志流式输出,而不是等待 stdout 完全走完再输出