Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QCodeEditor

一款轻量、现代的代码编辑器,为 QOT 语言而生

License Qt Platform Version


目录


简介

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 支持正在规划中


下载与安装

预编译包下载

  1. 前往 Releases 页面
  2. 下载最新版本的 QCodeEdit.zip
  3. 解压到任意目录
  4. 运行 QCodeEdit.exe

从源码编译

环境准备

1. 安装 Qt

下载并安装 Qt 6.x

重要:必须安装 MinGW 工具链,不要使用 MSVC(项目配置基于 MinGW)。

2. 安装目录结构

推荐目录结构如下(以 Qt 6.11.1 为例):

E:/
└── Qt/
    ├── 6.11.1/
    │   └── mingw_64/          # Qt 库
    └── Tools/
        └── mingw1310_64/      # MinGW 工具链
            ├── bin/
            ├── include/
            └── lib/

3. 验证工具链

打开命令行,验证工具链是否正确:

E:\Qt\Tools\mingw1310_64\bin\g++.exe --version

应输出类似:

g++ (MinGW-W64 x86_64) 13.1.0

4. 验证 qmake

E:\Qt\6.11.1\mingw_64\bin\qmake.exe --version

应输出 Qt 版本信息。

编译步骤

方法一:使用 build.bat(推荐)

项目根目录已提供 build.bat 一键编译脚本:

# 1. 打开命令行,进入项目目录
cd /d E:\your\path\QCodeEdit

# 2. 执行编译脚本
build.bat

脚本执行流程:

  1. 清理旧文件(release/、debug/、Makefile 等)
  2. 运行 qmake 生成 Makefile
  3. 执行 mingw32-make 编译
  4. 运行 windeployqt6 部署 Qt 依赖
  5. 复制 extend/release/docs/
  6. 复制 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\

常见编译问题

Q1: qmake 报错 "Cannot find file: QCodeEdit.pro"

原因:当前目录不在项目根目录。

解决cd 到包含 QCodeEdit.pro 的目录。


Q2: 编译报错 "cannot find -lkernel32"

原因:MinGW 链接器找不到 kernel32.lib。

解决:检查 QCodeEdit.pro 中的 LIBS += -lkernel32,确保 MinGW 的 lib 目录包含 libkernel32.a。通常位于:

E:\Qt\Tools\mingw1310_64\x86_64-w64-mingw32\lib\libkernel32.a

如果不存在,尝试重新安装 MinGW 工具链。


Q3: 编译报错 "CreatePseudoConsole" 未定义

原因: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。


Q4: windeployqt6 报错 "Unable to find dependent libraries"

原因:Qt 环境变量未正确设置。

解决:运行 windeployqt 前确保 %QT_DIR%\bin 在 PATH 中,或使用完整路径:

E:\Qt\6.11.1\mingw_64\bin\windeployqt6.exe release\QCodeEdit.exe

Q5: 编译报错 "QJSEngine: No such file or directory"

原因.pro 文件中缺少 network 模块。

解决:确保 QT += core widgets qml network 包含 network(QJSEngine 依赖 QNetworkAccessManager)。


Q6: 运行时提示 "无法定位程序输入点于动态链接库"

原因:Qt 依赖库版本不匹配。

解决

  1. 确保使用与编译时相同的 Qt 版本运行
  2. 使用 windeployqt6 部署所有依赖
  3. 检查 release/ 目录下是否包含所有 .dll 文件

Q7: 编译报错 "undefined reference to vtable for XXX"

原因:Qt 元对象编译器 (moc) 未正确处理包含 Q_OBJECT 宏的头文件。

解决

  1. 清理项目:make clean 或删除 release/debug/ 目录
  2. 重新运行 qmake
  3. 重新编译

Q8: 运行时终端无法启动

原因:系统版本不支持 ConPTY 或缺少 PowerShell。

解决

  1. 确认系统是 Windows 10 1809+ 或 Windows 11
  2. 检查 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe 是否存在
  3. 如仍无法启动,终端会回退显示错误信息

Q9: 编译时内存不足

原因:MinGW 编译大型 C++ 文件时消耗较多内存。

解决

  1. 关闭其他占用内存的程序
  2. 使用 mingw32-make -j2 限制并行编译任务数
  3. 增加系统虚拟内存

使用指南

基本操作

操作 说明
新建文件 点击「新建」按钮或 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 缩进 / 减少缩进

终端使用

  1. 按 `Ctrl+`` 或点击工具栏「终端」按钮打开终端面板
  2. 默认启动 PowerShell(如不存在则回退到 CMD)
  3. 在底部输入框输入命令,按 Ctrl+Enter 或点击「发送」执行
  4. 点击「清理」按钮清空终端输出
  5. 点击「隐藏」按钮或再次按 `Ctrl+`` 隐藏面板

插件系统

插件加载

  • 自动加载:将 .js 插件文件放入程序目录的 plugins/ 文件夹,启动时自动加载
  • 手动加载:点击「插件」→「插件管理」→「加载插件」,选择 .js 文件

插件管理

点击「插件」→「插件管理」打开管理对话框:

  • 插件列表:显示所有已加载和可用的插件
  • 启用/禁用:通过复选框控制插件激活状态
  • 加载/卸载:手动加载或卸载插件
  • 日志查看:切换到「插件日志」标签页查看插件输出

开发插件

参考 插件开发手册 了解完整 API。


文档

项目文档位于 extend/ 目录:

文档 说明
about.html 关于 QCodeEditor
qa.html 常见问题解答
plugin_manual.html 插件开发手册

许可证

本项目基于 MIT License 开源

About

QCodeEditor 是一个基于 Qt 6 和 C++ 开发的代码编辑器,主要面向 QOT 语言。功能包括多标签页编辑、文件树侧边栏、查找替换、内置终端(Windows ConPTY,支持 PowerShell/CMD)和 JavaScript 插件系统。界面采用 Catppuccin Mocha 暗色主题。当前仅支持 Windows 10 1809 及以上版本。提供预编译包下载,支持源码编译(需 Qt 6.x + MinGW)

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages