Simple IDE 是一款基于 Qt (C++17) 开发的现代化、轻量级跨平台代码编辑器。它旨在为开发者提供流畅、开箱即用的轻量化代码编写体验,原生支持实时语法高亮、智能括号匹配、代码块折叠展开、多标签页会话恢复等核心编辑特性。
同时,本项目创造性地集成了一个电子猫娘趣味陪伴互动系统(CatWidget)。“电子猫娘”内置有限状态机(FSM),可根据用户的实时编码行为(如大括号匹配、连续删除代码、静置空闲)变换情绪,并支持手动投喂交互,有效缓解高强度编程压力。
- 多标签页管理: 基于
QTabWidget,支持多文件同时编辑、快捷关闭,并实时提示未保存修改(*标记)。 - 智能行号栏: 左侧配有动态行号栏,宽度随文档行数自适应伸缩,与文本框滚动保持毫米级精准同步。
- 当前行高亮: 实时对当前光标所在行着色浅灰色背景,提升代码阅读与定位体验。
- 大括号匹配高亮: 基于栈算法对当前光标临近的大括号
{}进行成对实时配对高亮,并联动向猫咪发送“开心”信号。 - 代码块层级折叠: 自动分析花括号的嵌套深度,在行号栏提供折叠/展开指示图标,支持收起/展开多行代码块。
- 回车自动缩进: 按下回车时,新行会自动继承并对齐上一行的前导空白缩进。
- 字体自由缩放: 支持快捷键放大、缩小与一键恢复默认字体大小。
- 主题自由切换: 内置精美的**明亮(浅色)与暗黑(深色)**两套现代化主题,并持久化记录用户偏好。
- 多语言开箱即用: 内置 C++、Python、JSON 常见编程语言的实时词法分析与着色规则。
- 基于 JSON 外部扩展: 高亮规则存放于
resources/rules/目录下的外部 JSON 配置文件中,引擎支持动态加载与用户自由扩展自定义语言。
- 提供独立的非模态查找/替换面板。
- 支持大小写敏感、全词匹配以及正则表达式检索三种匹配模式,支持查找下一个、向上查找与全文一键替换。
- 四种情绪状态机: 默认(Default)、开心(Happy)、生气(Angry)和饥饿(Hungry)。
- 行为联动机制:
- 开心 (Happy): 当成功匹配大括号
{}或主动投喂时触发。 - 生气 (Angry): 当用户连续快速按下 Backspace 或 Delete 删除代码时触发。
- 饥饿 (Hungry): 定时器自动统计时间流逝,长时间未操作或未进食时进入饥饿红字警示状态。
- 开心 (Happy): 当成功匹配大括号
- 交互投喂: 支持点击侧边栏“投喂猫粮”按钮或使用全局快捷键
Ctrl + Shift + F进行投喂,重置饥饿倒计时。
前往项目的 Releases 发布页面 下载对应操作系统的最新免安装绿色包:
- 下载
SimpleIDE-windows-x64.zip并解压; - 双击打开文件夹中的
simple_ide.exe即可直接运行(已内置全部所需运行时与 DLL)。
- 下载
SimpleIDE-linux-x64.tar.gz并解压:tar -zxvf SimpleIDE-linux-x64.tar.gz cd SimpleIDE-linux-x64 - 运行一键启动脚本:
./run.sh
- 下载
SimpleIDE-macos.dmg镜像文件; - 双击打开并将 Simple IDE 拖入
Applications(应用程序)文件夹即可。
| 功能模块 | 功能描述 | 快捷键 |
|---|---|---|
| 🐱 互动系统 | 投喂猫粮 | Ctrl + Shift + F |
| 🔍 查找替换 | 打开查找与替换对话框 | Ctrl + F |
| 📄 文件管理 | 新建文件 | Ctrl + N |
| 打开文件 | Ctrl + O |
|
| 保存文件 | Ctrl + S |
|
| 另存为... | Ctrl + Shift + S |
|
| 关闭当前标签页 | Ctrl + W |
|
| 退出程序 | Ctrl + Q |
|
| ✏️ 编辑操作 | 撤销 / 重做 | Ctrl + Z / Ctrl + Y |
| 剪切 / 复制 / 粘贴 | Ctrl + X / Ctrl + C / Ctrl + V |
|
| 全选 | Ctrl + A |
|
| 🔍 视图调整 | 放大 / 缩小代码字体 | Ctrl + + / Ctrl + - |
| 恢复默认字体大小 | Ctrl + 0 |
Simple IDE 支持通过简单的 JSON 配置文件轻松扩展任意编程语言的语法高亮规则。所有规则文件存放于 resources/rules/ 目录下:
{
"singleLineRules": [
{
"pattern": "\\b(function|var|let|const)\\b",
"format": { "foreground": "#0000FF", "fontWeight": "bold" }
}
],
"multiLineComment": {
"startPattern": "/\\*",
"endPattern": "\\*/",
"format": { "foreground": "#008000", "fontItalic": true }
}
}如果您希望自行从源代码进行编译:
- 支持 C++17 的编译器(GCC 8+、Clang 或 MSVC 2019+)
- Qt 5.15+(包含
QtWidgets、QtGui、QtCore)
# 1. 克隆代码仓库
git clone https://github.com/oldplum/simple-ide.git
cd simple-ide
# 2. 创建并进入构建目录
mkdir -p build && cd build
# 3. 生成 Makefile 并编译
qmake CONFIG+=release ../simple_ide.pro
make -j$(nproc)
# 4. 启动程序
./simple_idesimple_ide/
├── src/ # .cpp 源代码实现
│ ├── main.cpp # 程序入口
│ ├── MainWindow.cpp # 主窗口界面管理(多标签、主题、会话恢复)
│ ├── CodeEditor.cpp # 核心编辑器实现(行号栏、括号匹配、代码折叠)
│ ├── Highlighter.cpp # 语法高亮引擎(基于外部 JSON 规则解析)
│ ├── FindReplaceDialog.cpp # 查找与替换对话框
│ └── CatWidget.cpp # 电子猫娘状态机与互动系统
├── include/ # .h 头文件声明
│ ├── MainWindow.h
│ ├── CodeEditor.h
│ ├── Highlighter.h
│ ├── FindReplaceDialog.h
│ └── CatWidget.h
├── resources/ # 静态资源
│ ├── cat_gifs/ # 猫咪各情绪状态图片 (PNG)
│ └── rules/ # 外部高亮规则配置 (cpp.json, python.json, json.json)
├── samples/ # 示例与测试文件目录
├── docs/ # 开发文档与设计规范
├── .github/workflows/ # 全平台自动化 CI/CD 编译发布配置
└── simple_ide.pro # qmake 项目工程文件
本项目采用 MIT License 协议开源,欢迎自由使用、学习与二次开发。