Files
TM-Squared 13e5cb16bb step 1 to 5
2025-08-15 17:26:41 +02:00

98 lines
3.7 KiB
Plaintext

# TODO - Extension VSCode RISC-V
## Tâches terminées
### Étape 1: Coloration Syntaxique
- [x] Configuration du langage RISC-V (.s, .asm, .rv)
- [x] Grammaire TextMate pour coloration syntaxique
- [x] Support des instructions, registres, directives, commentaires
- [x] Support des nombres (décimal, hexadécimal, binaire)
- [x] Configuration des brackets et auto-fermeture
### Étape 2: Snippets de Base
- [x] Snippets pour instructions arithmétiques (add, addi, sub, etc.)
- [x] Snippets pour instructions mémoire (lw, sw, lb, sb, etc.)
- [x] Snippets pour instructions de branchement (beq, bne, blt, etc.)
- [x] Snippets pour pseudo-instructions (li, la, mv, j, ret, etc.)
- [x] Snippets pour directives d'assembleur (.text, .data, .global, etc.)
- [x] Navigation avec Tab entre les placeholders
### Étape 4: Exécution dans QEMU
- [x] Commande de compilation avec riscv64-linux-gnu-gcc
- [x] Détection automatique du type de programme (_start vs main)
- [x] Options de compilation adaptées (standalone vs avec libc)
- [x] Commande d'exécution dans QEMU
- [x] Terminal intégré pour l'exécution
- [x] Boutons dans la barre d'outils
- [x] Support du clic droit et palette de commandes
### Étape 5: Debugging et Diagnostics
- [x] Validation syntaxique en temps réel
- [x] Vérification des instructions RISC-V
- [x] Validation des noms de registres
- [x] Détection des labels non définis
- [x] Vérification du nombre d'arguments des instructions
- [x] Warnings pour directives inconnues
- [x] Hover documentation pour instructions
- [x] Hover information pour registres
- [x] Hover documentation pour directives
- [x] IntelliSense avancé avec auto-complétion contextuelle
- [x] Complétion des instructions selon le contexte
- [x] Complétion des registres
- [x] Complétion des labels définis dans le document
- [x] Complétion des directives d'assembleur
- [x] Complétion des constantes système courantes
- [x] Navigation Go to Definition pour labels
- [x] Find All References pour labels
- [x] Configuration du debugging avec GDB
- [x] Support gdb-multiarch pour RISC-V
- [x] Compilation avec informations de debug (-g)
- [x] Configuration de debugging avec QEMU
- [x] Commandes de debugging intégrées
## Tâches en cours
- [ ] Tests des fonctionnalités de debugging
## Tâches futures possibles
### Étape 6: Templates et Boilerplate
- [ ] Commande "New RISC-V Program"
- [ ] Templates multiples (Hello World, calcul, tableaux)
- [ ] Snippets avancés (boucles, fonctions)
- [ ] Génération automatique de structure de base
### Étape 7: Intégration avancée
- [ ] Génération automatique de Makefile
- [ ] Support des projets multi-fichiers
- [ ] Outline view des labels et fonctions
- [ ] Folding avancé par sections
- [ ] Refactoring de base (renommage de labels)
### Étape 8: Émulation et Testing
- [ ] Terminal QEMU intégré dans VSCode
- [ ] Memory viewer pour inspection mémoire
- [ ] Register viewer en temps réel
- [ ] Step-by-step execution avec interface graphique
- [ ] Breakpoints visuels dans l'éditeur
### Améliorations techniques
- [ ] Support des macros assembleur
- [ ] Validation sémantique avancée
- [ ] Support des différentes variantes RISC-V (RV32, RV64)
- [ ] Support des extensions (M, A, F, D)
- [ ] Intégration avec simulateurs alternatifs
- [ ] Export vers différents formats (Intel HEX, etc.)
### Distribution et maintenance
- [ ] Tests automatisés
- [ ] Documentation utilisateur complète
- [ ] Empaquetage pour VS Code Marketplace
- [ ] CI/CD pour les releases
- [ ] Support multi-plateforme (Windows, macOS)
## Notes techniques
- Extension basée sur TypeScript
- Utilise l'API VSCode pour language servers
- Intégration avec toolchain GNU RISC-V
- Compatible avec QEMU user mode
- Support debugging via GDB multiarch