Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SNI-Algo-29New to Visual Studio Code? Get it now.
SNI-Algo-29

SNI-Algo-29

Tom Frumy

|
18 installs
| (0) | Free
Pseudo-code en français (fichiers .algo) : coloration, vérification, autocomplétion, fermeture automatique des blocs, formatage et tableaux.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

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)
Procédure ou fonction mal fermée, paramètre invalide, appel avec un mauvais nombre d'arguments ou Retourner hors fonction Signaler l'erreur

Fonctions et procédures

Chaque procédure ou fonction forme un bloc indépendant. Ses paramètres, constantes et variables lui sont locaux et ne sont pas visibles dans les autres blocs. Les appels peuvent précéder la déclaration du sous-programme.

Procedure Afficher(nom : Chaine, age : Entier)
Variables
    message : Chaine
Debut
    message <-- nom
    Ecrire(message, age)
FinProcedure

Fonction Doubler(valeur : Reel) : Reel
Debut
    Retourner valeur * 2
FinFonction

Une procédure se ferme avec FinProcedure et ne retourne pas de valeur. Une fonction précise son type après : et renvoie sa valeur avec Retourner. Les fonctions peuvent être utilisées dans une expression (resultat <-- Doubler(x)) ; les procédures s'appellent comme une instruction (Afficher(nom, age)).

Tester en Python

Dans la palette de commandes (Cmd+Maj+P), lance SNI-Algo-29 : Tester un algorithme en Python. Choisis l'algorithme, la fonction ou la procédure à tester ; le bloc où se trouve le curseur est proposé en premier. Les fonctions et procédures appelées par le bloc choisi sont ajoutées automatiquement. Le code est converti dans un script temporaire et exécuté dans un terminal intégré, où tu peux saisir les réponses aux Lire.

Python 3 doit être installé. L'extension utilise python.defaultInterpreterPath s'il est défini, sinon python3. Les tableaux simples et multidimensionnels sont convertis avec des indices pseudo-code conservant leurs bornes. Une construction non prise en charge affiche une erreur de conversion plutôt que de produire un résultat approximatif.

É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

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft