SNI-Algo-29
Extension VS Code pour écrire le pseudo-code en français du cours d'algorithmique, avant de le traduire en VBA. Elle colore le code, vérifie la syntaxe, complète les mots-clés, ferme les blocs toute seule et remet l'indentation au propre.
Les fichiers doivent avoir l'extension .algo.
Vérification de la syntaxe
Les erreurs sont soulignées pendant la frappe. Cmd+. (ou l'ampoule) propose une correction quand elle existe.
| Problème détecté |
Correction proposée |
Bloc jamais fermé (Si sans FinSi, Pour sans FinPour…) ou mal fermé |
Ajouter la fermeture |
alors ou Faire manquant |
L'ajouter |
Variable non déclarée (sauf le compteur d'une boucle Pour, créé automatiquement comme en Python) |
Déclarer (Entier, Reel, Chaine, Booleen), ou remplacer par un nom proche (totl → total) |
| Variable utilisée avant d'avoir reçu une valeur |
Ajouter x <-- 0 après Debut |
| Variable déclarée mais jamais utilisée |
Supprimer la déclaration |
Constante modifiée, compteur de Pour modifié dans la boucle |
— |
= au lieu de <-- pour affecter, = au lieu de == pour comparer |
Remplacer |
Type inconnu, valeur du mauvais type (nom <-- 12 pour une Chaine) |
Type le plus proche |
| Tableaux : mauvais nombre d'indices, indice hors bornes, tableau sans indice, borne inconnue |
— |
Parenthèse ou guillemet non fermé, Lire/Ecrire sans parenthèses |
Fermer |
20 000 ou 1,2 dans une constante |
20000, 1.2 |
Mot-clé écrit autrement que dans le cours (Fin TantQue, Sinon Si), accents dans les noms. Les majuscules et minuscules sont libres : faire, ALORS, finsi sont acceptés |
Écriture du cours (indice discret) |
Écriture
- Fermeture automatique : après
Si … alors, Pour … Faire, TantQue … Faire, Répéter, Debut ou Algorithme nom, la touche Entrée ajoute la ligne de fermeture et place le curseur dans le bloc. S'il manque alors ou Faire, elle l'ajoute.
- Indentation automatique : la ligne suivante s'indente après une ouverture, et
Sinon, FinSi, FinPour, Fin… se recalent tout seuls.
- Formatage (
Maj+Option+F) : réindente tous les algorithmes proprement.
- Autocomplétion selon l'endroit :
- hors algorithme : squelette
Algorithme, exercice exo, region ;
- après
: dans Variables : les types et Tableau[1..N] de Type ;
- en début d'instruction :
Si, Pour, TantQue, Répéter, Lire, Ecrire, les fermetures du bloc en cours, les variables (avec <--) et « Parcourir notes », une boucle Pour toute prête sur chaque tableau déclaré ;
- dans une expression : les variables et constantes avec leur type,
ET, OU, NON, DIV, MOD, Vrai, Faux, puis alors ou Faire.
Navigation
- Survol d'une variable : son type, sa ligne de déclaration et ses bornes. Survol d'un mot-clé : l'aide du cours.
- F12 : aller à la déclaration. Maj+F12 : toutes les utilisations. F2 : renommer partout.
- Plan (vue « Structure »,
Cmd+Maj+O) : régions, algorithmes, variables, tableaux et constantes.
- Régions repliables :
// #region Titre … // #endregion. // MARK: Titre s'affiche dans la minimap.
Syntaxe reconnue
// #region Exercice — Notes de la classe
Algorithme notes_classe
Constantes
NB = 5
Variables
notes : Tableau[1..NB] de Reel
grille : Tableau[1..3, 1..4] de Reel
i, j : Entier
total : Reel
Debut
total <-- 0
Pour i allant de 1 à NB Faire
Ecrire("Saisir la note ", i)
Lire(notes[i])
total <-- total + notes[i]
FinPour
Si total / NB >= 10 alors
Ecrire("Moyenne : ", total / NB)
SinonSi total == 0 alors
Ecrire("Aucune note")
Sinon
Ecrire("Insuffisant")
FinSi
Fin
// #endregion
Autres écritures acceptées : Variable, Constante, Début, Réel, Booléen, Chaîne, SinonSI, Pour i de 1 à N faire, Repeter, pas dans une boucle Pour, commentaires // et /* … */.
Réglages
| Réglage |
Par défaut |
Effet |
sniAlgo.verification.activer |
oui |
Vérifier la syntaxe |
sniAlgo.verification.ecriture |
oui |
Signaler les mots-clés écrits autrement que dans le cours |
sniAlgo.verification.accents |
oui |
Signaler les accents dans les noms |
sniAlgo.verification.compteurImplicite |
oui |
Déclarer automatiquement le compteur d'une boucle Pour (Entier) |
sniAlgo.finAuto |
oui |
Fermer les blocs avec la touche Entrée |
sniAlgo.completerAlorsFaire |
oui |
Ajouter alors / Faire manquants avec la touche Entrée |
Licence
MIT
| |