工具栏配置以及实现¶
一、效果预演¶
后续实现过程中可能与当前有差异,会实时调整工具栏
- 新建文件
- 新建文件夹
- 导入导出
- 从Word导入
- 从HTML导入
- 从JSON导入
- 从YAML导入
- 从文本文件导入
- 导出为Word
- 导出为HTML
- 导出为JSON
- 打开文件
- 打开文件夹
- 另存为
- 保存
- 从磁盘重新读取
- 退出
- 撤销
- 恢复
- 拷贝
- 剪切
- 黏贴
- 跳转到行
- 在文件中查找
- 在文件中替换
- 编辑模式
- 预览模式
- 编辑/预览模式
- 显示/隐藏资源管理器
- 显示/隐藏制表符
- 显示/隐藏换行符
- 显示/隐藏行号
- 显示/隐藏文章大纲
- 折叠/展开标题
- 重新用...编码打开
- 常用编码(UTF-8、GB2312等)
- 转为...编码
- 特殊字体
- 数学公式
- markdown表格
- 网页链接
- 写作模板
- 力扣题解模块
- 问题处理模块
- 文章封面
- 论文模板
- 文本
- 图片链接
- 折叠代码块
- 有序链接列表
- 文章更新日期
- 来自文件
- json
- txt、log
- ini、csv
- Material
- Admonition
- Mermaid
- 流程图
- 序列图
- 类图
- 状态图
- ......
- PlantUml
- 序列图
- 用例图
- 类图
- 对象图
- ........
- 自定义模板
- 模板管理
- 系统设置
- 主题设置
- 编辑器设置
- markdown解析器
- xxx
- Mermaid绘图
- 电子表格
- 配图创作
- 绘图工具
- xxx
- 加解密插件
- 各类转换器
- 网络计算插件
- 常用对照表
- 菜鸟工具
- w3cSchool工具
- 百宝箱
- ToolFK
- ........
- 菜鸟在线工具
- 编程狮在线工具
- 在线编解码工具
- 在线IDE工具
- ......
- 版本发布
- 键盘快捷方式
- 使用文档
- 提交创意/意见
- 关于
- 主页
- 致谢
- 检查更新
- 联系我们
二、实现方案¶
2.1 src/main/menu.ts 新增¶
创建一个menu的文件夹,再创建一个menu.ts的文件,menu的文件夹专门处理跟菜单相关的东西。
这个网上有很多的教程,使用electron的Menu组件就行。
这里牵扯到menu要跟主进程窗口交互,所以这里需要将主窗口的锚点(没学过electron和js,不知道专业的叫啥)给传进去。
下面的是一部分示例的代码,完整代码参考前面的预览实现菜单栏。
src/main/menu.ts 参考
2.2 src/main/index.ts¶
先导入import { getApplicationMenu } from './menu/menu'
修改创建窗口的函数。参考如下:
src/main/index.ts 参考
这里要注意,修改了两个地方:
- new BrowserWindow 需要将autoHideMenuBar这个地方修改为false,否则菜单不显示,默认隐藏。前后调试了一天,一直以为是代码什么地方写的有问题。
- 使用Menu.setApplicationMenu(menu)显示菜单栏