工具栏配置以及实现¶
一、效果预演¶
后续实现过程中可能与当前有差异,会实时调整工具栏
- 新建
Ctrl+N - 打开文件
- 打开文件夹
Ctrl+O
- 从文件导入
- 从 Word 导入
- 从 HTML 导入
- 从 JSON 导入
- 从 YAML 导入
- 从 XML 导入
- 从文本文件导入
- 导出到文件
- 导出为Word
- 导出为JSON
- 导出为XML
- 导出为YAML
- 导出为HTML
- 导出为PDF
- 保存
Ctrl+S - 另存为
- 从磁盘重新加载
Ctrl+R
- 重启应用
Ctrl+Shift+R
- 退出
F4
- 撤销
Ctrl+Z - 重做
Ctrl+Y
- 剪切
Ctrl+X - 复制
Ctrl+C - 粘贴
Ctrl+V
- 跳转到行
Ctrl+G - 查找
Ctrl+F - 替换
Ctrl+H - 在文件中查找
Ctrl+Shift+F - 在文件中替换
Ctrl+Shift+H
- 编辑模式
F9 - 预览模式
F10 - 编辑/预览模式
F11 - 开发人员工具
F12
- 显示/隐藏资源管理器
- 显示/隐藏行号
- 显示/隐藏空白字符
- 显示/隐藏文章大纲
- 折叠/展开标题
- 全部折叠
- 全部展开
- 一级标题
- 二级标题
- 三级标题
- 四级标题
- 五级标题
- 六级标题
- 重新用...编码打开
- UTF-8
- UTF-16LE
- UTF-16BE
- GBK(简体中文)
- GB2312(简体中文)
- GB18030(简体中文)
- Big5(繁体中文)
- 十六进制
- 转为...编码
- 同上
- 特殊字体
- 数学公式
- Markdown表格
- 网页链接
- 写作模板
- 力扣题解模块
- 问题处理模块
- 文章封面
- 论文模板
- 文本块
- 图片链接
- 折叠代码块
- 有序链接列表
- 文章更新日期
- 来自文件
- json
- txt、log
- ini、csv
- Material
- Admonition
- Mermaid
- Mermaid Part1
- Mermaid Part2
- PlantUml
- PlantUML Part1
- PlantUML Part2
- 自定义模板
- 模板管理
- 系统设置
- 主题设置
- 快速链接设置
- 编辑器设置
- Mermaid绘图
- 公式编辑器
- 电子表格
- 配图制作
- 绘图工具
- 语言语法关键字对照表
- 加解密插件
- 各类转换器
- 编解码转换
- 格式转换器
- 大小写转换
- 格式化工具
- 网络计算插件
- 地址转换器
- 解析器
- 常用对照表
- 对照表一
- 数据和命令对照表
- 科学符号对照表
- 菜鸟在线工具
- 编程狮在线工具
- 在线编解码工具
- 在线IDE编辑器
- 开发者工具
- 国内知名前端团队
- 云计算平台
- GitHub 相关链接
- 版本发布
- v1.2.2 / v1.2.1 / v1.2.0 / v1.1.5 / ...
- 修改日志
- 重大版本升级
- 键盘快捷方式
- 使用文档
- 提交创意/意见
- 技术栈
- 关于
- 主页
- 检查更新
- 联系我们
二、实现方案¶
2.1 菜单栏架构¶
项目菜单栏采用 Vue 组件实现(非 Electron 原生 Menu),这样可以更好地支持主题适配、自定义样式和灵活交互。
菜单相关文件分布在两个位置:
2.2 菜单数据结构¶
菜单项使用 BaiZeMenuItem 类型定义,支持子菜单、分隔符、快捷键、动作标识等:
BaiZeMenuItem 类型定义
2.3 菜单配置 menu_config.ts¶
所有菜单在 menu_config.ts 中集中配置,通过 menuMap 导出。每个菜单项通过 menu_action 字段标识动作,由 menu_actions.ts 中的 HandleMenuAction 函数统一处理。
menu_config.ts 菜单配置示例
2.4 MenuBar.vue 组件¶
MenuBar.vue 负责菜单的渲染和交互,使用 <teleport> 将子菜单传送到 body,避免被父容器裁剪:
MenuBar.vue 核心结构
2.5 菜单动作处理¶
菜单点击时,通过 menu_action 标识触发对应动作。menu_actions.ts 中的 HandleMenuAction 函数根据动作标识分发处理:
- 涉及文件系统、对话框等操作:通过 IPC 发送到主进程处理
- 涉及编辑器操作:通过 IPC 或 EventBus 通知编辑器组件
- 涉及界面切换:直接修改组件状态
2.6 主进程菜单处理¶
主进程在 src/main/ipc/ 下按菜单类别组织 IPC 处理器:
menu_file.ts:文件操作(新建、打开、保存、导入导出等)menu_edit.ts:编辑操作(撤销、重做、查找替换等)menu_view.ts:视图操作(模式切换、显示隐藏等)menu_tools.ts:工具操作(Mermaid、公式编辑器等)menu_help.ts:帮助操作(关于、版本信息等)
三、成品展示¶
3.1 文件¶

3.2 编辑¶

3.3 视图¶

3.4 编码¶

3.5 插入¶

3.6 设置¶

3.7 工具¶

3.8 插件¶

3.9 在线工具¶

3.10 GitHub¶

3.11 帮助¶
