QCodeEditor 是一款基于 Qt 框架和 C++ 构建的轻量级代码编辑器,专为 QOT (QOT-LANGUAGE) 语言而设计。它融合了简洁的 Catppuccin 暗色主题与高效的工作流,开箱即用,同时通过 JavaScript 插件系统提供强大的可扩展性
| 功能 | 说明 |
|---|---|
| 多标签页编辑 | 支持同时打开多个文件,拖拽排序,标签页关闭 |
| 文件系统侧边栏 | 树形文件浏览,支持右键菜单(新建/重命名/删除) |
| 查找与替换 | 支持查找、替换、全部替换,快捷键 Ctrl+F / Ctrl+H |
| 内置终端 | 基于 Windows ConPTY,支持 PowerShell / CMD |
| 插件系统 | 基于 JavaScript (QJSEngine),丰富的 API,支持热加载 |
| 暗色主题 | Catppuccin Mocha 风格,护眼舒适 |
| 快捷键支持 | 完整的键盘快捷键体系 |
| 状态栏信息 | 行号、列号、文件类型、编码、修改状态 |
| 自动保存配置 | 记住上次打开的文件夹路径 |
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 10 1809 (Build 17763) 或更高版本 |
| 架构 | x64 |
| CPU | 1.0 GHz 以上 |
| 内存 | 512 MB 以上 |
| 磁盘 | 50 MB 可用空间 |
| 项目 | 要求 |
|---|---|
| 操作系统 | Windows 11 22H2+ |
| 内存 | 2 GB 以上 |
| 磁盘 | 100 MB 可用空间 |
注意:终端功能依赖 Windows ConPTY API,需要 Windows 10 1809+;当前版本仅支持 Windows 平台,Linux/macOS 支持正在规划中
- 前往 Releases 页面
- 下载最新版本的
QCodeEdit.zip - 解压到任意目录
- 运行
QCodeEdit.exe
下载并安装 Qt 6.x:
- 官方下载:https://www.qt.io/download
- 推荐版本:Qt 6.11.1 (MinGW 13.1.0 64-bit)
重要:必须安装 MinGW 工具链,不要使用 MSVC(项目配置基于 MinGW)。
推荐目录结构如下(以 Qt 6.11.1 为例):
E:/
└── Qt/
├── 6.11.1/
│ └── mingw_64/ # Qt 库
└── Tools/
└── mingw1310_64/ # MinGW 工具链
├── bin/
├── include/
└── lib/
打开命令行,验证工具链是否正确:
E:\Qt\Tools\mingw1310_64\bin\g++.exe --version应输出类似:
g++ (MinGW-W64 x86_64) 13.1.0
E:\Qt\6.11.1\mingw_64\bin\qmake.exe --version应输出 Qt 版本信息。
项目根目录已提供 build.bat 一键编译脚本:
# 1. 打开命令行,进入项目目录
cd /d E:\your\path\QCodeEdit
# 2. 执行编译脚本
build.bat脚本执行流程:
- 清理旧文件(release/、debug/、Makefile 等)
- 运行 qmake 生成 Makefile
- 执行 mingw32-make 编译
- 运行 windeployqt6 部署 Qt 依赖
- 复制
extend/→release/docs/ - 复制
plugins/→release/plugins/
编译成功后,可执行文件位于 release/QCodeEdit.exe。
# 1. 设置环境变量
set QT_DIR=E:\Qt\6.11.1\mingw_64
set MINGW_DIR=E:\Qt\Tools\mingw1310_64
set PATH=%QT_DIR%\bin;%MINGW_DIR%\bin;%PATH%
# 2. 进入项目目录
cd /d E:\your\path\QCodeEdit
# 3. 清理
if exist release rd /s /q release
if exist Makefile del /f Makefile
# 4. qmake 生成 Makefile
qmake.exe QCodeEdit.pro
# 5. 编译
mingw32-make.exe
# 6. 部署依赖
windeployqt6.exe release\QCodeEdit.exe
# 7. 复制资源(可选)
xcopy /e /i /y extend release\docs\
xcopy /e /i /y plugins release\plugins\原因:当前目录不在项目根目录。
解决:cd 到包含 QCodeEdit.pro 的目录。
原因:MinGW 链接器找不到 kernel32.lib。
解决:检查 QCodeEdit.pro 中的 LIBS += -lkernel32,确保 MinGW 的 lib 目录包含 libkernel32.a。通常位于:
E:\Qt\Tools\mingw1310_64\x86_64-w64-mingw32\lib\libkernel32.a
如果不存在,尝试重新安装 MinGW 工具链。
原因:TerminalWidget 使用了 Windows ConPTY API,需要 Windows SDK 头文件支持。
解决:确保 TerminalWidget.cpp 中已定义:
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0A00
#endif并包含了 <windows.h>。如果依然报错,可能是 MinGW 版本过低(需要 8.0+),请升级到 MinGW 13.1.0。
原因:Qt 环境变量未正确设置。
解决:运行 windeployqt 前确保 %QT_DIR%\bin 在 PATH 中,或使用完整路径:
E:\Qt\6.11.1\mingw_64\bin\windeployqt6.exe release\QCodeEdit.exe原因:.pro 文件中缺少 network 模块。
解决:确保 QT += core widgets qml network 包含 network(QJSEngine 依赖 QNetworkAccessManager)。
原因:Qt 依赖库版本不匹配。
解决:
- 确保使用与编译时相同的 Qt 版本运行
- 使用
windeployqt6部署所有依赖 - 检查
release/目录下是否包含所有.dll文件
原因:Qt 元对象编译器 (moc) 未正确处理包含 Q_OBJECT 宏的头文件。
解决:
- 清理项目:
make clean或删除release/、debug/目录 - 重新运行 qmake
- 重新编译
原因:系统版本不支持 ConPTY 或缺少 PowerShell。
解决:
- 确认系统是 Windows 10 1809+ 或 Windows 11
- 检查
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe是否存在 - 如仍无法启动,终端会回退显示错误信息
原因:MinGW 编译大型 C++ 文件时消耗较多内存。
解决:
- 关闭其他占用内存的程序
- 使用
mingw32-make -j2限制并行编译任务数 - 增加系统虚拟内存
| 操作 | 说明 |
|---|---|
| 新建文件 | 点击「新建」按钮或 Ctrl+N |
| 打开文件 | 点击「打开」按钮或 Ctrl+O |
| 打开文件夹 | 点击「打开文件夹」按钮或 Ctrl+Shift+O |
| 保存 | 点击「保存」按钮或 Ctrl+S |
| 全部保存 | Ctrl+Shift+S |
| 关闭标签页 | 点击标签页关闭按钮或 Ctrl+W |
| 关闭所有标签页 | Ctrl+Shift+W |
| 退出 | 点击「文件」→「退出」或关闭主窗口 |
| 快捷键 | 功能 |
|---|---|
Ctrl+N |
新建文件 |
Ctrl+O |
打开文件 |
Ctrl+Shift+O |
打开文件夹 |
Ctrl+S |
保存当前文件 |
Ctrl+Shift+S |
全部保存 |
Ctrl+W |
关闭当前标签页 |
Ctrl+Shift+W |
关闭所有标签页 |
Ctrl+Z / Ctrl+Y |
撤销 / 重做 |
Ctrl+X / Ctrl+C / Ctrl+V |
剪切 / 复制 / 粘贴 |
Ctrl+A |
全选 |
Ctrl+F |
打开查找栏 |
Ctrl+H |
打开替换栏 |
Esc |
关闭查找/替换栏 |
Ctrl+B |
切换侧边栏 |
| `Ctrl+`` | 切换终端面板 |
Tab / Shift+Tab |
缩进 / 减少缩进 |
- 按 `Ctrl+`` 或点击工具栏「终端」按钮打开终端面板
- 默认启动 PowerShell(如不存在则回退到 CMD)
- 在底部输入框输入命令,按
Ctrl+Enter或点击「发送」执行 - 点击「清理」按钮清空终端输出
- 点击「隐藏」按钮或再次按 `Ctrl+`` 隐藏面板
- 自动加载:将
.js插件文件放入程序目录的plugins/文件夹,启动时自动加载 - 手动加载:点击「插件」→「插件管理」→「加载插件」,选择
.js文件
点击「插件」→「插件管理」打开管理对话框:
- 插件列表:显示所有已加载和可用的插件
- 启用/禁用:通过复选框控制插件激活状态
- 加载/卸载:手动加载或卸载插件
- 日志查看:切换到「插件日志」标签页查看插件输出
参考 插件开发手册 了解完整 API。
项目文档位于 extend/ 目录:
| 文档 | 说明 |
|---|---|
| about.html | 关于 QCodeEditor |
| qa.html | 常见问题解答 |
| plugin_manual.html | 插件开发手册 |
本项目基于 MIT License 开源