Skip to content

Latest commit

 

History

61 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple IDE — 轻量级跨平台代码编辑器与“代码伴侣(电子猫娘)”系统

C++17 Qt Platforms CI Build Release License


📖 项目概述

Simple IDE 是一款基于 Qt (C++17) 开发的现代化、轻量级跨平台代码编辑器。它旨在为开发者提供流畅、开箱即用的轻量化代码编写体验,原生支持实时语法高亮、智能括号匹配、代码块折叠展开、多标签页会话恢复等核心编辑特性。

同时,本项目创造性地集成了一个电子猫娘趣味陪伴互动系统(CatWidget)。“电子猫娘”内置有限状态机(FSM),可根据用户的实时编码行为(如大括号匹配、连续删除代码、静置空闲)变换情绪,并支持手动投喂交互,有效缓解高强度编程压力。


✨ 核心特性

1. 核心编辑器辅助

  • 多标签页管理: 基于 QTabWidget,支持多文件同时编辑、快捷关闭,并实时提示未保存修改(* 标记)。
  • 智能行号栏: 左侧配有动态行号栏,宽度随文档行数自适应伸缩,与文本框滚动保持毫米级精准同步。
  • 当前行高亮: 实时对当前光标所在行着色浅灰色背景,提升代码阅读与定位体验。
  • 大括号匹配高亮: 基于栈算法对当前光标临近的大括号 {} 进行成对实时配对高亮,并联动向猫咪发送“开心”信号。
  • 代码块层级折叠: 自动分析花括号的嵌套深度,在行号栏提供折叠/展开指示图标,支持收起/展开多行代码块。
  • 回车自动缩进: 按下回车时,新行会自动继承并对齐上一行的前导空白缩进。
  • 字体自由缩放: 支持快捷键放大、缩小与一键恢复默认字体大小。
  • 主题自由切换: 内置精美的**明亮(浅色)暗黑(深色)**两套现代化主题,并持久化记录用户偏好。

2. 多语言语法高亮引擎

  • 多语言开箱即用: 内置 C++PythonJSON 常见编程语言的实时词法分析与着色规则。
  • 基于 JSON 外部扩展: 高亮规则存放于 resources/rules/ 目录下的外部 JSON 配置文件中,引擎支持动态加载与用户自由扩展自定义语言。

3. 悬浮查找与替换

  • 提供独立的非模态查找/替换面板。
  • 支持大小写敏感全词匹配以及正则表达式检索三种匹配模式,支持查找下一个、向上查找与全文一键替换。

4. 🐱 “代码伴侣(电子猫娘)”互动系统

  • 四种情绪状态机: 默认(Default)、开心(Happy)、生气(Angry)和饥饿(Hungry)。
  • 行为联动机制:
    • 开心 (Happy): 当成功匹配大括号 {} 或主动投喂时触发。
    • 生气 (Angry): 当用户连续快速按下 Backspace 或 Delete 删除代码时触发。
    • 饥饿 (Hungry): 定时器自动统计时间流逝,长时间未操作或未进食时进入饥饿红字警示状态。
  • 交互投喂: 支持点击侧边栏“投喂猫粮”按钮或使用全局快捷键 Ctrl + Shift + F 进行投喂,重置饥饿倒计时。

🚀 下载与运行(Release 发布包)

前往项目的 Releases 发布页面 下载对应操作系统的最新免安装绿色包:

🪟 Windows 用户

  1. 下载 SimpleIDE-windows-x64.zip 并解压;
  2. 双击打开文件夹中的 simple_ide.exe 即可直接运行(已内置全部所需运行时与 DLL)。

🐧 Linux 用户

  1. 下载 SimpleIDE-linux-x64.tar.gz 并解压:
    tar -zxvf SimpleIDE-linux-x64.tar.gz
    cd SimpleIDE-linux-x64
  2. 运行一键启动脚本:
    ./run.sh

🍏 macOS 用户

  1. 下载 SimpleIDE-macos.dmg 镜像文件;
  2. 双击打开并将 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+(包含 QtWidgetsQtGuiQtCore

编译步骤

# 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_ide

📂 项目目录结构

simple_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 协议开源,欢迎自由使用、学习与二次开发。

About

一个带语法高亮和趣味互动的简易文本编辑器(IDE)

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages