About this plugin
草稿计算器
PI-Desktop 插件:草稿纸式多行演算计算器,干净利落的直角风格,左右布局:左当前草稿、右草稿列表。
界面
- 固定窗口尺寸(700×500,不可缩放,内容完整显示的最小尺寸);左右布局:左当前草稿、右草稿列表;
- 左栏 = 当前草稿:顶部输入卡片 + 「本次草稿」分隔线 + 本稿历史卡片(新→旧向下排,可滚动);底部按钮居中:清空 / 锁定 / 复制为图片 / 夜间(均为无边框按钮,图标使用 Lucide——与 PI-Desktop 主程序同款图标库,随插件打包,不依赖外部网络);
- 右栏 = 历史区域(草稿列表,宽度足够显示完整日期时间名):点击切换当前草稿,底部 + 新建草稿 与 ⚙ 管理(icon 按钮);窄窗口(<560px)自动上下堆叠;
- 所有按钮均为无边框款式(悬停变色),直角卡片、黑白灰配色、system-ui 字体;支持黑夜/白天模式:默认跟随系统,底部「夜间」按钮手动切换(偏好本地保存)。
单个计算卡片
- 第一行:公式,靠左、整行宽、自动换行;
- 第二行:备注(默认空,悬停显示「点击添加备注」,点击即可输入、支持换行、失焦自动保存)+ 结果固定靠右(灰色
=前缀,点击复制结果); - 输入卡片实时计算:边输入边显示
= 结果,出错时红色提示原因。
交互
- 回车确认:当前输入行成为本稿历史第 1 条(最新置顶),输入区自动带入上一步结果可继续链式计算(
1+2回车得3,再*4回车得12);纯数字回车不记录; - 点击历史公式:回填到输入区继续修改;点击结果:一键复制;
- Esc:清空输入公式与备注(备注区 Esc 还原);
- 🔒 锁定 / 解锁(只锁当前记录):锁定只作用于当前草稿——输入/备注只读、回车不计算、历史回填与清空禁用;右侧新建、切换、管理删除不受影响;锁定状态随草稿保存,列表中的锁定草稿显示小锁标记,切换到其他草稿后自动恢复可编辑;再点一次解锁;
- 清空:两段式确认后清空当前草稿(历史 + 输入);
- 复制为图片:把当前草稿(含未提交的输入行、备注、结果)绘制成 PNG 复制到剪贴板;若环境不支持直接复制图片,弹出预览可右键另存;
- 草稿管理:+ 新建草稿以完整时间命名(如
2026-08-13 14:32:05,不可修改;旧数据自动补全);点击列表项切换草稿(切换/新建前会自动把输入区有效内容提交进原草稿,不丢数据);⚙ 管理模式下每条出现×可删除草稿,删光后自动补一份空草稿; - 多窗口自动同步;数据全部保存在本机 localStorage(每稿最多 200 行、最多 100 份草稿)。
支持的公式语法
- 四则运算:
+ - * /,兼容全角+ - × ÷( )%与全角数字、小数点; - 百分比:
100+10% = 110、200×5% = 10、50% = 0.5(Windows 计算器语义,对当前累计值取百分比); - 括号任意嵌套;乘方
^右结合(2^3^2 = 512),支持负指数,**亦可; - 一元正负号:
-3、3*-2、-(2+3)(-2^2 = -4); - 隐式乘法:
2(3+1)、2π、(2)(3);常量π、e; - 小数与科学计数法:
0.1+0.2 = 0.3,超大/超小结果自动用e记数; - 尾部运算符容错:
10+88+回车得98,历史记干净公式;非运算字符(字母、@ 等)报错提示。
开发
- 打开 Plugins 页面,用 Load development plugin 指向本目录,保存文件后插件自动重载;
- 命令面板执行「草稿计算器:打开面板」;
- 校验与打包:
pnpm pi-plugin check .
pnpm pi-plugin pack .
# 写入 dist/pi.scratch-calc-0.2.0.piplug
实现说明
- 求值器为手写 tokenizer + 递归下降解析器,内嵌于
renderer/index.html,无第三方依赖; - 复制为图片由 canvas 手绘实现(文本换行、卡片布局与界面一致),无第三方库;
- 纯前端:无网络请求、无文件访问;旧版单稿历史(v1)首次启动自动迁移为首份草稿。