🎯 Coding Challenges - VS Code Extension
Eine vollständige VS Code Extension zum Durchsuchen, Lösen und Erstellen von Coding Challenges mit GitHub-Integration.

📋 Inhaltsverzeichnis
✨ Features
🎯 Challenge Management
- Challenge Browser - Durchsuche alle verfügbaren Challenges
- Filterung & Suche - Nach Sprache, Schwierigkeit, Tags
- Smart Loading - Automatisches Herunterladen und Setup
- Template Standards - Konsistente Code-Struktur für alle Sprachen
🧪 Integrierte Test-Engine
- Ein-Klick Testing - F5 oder Click zum Testen
- Multi-Language Support - Automatische Erkennung der Programmiersprache
- Live Feedback - Sofortige Testergebnisse im Output
- Error Detection - Intelligente Fehlererkennung
🛠️ Challenge Creation
- Visueller Creator - Benutzerfreundliches Interface
- JSON Import - Bulk-Import von Challenges
- AI Prompt Generator - KI-assistierte Challenge-Erstellung
- Template Preview - Vorschau der generierten Templates
🔄 GitHub Integration
- Automatic Sync - Synchronisation mit GitHub Repository
- Pull Request Workflow - Automatische PR-Erstellung für neue Challenges
- Issue Tracking - Automatisches Melden von Challenge-Fehlern
- Admin Review - Freigabe-System für neue Challenges
🚀 Installation
Method 1: VS Code Marketplace
# In VS Code
Strg+Shift+X → Suche "Coding Challenges" → Install
Method 2: VSIX Installation
# Download .vsix file und installiere über:
code --install-extension coding-challenges-1.0.0.vsix
⚙️ Einrichtung
2. Extension konfigurieren
# In VS Code:
Strg+, → Suche "Coding Challenges"
3. Workspace Setup
# Erstelle oder öffne einen Ordner für deine Challenges
mkdir my-challenges
cd my-challenges
code .
🎮 Bedienung
🎯 Challenge Browser öffnen
Method 1: Command Palette
Strg+Shift+P → "Show Challenges"
Method 2: Keyboard Shortcut
Strg+Shift+C
Method 3: Activity Bar
Click auf Coding Challenges Icon (🎯) in der Seitenleiste
📋 Challenge laden
- Im Browser: Challenge auswählen → "🚀 Laden" klicken
- Im Tree View: Challenge → Rechtsklick → "Load Challenge"
- Automatic Setup: Alle Dateien werden automatisch erstellt
Generierte Struktur:
challenges/
├── challenge-id/
│ ├── 📝 starter.[ext] # Dein Code hier
│ ├── 🧪 tests.[ext] # Test Cases
│ ├── 📖 solution.[ext] # Referenz-Lösung
│ ├── 📋 README.md # Anleitung
│ ├── ⚙️ challenge.json # Metadaten
│ └── 🔧 build files # Projekt-Config
💻 Unterstützte Sprachen
Sprache |
Icon |
Template |
Build System |
Status |
C# |
🔷 |
.NET 8.0 Project |
dotnet |
✅ Full |
JavaScript |
🟨 |
Node.js Package |
node |
✅ Full |
Python |
🐍 |
Python 3.x |
python |
✅ Full |
Java |
☕ |
OpenJDK Project |
javac/java |
✅ Full |
C++ |
⚙️ |
C++17 Headers |
make/g++ |
✅ Full |
C |
🔧 |
C99 Standard |
make/gcc |
✅ Full |
🎨 Template-Features
- Konsistente Namenskonventionen - Automatische Klassenname-Generierung
- Test-Framework Integration - Eingebaute Test-Runner
- Build-System Setup - Automatische Projekt-Konfiguration
- Solution Exclusion - Referenz-Lösungen werden vom Build ausgeschlossen
🧪 Tests ausführen
⚡ Schnelle Methoden
Methode |
Shortcut |
Beschreibung |
F5 |
F5 |
⭐ Einfachste Methode |
Ctrl+T |
Ctrl+T |
Alternative Tastenkombination |
Rechtsklick |
Rechtsklick → Tests |
Context Menu |
Button |
Click 🧪 |
Button im Editor Tab |
Command |
Ctrl+Shift+T |
Original Command |
📊 Test Output
🚀 Starte Tests für: Two Sum Problem
==================================================
✅ Test 1: Beispiel [2,7,11,15], target=9
✅ Test 2: Leeres Array
❌ Test 3: Keine Lösung vorhanden
Fehler: Erwartet: [], Erhalten: null
2/3 Tests bestanden
❌ Einige Tests fehlgeschlagen.
🔍 Automatic Error Detection
Die Extension erkennt automatisch Template-Fehler und bietet an, diese zu melden:
- Template-Fehler - Falsche Klassennamen oder Struktur
- Compilation-Fehler - Syntax- oder Build-Probleme
- Runtime-Fehler - Ausführungsfehler in Tests
- Validation-Fehler - Test-Framework Probleme
📝 Challenge erstellen
🎨 Visueller Creator
# Method 1: Command Palette
Strg+Shift+P → "Create New Challenge"
# Method 2: Keyboard Shortcut
Strg+Shift+N
# Method 3: Tree View
Click "➕" Button im Challenge Tree
Creator Features:
- Live Template Preview - Vorschau der generierten Templates
- Sprach-spezifische Validation - Automatische Code-Überprüfung
- Tag Suggestions - Intelligente Tag-Vorschläge
- Difficulty Assessment - Schwierigkeits-Einschätzung
🔧 Konfiguration
🎯 Keyboard Shortcuts (Anpassbar)
// keybindings.json
[
{
"key": "f5",
"command": "codingChallenges.runTests",
"when": "editorTextFocus"
},
{
"key": "ctrl+shift+c",
"command": "codingChallenges.showChallenges"
}
]
🐛 Fehlerbehebung
❌ Häufige Probleme
"Challenge kann nicht geladen werden"
# Mögliche Ursachen:
- Kein Workspace geöffnet
- Keine Internetverbindung
- GitHub Repository nicht erreichbar
# Lösung:
1. Workspace-Ordner öffnen
2. Internet-Verbindung prüfen
3. Repository URL validieren
"Tests können nicht ausgeführt werden"
# Abhängig von Sprache:
- C#: dotnet installiert? (dotnet --version)
- Python: python installiert? (python --version)
- Java: JDK installiert? (java -version)
- C++: g++ installiert? (g++ --version)
# Lösung: Entsprechende Runtime installieren
Template-Inkonsistenzen
# Die Extension hat automatische Erkennung:
1. Fehler wird erkannt → Meldung anzeigen
2. "Als Challenge-Fehler melden" klicken
3. GitHub Issue wird automatisch erstellt
4. Admin behebt das Problem
📞 Support
- GitHub Issues: Repository Issues
- Bug Reports: Über Extension automatisch melden
- Feature Requests: GitHub Discussions
🤝 Beitragen
🔄 Challenge hinzufügen
- Via Extension: Creator verwenden → automatischer PR
- Via GitHub: Fork → Challenge JSON erstellen → PR
- Via Issues: Challenge-Idee als Issue posten
🧪 Challenge testen
# Neue Challenge validieren:
1. Challenge laden
2. Tests mit F5 ausführen
3. Alle Sprach-Varianten testen
4. Template-Konsistenz prüfen
🐛 Bug Reports
# Automatisch via Extension:
1. Fehler tritt auf → Dialog erscheint
2. "Als Challenge-Fehler melden" klicken
3. GitHub Issue wird erstellt
📊 Stats & Analytics
- 15+ Challenges verfügbar
- 6 Programmiersprachen vollständig unterstützt -- NICHT
- 100% Template-Abdeckung für alle Sprachen -- NICHT
- Automatische Validierung für alle generierten Templates -- NICHT
- Sub-second Performance für Challenge-Loading
📜 Lizenz
MIT License - siehe LICENSE file.
⭐ Credits
- Entwickelt von: Jodo
- Inspiriert von: LeetCode, HackerRank, Codewars
- Icons: VS Code Codicons
🎯 Happy Coding! Viel Erfolg beim Lösen der Challenges!
