Skip to content

Latest commit

 

History

History
168 lines (125 loc) · 6.63 KB

File metadata and controls

168 lines (125 loc) · 6.63 KB

CodeBox - Entwicklungsplan

Ziel: PythonBox v8 -> CodeBox (Multi-Language IDE) Basis: PythonBox_v8.py (3,381 Zeilen) Erstellt: 2026-01-26 Aktualisiert: 2026-08-14


Übersicht

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

Phase 1: Core Refactoring - ERLEDIGT (2026-02-12)

1.1 Projektstruktur anlegen - DONE (2026-01-26)

  • Ordnerstruktur erstellen
  • __init__.py Dateien anlegen
  • Basis-main.py mit Imports

1.2 LanguageProvider ABC erstellen - DONE (2026-02-12)

  • languages/base.py mit abstrakter Basisklasse
  • Alle Provider-Methoden definieren
  • Type Hints und Docstrings

1.3 Core-Komponenten extrahieren - DONE (2026-02-12)

  • 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

1.4 UI-Komponenten extrahieren - DONE (2026-02-12)

  • ui/main_window.py - Hauptfenster mit Menü, Toolbar, Statusbar
  • Suchen und Gehe-zu-Zeile implementiert

1.5 UniversalHighlighter - DONE (2026-02-12)

  • core/highlighter.py - Provider-basiertes Highlighting
  • Kommentar-Style aus Provider lesen
  • Keywords, Builtins, Strings, Numbers, Comments

1.6 Integration - DONE (2026-02-12)

  • main.py startet mit Dark Theme
  • Editor mit Tabs
  • Output-Panel integriert

Phase 2: Python Provider - ERLEDIGT (2026-02-12)

2.1 PythonProvider erstellen - DONE

  • languages/python_lang.py
  • Keywords, Builtins aus PythonBox übernommen
  • Snippets definiert
  • Run/Debug Commands

Phase 3: Weitere Sprachen - ERLEDIGT (2026-02-12)

3.1 JavaScript & TypeScript - DONE

  • languages/javascript_lang.py
  • languages/typescript_lang.py
  • Keywords, Builtins, Snippets
  • node / ts-node Run-Command

3.2 C/C++, Rust, Go & Java - DONE

  • languages/cpp_lang.py
  • languages/rust_lang.py
  • languages/go_lang.py
  • languages/java_lang.py

3.3 Provider-Registry & Dynamic Extensions - DONE (2026-08-14)

  • languages/__init__.py mit 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)

Phase 4: Features, Plugins & Polish - ERLEDIGT (2026-08-14)

4.1 Statusbar & Toolbar Sprachauswahl - DONE (2026-02-12)

  • Dropdown in Toolbar
  • Manuelle Sprachauswahl
  • Automatische Erkennung bei Dateieröffnung
  • Dynamische Aktualisierung bei Plugin-Registrierung

4.2 Einstellungs-Dialog - DONE

  • config/__init__.py mit Settings-System (Font, Size, TabSize, Minimap, Theme)
  • ui/settings_dialog.py Einstellungs-Dialog
  • Theme-Auswahl Dialog & Runtime Theme Switching

4.3 Linter- und LSP-Integration - DONE (2026-08-11)

  • 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

4.4 Plugin-System & Erweiterbarkeit - DONE (2026-08-14)

  • 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)

4.5 Dokumentation & Dialoge - DONE (2026-08-14)

  • README.md & README_de.md für CodeBox
  • Tastenkürzel-Übersicht (ui/shortcuts_dialog.py, Shortcut: F1)
  • Über CodeBox Dialog

4.6 Minimap & Editor Polish - DONE

  • 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

4.7 Abschluss & Build

  • requirements.txt erstellen
  • start.bat anpassen
  • lokales Build-Script (build_exe.bat) mit PyInstaller
  • Kompilieren und EXE testen (PyInstaller Build verifiziert)

Phase 5: High-End Refactoring & Hardening - ERLEDIGT (2026-08-24)

5.1 Syntax Highlighting State-Machine - DONE (2026-08-24)

  • core/highlighter.py: Multi-Line Docstrings (""", ''') und Block-Kommentare (/* ... */) über Blockgrenzen hinweg via Qt QSyntaxHighlighter State-Machine (previousBlockState, setCurrentBlockState).

5.2 Smart Block Editing & Shortcuts - DONE (2026-08-24)

  • 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.

5.3 Minimap Performance Optimization - DONE (2026-08-24)

  • core/editor.py: Caching von Dokumentzeilen und maximalen Spaltenbreiten in Minimap mit ereignisgesteuerter Cache-Invalidierung.

5.4 Testsuite-Erweiterung - DONE (2026-08-24)

  • 4 neue Testmodule (Highlighter Multi-Line, Block Editing/Comment, Minimap Performance, Goto Line Navigation) -> 164 Tests passed (100% grün).

Meilensteine

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)

Referenzen


Plan erstellt: 2026-01-26 | High-End gehärtet: 2026-08-24 durch Antigravity Agent