A simple Integrated Development Environment (IDE) built using C++, SDL2, and SDL2_ttf. This lightweight IDE features syntax highlighting, a sidebar with useful actions, error reporting, and compilation features.
- 📝 Text Editor with basic editing capabilities
- 🎨 Dark/Light Mode Toggle
- 🔄 Undo/Redo Support
- 🔠 Syntax Highlighting (for keywords like
int,if,return, etc.) - 🖱 Sidebar with Functional Buttons:
- New Project
- Save Project
- Undo / Redo
- Toggle Theme
- Compile & Run
- Debug
- 🖥 Integrated Compilation & Execution
- 🛑 Error Display Panel
- ⌨️ Keyboard Shortcuts:
Ctrl + S→ Save projectCtrl + O→ Open projectCtrl + Z→ UndoCtrl + Y→ RedoCtrl + X→ CutCtrl + C→ CopyCtrl + V→ PasteCtrl + A→ Select allCtrl + B→ Compile & Run
Find stable versions of this project in the Releases tab.
- Download precompiled binaries
- View release notes and version history
- Access older versions if needed
Before compiling, ensure you have installed:
- SDL2
- SDL2_ttf
- G++ (MinGW-w64 for Windows)
Install SDL2 & SDL2_ttf:
pacman -S mingw-w64-ucrt-x86_64-SDL2 mingw-w64-ucrt-x86_64-SDL2_ttfOr manually download SDL2 from:
Install SDL2 & SDL2_ttf:
sudo apt install libsdl2-dev libsdl2-ttf-devInstall via Homebrew:
brew install sdl2 sdl2_ttfgit clone https://github.com/ThePral/SDL-Based-Lightweight-IDE.git
cd SDL-Based-Lightweight-IDE
cd srcg++ integrated_ide.cpp compile.cpp -o ide.exe -lSDL2 -lSDL2_ttf -Wall -Wextra -g
./ide.exeg++ integrated_ide.cpp compile.cpp -o ide -lSDL2 -lSDL2_ttf
./ideIf you encounter crashes, run the program in GDB:
gdb ide.exe
run- Ensure
arial.ttfis in the project folder. - The compiled programs are stored in
temp_output.exe. - Errors & warnings appear in the Error Panel.
1️⃣ Edit your C++ code in the editor.
2️⃣ Use sidebar buttons to compile, run, or switch themes.
3️⃣ Check error panel for compilation messages.
4️⃣ Use shortcuts to speed up editing.
| Dark Mode | Light Mode |
|---|---|
![]() |
![]() |
Contributions are welcome! Feel free to:
- Fork the repo and submit a PR.
- Report issues in the Issues tab.
This project is licensed under the MIT License. Free to use & modify!
See LICENSE for details.

