工具栏配置以及实现¶
一、效果预演¶
后续实现过程中可能与当前有差异,会实时调整工具栏
- 新建文件
 - 新建文件夹
 - 导入导出
- 从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)显示菜单栏
 
三、成品展示¶
3.1 文件¶

3.2 编辑¶

3.3 视图¶

3.4 编码¶

3.5 插入¶

3.6 设置¶

3.7 工具¶

3.8 插件¶

3.9 在线工具¶

3.10 链接¶

3.11 帮助¶
