Ziel: PythonBox v8 -> CodeBox (Multi-Language IDE) Basis: PythonBox_v8.py (3,381 Zeilen) Erstellt: 2026-01-26 Aktualisiert: 2026-08-14
| Phase | Beschreibung | Aufwand | Status |
|---|---|---|---|
| 1 | Core Refactoring | ~4h | ERLEDIGT |
| 2 | Python Provider | ~1h | ERLEDIGT |
| 3 | Weitere Sprachen & Registry | ~4h | ERLEDIGT (JS, TS, C++, Rust, Go, Java) |
| 4 | Features, Plugins & Polish | ~4h | ERLEDIGT |
| Gesamt | ~13h | 100% ABGESCHLOSSEN |
- Ordnerstruktur erstellen
-
__init__.pyDateien anlegen - Basis-main.py mit Imports
-
languages/base.pymit abstrakter Basisklasse - Alle Provider-Methoden definieren
- Type Hints und Docstrings
-
core/editor.py- CodeEditor-Widget (Zeilennummern, Bracket Matching, Auto-Completion) -
core/tabs.py- Tab-System -
core/output.py- Output/Run Panel mit QProcess - Auto-Completion in editor.py integriert
-
ui/main_window.py- Hauptfenster mit Menü, Toolbar, Statusbar - Suchen und Gehe-zu-Zeile implementiert
-
core/highlighter.py- Provider-basiertes Highlighting - Kommentar-Style aus Provider lesen
- Keywords, Builtins, Strings, Numbers, Comments
- main.py startet mit Dark Theme
- Editor mit Tabs
- Output-Panel integriert
-
languages/python_lang.py - Keywords, Builtins aus PythonBox übernommen
- Snippets definiert
- Run/Debug Commands
-
languages/javascript_lang.py -
languages/typescript_lang.py - Keywords, Builtins, Snippets
- node / ts-node Run-Command
-
languages/cpp_lang.py -
languages/rust_lang.py -
languages/go_lang.py -
languages/java_lang.py
-
languages/__init__.pymit dynamischer Provider-Registrierung (register_provider,unregister_provider,reset_providers) - Listener-System (
add_provider_listener,remove_provider_listener) für reaktive UI-Aktualisierung - Declarative JSON Language Provider (
languages/declarative.py)
- Dropdown in Toolbar
- Manuelle Sprachauswahl
- Automatische Erkennung bei Dateieröffnung
- Dynamische Aktualisierung bei Plugin-Registrierung
-
config/__init__.pymit Settings-System (Font, Size, TabSize, Minimap, Theme) -
ui/settings_dialog.pyEinstellungs-Dialog - Theme-Auswahl Dialog & Runtime Theme Switching
- Error-Markers im Editor (set_linter_errors)
- Generisches Linter-System (automatischer Aufruf beim Speichern)
- Problems-Panel für LSP- und Linter-Diagnosen mit Sprung zur Position
-
features/plugin_manager.py: Automatische Entdeckung und Laden von Plugins aus Projekt- und Benutzerordnern (plugins/,~/.codebox/plugins/) - Deklarative JSON-Plugins (z.B.
plugins/lua_plugin.json,plugins/ruby_plugin.json) - Python-basierte Plugins (
.py) -
ui/plugins_dialog.py: UI zur Verwaltung, Aktivierung/Deaktivierung und Erstellung von Vorlagen (Ctrl+Shift+P)
- README.md & README_de.md für CodeBox
- Tastenkürzel-Übersicht (
ui/shortcuts_dialog.py, Shortcut:F1) - Über CodeBox Dialog
-
core/minimap.py: Mini-Codeübersicht mit synchronem Scrollen und Sichtbarkeitsumschaltung - Auto-Close von Klammern und Anführungszeichen
- Drag & Drop Tab-Reordering
- Save-Failure Guards und unsaved changes confirmation
-
requirements.txterstellen -
start.batanpassen - lokales Build-Script (
build_exe.bat) mit PyInstaller - Kompilieren und EXE testen (PyInstaller Build verifiziert)
-
core/highlighter.py: Multi-Line Docstrings (""",''') und Block-Kommentare (/* ... */) über Blockgrenzen hinweg via QtQSyntaxHighlighterState-Machine (previousBlockState,setCurrentBlockState).
-
core/editor.py: Multi-Line Block Indentation (Tab), Dedentation (Shift+Tab), Line Comment Toggle (Ctrl+/,Ctrl+#), Line Duplication (Ctrl+D), Line Movement (Alt+Up,Alt+Down). -
ui/main_window.py: Bearbeiten-Menüeinträge und präzise Block-Navigation für_goto_line. -
ui/shortcuts_dialog.py: Dokumentation aller neuen Editor-Tastenkürzel in der F1-Übersicht.
-
core/editor.py: Caching von Dokumentzeilen und maximalen Spaltenbreiten inMinimapmit ereignisgesteuerter Cache-Invalidierung.
- 4 neue Testmodule (Highlighter Multi-Line, Block Editing/Comment, Minimap Performance, Goto Line Navigation) -> 164 Tests passed (100% grün).
| Meilenstein | Kriterien | Status |
|---|---|---|
| M1: Lauffähig | main.py startet, Editor zeigt Code | ERREICHT |
| M2: Python funktioniert | Python-Highlighting, Run, Snippets | ERREICHT |
| M3: Multi-Language | 3+ Sprachen nutzbar | ERREICHT (Python, JS, TS, C++, Rust, Go, Java, Lua, Ruby) |
| M4: Release-Ready | Doku, Tests, Plugin-System, EXE | ERREICHT |
| M5: High-End Hardened | Multi-Line Highlighter, Block Editing, Minimap Cache, 164 Tests | ERREICHT (2026-08-24) |
- CodeBox_Konzept.md - Architektur & Code-Beispiele
- Feature_Analyse_PythonBox.md - Basis-Features
- PythonBox_v8.py - Quellcode-Basis
Plan erstellt: 2026-01-26 | High-End gehärtet: 2026-08-24 durch Antigravity Agent