Notepad--:从克隆仓库到Markdown预览,5步跑通这款跨平台编辑器
2026/9/17 2:31:05 网站建设 项目流程

Notepad--:从克隆仓库到Markdown预览,5步跑通这款跨平台编辑器

【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

Notepad--是一款面向Windows、Linux、macOS的轻量文本编辑器,内置Markdown预览,编辑文档时能看到渲染结果。读完这篇你能:编译并跑通这个编辑器,用右键菜单打开Markdown预览,并知道哪几步最容易卡住。

![Notepad--文本编辑器主界面,含目录列表与多标签编辑](https://raw.gitcode.com/GitHub_Trending/no/notepad--/raw/4510896f716e71db9f4b25ed8559b9c39a4f23d4/pngshow/macos/2023-10-05 18.04.17.png?utm_source=gitcode_repo_files)

能力边界:多标签编辑、目录查找替换与文件对比

  • 多标签多文件编辑,编辑区基于QScintilla(一个开源代码编辑器控件),支持C++、XML等语言语法高亮
  • 在目录里查找:支持正则表达式、全词匹配、跳过隐藏文件,超过20MB的大文件默认跳过
  • 对比能力:单文件对比、目录对比,还支持二进制文件对比
  • Markdown预览:编辑区右键选"Markdown View",在独立窗口渲染,内容改动时预览自动刷新
  • 不做什么:没有编译、调试这类IDE功能,也没有Git集成;插件体系刚起步(V1.21才初步支持插件开发)

上手路径:从克隆仓库到Markdown预览的5步

  1. git clone https://gitcode.com/GitHub_Trending/no/notepad--
  2. 安装Qt 5.15与CMake 3.16以上。CMakeLists.txt声明最低要求3.16,依赖Qt5的Core、Gui、Widgets、Concurrent、Network、PrintSupport、XmlPatterns共7个组件
  3. cmake -Bbuild -DCMAKE_BUILD_TYPE=Release -DPLUGIN_EN=on -DCMAKE_PREFIX_PATH=<Qt5安装路径> .
  4. cmake --build build --config Release
  5. 运行build/NotePad--.exe(Linux下为build/NotePad--),打开一个.md文件,在编辑区右键 → "Markdown View"

Windows下也可以直接用仓库里的win.mkmake msvc会一次完成CMake配置、编译、windeployqt依赖拷贝和cpack打包。

预览为什么实时刷新:textChanged信号机制

预览的入口是右键菜单里的一项。首次点击时惰性创建预览窗口,并把编辑器的文本变化信号接到刷新函数:

m_markdownWin = new MarkdownView(this); connect(this, &ScintillaEditView::textChanged, this, &ScintillaEditView::on_updataMarkdown); // on_updataMarkdown 调用 viewMarkdown(text), // 内部即 ui.textEdit->setMarkdown(text)

整条链路是信号驱动的:内容一变,预览窗口就重渲染,没有定时器轮询,空闲时不占CPU。渲染交给Qt内置的Markdown解析器(setMarkdown),不依赖第三方库。预览窗口是单实例的,关掉后再点菜单会重新创建。

踩坑速查:起不来、双击不开窗、找不到Qt

  • 编译成功但exe起不来,报找不到Qt的DLL → 运行时依赖没有拷贝 → 构建后执行一次windeployqt NotePad--.exe,仓库里的win.bat已包含这一步
  • 双击文件不新开窗口,而是旧窗口弹到前面 → 这是单实例机制在起作用:新进程通过共享内存把文件路径转发给已有主进程 → 属预期行为,想真正开新实例先关闭旧进程
  • CMake配置时报"Qt5 not found" → 没传CMAKE_PREFIX_PATH或指错了目录 → 补上-DCMAKE_PREFIX_PATH=<Qt5安装路径>后重新配置

克隆仓库后,先打开src/main.cpp看单实例共享内存的建立过程,再在src/scintillaeditview.cpp中搜索"Markdown View",就能沿着菜单项追到预览窗口的完整链路。

【免费下载链接】notepad--一个支持windows/linux/mac的文本编辑器,目标是做中国人自己的编辑器,来自中国。项目地址: https://gitcode.com/GitHub_Trending/no/notepad--

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询