A Modern, Feature-Rich Code Editor Built with Python & Tkinter
Download โข Documentation โข Contributing โข Changelog
- Auto-Indentation - Intelligent code block indentation
- Auto-Complete Brackets - Automatically closes
(),[],{},<> - Bracket Matching - Visual highlighting of matching brackets
- Current Line Highlight - Active line is subtly highlighted for better navigation
- Smart Backspace - Removes matching bracket/quote pairs together
- Wrap Selection - Select text and type a bracket/quote to wrap it
- Toggle Comments -
Ctrl+/to comment/uncomment lines (Python, JS, Java, C, etc.) - Duplicate Line -
Ctrl+Dto duplicate current line or selection - Move Lines -
Alt+Up/Downto move lines up or down - Multi-Cursor -
Ctrl+Alt+Up/Downfor basic multi-cursor support - Go to Line -
Ctrl+Gto quickly jump to a specific line number - Find & Replace - Enhanced with regex support, case-sensitive, and whole word options
- Zoom Controls -
Ctrl+=zoom in,Ctrl+-zoom out,Ctrl+0reset zoom - Settings Dialog -
Ctrl+,to configure editor preferences
Support for multiple languages:
- Python
- JavaScript/TypeScript
- Java
- C/C++/C#
- HTML
- And more...
- Recent Files Menu - Quick access to recently opened files
- Auto-Save - Automatically saves your work every 30 seconds
- Minimap - Code overview with clickable navigation
- Integrated Terminal - Built-in terminal for running commands
- Multi-File Tabs - Work on multiple files simultaneously
- File Explorer - Browse and open files from a folder tree
- Dark Theme - Easy on the eyes with VS Code-inspired colour scheme
- Custom Title Bar - Frameless window with custom controls
- Line Numbers - Always visible with synchronized scrolling
- Status Bar - Shows cursor position and file path
- Auto-Hide Scrollbars - Clean interface that appears only when needed
Easiest option: Download the latest release from the versions page.
- Python 3.8 or higher
- pip (Python package installer)
- Clone the repository:
git clone https://github.com/YOUR-NAME/codeforge.git
cd codeforge- Install dependencies:
pip install pillow- Run CodeForge:
python code_editor.pyTo create a standalone executable:
- Install PyInstaller:
pip install pyinstaller- Run the build script:
.\build.bat- Find the executable in
dist/CodeForge.exe
For more details, see build.spec for PyInstaller configuration.
| Shortcut | Action |
|---|---|
Ctrl+N |
New File |
Ctrl+O |
Open File |
Ctrl+S |
Save File |
Ctrl+Shift+S |
Save As |
| Shortcut | Action |
|---|---|
Ctrl+Z |
Undo |
Ctrl+Y |
Redo |
Ctrl+X |
Cut |
Ctrl+C |
Copy |
Ctrl+V |
Paste |
Ctrl+A |
Select All |
Ctrl+F |
Find |
Ctrl+H |
Find and Replace |
Ctrl+/ |
Toggle Comment |
Ctrl+D |
Duplicate Line |
Ctrl+W |
Close Current Tab |
Ctrl+G |
Go to Line |
Ctrl+, |
Settings |
| Shortcut | Action |
|---|---|
Alt+Up |
Move Line Up |
Alt+Down |
Move Line Down |
Ctrl+Alt+Up |
Add Cursor Above |
Ctrl+Alt+Down |
Add Cursor Below |
| Shortcut | Action |
|---|---|
Ctrl+= or Ctrl++ |
Zoom In |
Ctrl+- |
Zoom Out |
Ctrl+0 |
Reset Zoom |
Access through the View menu:
- Toggle Terminal
- Toggle Minimap
- Python - Core programming language
- Tkinter - GUI framework
- PIL/Pillow - Image processing for icons
- PyInstaller - Executable creation
codeforge/
โโโ code_editor.py # Main application file
โโโ build.bat # Windows build script
โโโ build.spec # PyInstaller configuration
โโโ icon/ # Application icons
โ โโโ white-transparent.png
โโโ build/ # Build artifacts
โโโ dist/ # Compiled executables
CodeForge includes built-in configuration options:
- Auto-Save: Enabled by default (30-second interval)
- Theme: Dark theme (VS Code inspired)
- Font: Consolas 11pt for code editing
- Recent Files: Tracks last 10 opened files
We welcome contributions from the community! Whether it's:
- ๐ Bug reports
- ๐ก Feature requests
- ๐จ New themes
- ๐ Documentation improvements
- ๐ง Code contributions
Please read our Contributing Guidelines to get started.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Make your changes (follow our code style)
- Test thoroughly
- Commit with clear messages (
git commit -m 'Add: description') - Push to your fork (
git push origin feature/AmazingFeature) - Open a Pull Request
See Contributing for detailed guidelines.
This project is licensed under the MIT License - see the LICENSE file for details.
- Ctrl+` terminal shortcut removed due to cross-platform compatibility issues (use View menu instead)
- Multi-cursor is simplified (selects matching text rather than true multiple cursors)
- ๐จ Complete UI Overhaul: Modern, fully customisable interface design
- ๐ญ Theme System: 4 built-in themes (Dark, Light, Monokai, Dracula)
- ๐ง Layout Customisation: Move sidebar left/right, customise panel positions
- ๐พ Layout Profiles: Save and load custom layout configurations as JSON
- ๐จ Theme Switcher: Switch themes instantly from View menu
- ๐ Resizable Panels: Smooth panel resizing with ttk.PanedWindow
- ๐ฏ Accent Colours: Customisable accent colours for each theme
- ๐ผ๏ธ Modern Colour Schemes: Professional themes with proper contrast
- โ๏ธ Extended Settings: New layout and theme preferences
- ๐ Layout Presets: Quick layout switching system
- ๐ Import/Export: Share layouts via JSON files
- โจ All v1.0.6 Optimizations: Includes all performance improvements
โ ๏ธ BETA: This is a preview release - please report issues!
New Menu Items:
- View โ Themes (Dark, Light, Monokai, Dracula)
- View โ Layout (Sidebar position, Save/Load layouts)
New Features:
- Instant theme preview without restart
- Sidebar can be positioned left or right
- Layout configurations saved to/loaded from JSON
- All UI elements update dynamically with theme changes
- โก Major performance optimizations:
- Compiled regex pattern caching for 50% faster syntax highlighting
- Buffered file I/O (8KB buffer) for faster file loading and saving
- Optimized line number generation for large files
- Status bar debouncing (50ms) for smoother cursor updates
- Memory cleanup when closing files (garbage collection)
- Improved undo/redo performance with better text widget configuration
- Disabled undo tracking during file switches for instant loading
- โจ New Features:
- Go to Line dialog (
Ctrl+G) - Enhanced Find & Replace with regex, case-sensitive, and whole word options
- Zoom controls (
Ctrl+=,Ctrl+-,Ctrl+0) - Settings dialog (
Ctrl+,) for font, tab size, and preferences - ANSI colour support in terminal for colourised output
- Go to Line dialog (
- ๐ Bug Fixes:
- Fixed zoom in keyboard shortcut (added
Control-equalbinding) - Fixed minimap rendering from barcode-like to clean 2-pixel lines
- Fixed minimap scrolling and viewport synchronization
- Browser cache-busting for version updates page
- Fixed zoom in keyboard shortcut (added
- ๐
UI Improvements:
- Complete minimap redesign with smooth 2-pixel height lines
- Better visual feedback throughout the editor
DaRealTrueBlue
- GitHub: @DaRealTrueBlue
- YouTube: @DaRealTrueBlue
- Instagram: @darealtrueblue.lol
- Twitch: @DaRealTrueBlueLive
- Inspired by Visual Studio Code
- Built with โค๏ธ using Python and Tkinter
- Icon design and UI inspired by modern code editors
Have questions or suggestions?
- ๐ Found a bug? Open an issue
- ๐ก Feature idea? Submit a feature request
- ๐ฌ Need help? Start a discussion
- ๐ง Want to contribute? See Contributing
If you find CodeForge useful, please:
- โญ Star this repository
- ๐ฆ Share it with others
- ๐ค Contribute to the project
- ๐ข Spread the word!
โญ Star this repo if you find it useful!



