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_ttf
Or manually download SDL2 from:
Install SDL2 & SDL2_ttf:
sudo apt install libsdl2-dev libsdl2-ttf-dev
Install via Homebrew:
brew install sdl2 sdl2_ttf
git clone https://github.com/ThePral/SDL-Based-Lightweight-IDE.git
cd SDL-Based-Lightweight-IDE
cd src
g++ integrated_ide.cpp compile.cpp -o ide.exe -lSDL2 -lSDL2_ttf -Wall -Wextra -g
./ide.exe
g++ integrated_ide.cpp compile.cpp -o ide -lSDL2 -lSDL2_ttf
./ide
If you encounter crashes, run the program in GDB:
gdb ide.exe
run
- Ensure
arial.ttf
is 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.