Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

VSCodium

  1. Ouvrez VSCodium.

Dans la suite, nous allons voir quelques fonctionnalités utiles de VSCodium et de ses extensions.

Ouvrir un projet

  1. Cliquez sur File > Open Folder et ouvrez votre dépôt Git. Vous pouvez faire confiance aux auteurs de ce dépôt.

Vous devez voir votre dépôt avec les différents TPs affichés dans l’onglet Explorer, en haut de la barre latérale à gauche.

  1. Si VSCodium vous demande si vous souhaitez effectuer régulièrement un git fetch, vous pouvez répondre oui. Si vous avez répondu non, ce n’est pas grave : il faudra penser à le faire manuellement de temps en temps.

Couleurs

Vous pouvez choisir le thème de couleur qui vous convient pour l’éditeur et votre code en allant dans File > Preferences > Themes > Color Theme.

Explorer && Editor

Vous pouvez créer des fichiers et des répertoires avec les icônes qui apparaissent lorsque vous passez la souris sur le nom du projet en haut de l’onglet Explorer.

  1. Créez un répertoire TP10/ dans votre projet.

  2. Créez un fichier dans ce nouveau répertoire avec le contenu que vous souhaitez.

  3. Observez que vous avez une minimap à droite de votre écran qui permet une navigation rapide dans votre code. Elle affichera aussi les erreurs et les nouvelles modifications apportées au code. Si vous ne la voyez pas, vous pouvez la faire apparaître en cliquant sur View > Appearance > Minimap.

  4. Vous pouvez aussi diviser votre écran en deux pour voir plusieurs fichiers en même temps avec le bouton Split Editor Right (carré séparé en deux rectangles en haut de la minimap).

  1. Si vous avez des lignes de code longues qui ne tiennent pas sur une seule ligne à l’écran, vous pouvez utiliser l’option View > Word Wrap (ou Alt + Z).

LSP

En bas de votre barre latérale à gauche, vous trouverez l’onglet Extensions.

  1. Si vous voyez l’erreur Error while fetching extensions. XHR failed sous Debian à l’IUT, consultez le soutien technique sur VSCodium pour configurer le proxy.

  2. Installez l’extension clangd de llvm-vs-code-extensions.

Pour fonctionner correctement, clangd doit connaître la manière dont votre projet est compilé. Pour cela, vous devez lui fournir un fichier compile_flags.txt.

  1. Ajoutez le fichier compile_flags.txt suivant dans TP7/, au même niveau que le makefile.

compile_flags.txt
-xc++
-std=c++17
-Iinclude
  1. Ajoutez le fichier compile_flags.txt suivant dans TP8/ et TP9/, au même niveau que le makefile.

compile_flags.txt
-xc++
-std=c++17
-Iinclude
-Itests/include
  1. Regardez le contenu des TPs précédents (TP7, TP8 et TP9). Si vous voyez des erreurs (soulignées en rouge), rechargez l’extension clangd en allant dans Extensions > Installed > clangd, puis cliquez sur Disable, ensuite Restart Extensions, puis Enable.

  1. Ouvrez le fichier TP8/source/fizz-buzz.cpp dans l’éditeur de VSCodium.

  2. Survolez les headers soulignés : vous devez voir où se trouve le header correspondant ainsi que ses méthodes utilisées/implémentées dans le .cpp.

  3. Survolez le nom de la classe FizzBuzz : vous devez voir dans quel header elle est déclarée ainsi que sa documentation.

  4. Survolez le nom de la fonction fizzBuzz et observez la documentation.

  1. Ouvrez le fichier TP8/include/fizz-buzz.h, double-cliquez sur fizzBuzz, puis faites un clic droit et choisissez Go to Definition (ou F12) : vous serez redirigé vers sa définition dans TP8/source/fizz-buzz.cpp.

  2. Vous pouvez faire le chemin inverse depuis fizzBuzz.cpp avec Go to Declaration.

  3. Ouvrez TP7/source/main.cpp et observez que les objets et fonctions avec arguments affichent maintenant le nom de l’argument avant sa valeur (par exemple title:).

Cela montre aussi l’importance de bien nommer ses variables.

  1. Ajoutez une ligne dans int main() commençant par library. et observez l’auto-complétion proposée.

  2. Si vous ne terminez pas la ligne par ;, une erreur apparaît (soulignée en rouge). Survolez-la pour voir le message.

  3. Si vous n’enregistrez pas la modification, un point blanc apparaît à côté du nom du fichier. Il disparaît après sauvegarde (Ctrl + S).

Terminal

  1. Ouvrez un terminal intégré via Terminal > New Terminal.

Vous verrez une barre apparaître en bas. Les onglets utiles pour l’instant sont Terminal et Problems.

  1. Si une erreur est présente, vous pouvez la voir dans l’onglet Problems.

  2. Le terminal intégré fonctionne comme un terminal classique, et vous pouvez en ouvrir plusieurs simultanément.

Search && Replace

Une fonctionnalité utile est la recherche et le remplacement de texte.

Dans l’onglet Search (loupe dans la barre latérale), vous pouvez effectuer une recherche avec remplacement.

  1. Recherchez fizzBuzz.

  2. Cliquez sur une occurrence pour voir le code correspondant.

  3. Activez Match Case (Aa) pour distinguer fizzBuzz de FizzBuzz.

  4. Si vous remplissez le champ Replace, vous verrez un aperçu du remplacement avant de l’appliquer.

Build, Run && Clean

Dans les IDEs que vous avez utilisés jusqu’ici, vous pouviez compiler, exécuter et nettoyer votre code à l’aide de boutons quelque peu “mystérieux”.

Nous allons maintenant lever le voile et construire nous-mêmes ces boutons dans VSCodium, qui exécuteront les commandes make, make run et make clean.

Vous pouvez bien sûr toujours utiliser ces commandes directement dans le terminal.

En général, un projet possède une seule racine avec un fichier de compilation. Cependant, comme notre dépôt contient plusieurs mini-projets, nous allons créer des tâches génériques capables de prendre des arguments.

  1. Créez le répertoire .vscode/ à la racine du dépôt (au même niveau que les répertoires TPX/) s’il n’existe pas déjà.

  2. Ajoutez .vscode/ à votre fichier .gitignore.

  3. Créez le fichier tasks.json dans le répertoire .vscode/ avec le contenu suivant :

tasks.json
{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build",
            "type": "shell",
            "command": "make",
            "options": {
                "cwd": "${workspaceFolder}/${input:tp}"
            }
        },
        {
            "label": "Run",
            "type": "shell",
            "command": "make run",
            "options": {
                "cwd": "${workspaceFolder}/${input:tp}"
            }
        },
        {
            "label": "Clean",
            "type": "shell",
            "command": "make clean",
            "options": {
                "cwd": "${workspaceFolder}/${input:tp}"
            }
        }
    ],
    "inputs": [
        {
            "id": "tp",
            "type": "pickString",
            "description": "Select the TP",
            "options": ["TP7", "TP8", "TP9"]
        }
    ]
}
  1. Installez l’extension Task Buttons de spencerwmiles. Cette extension permet d’ajouter des boutons liés aux tâches dans la barre de statut en bas de l’écran.

  2. Créez un fichier settings.json dans .vscode/ avec le contenu suivant :

settings.json
{
    "VsCodeTaskButtons.tasks": [
        {
            "label": "🔨 Build",
            "task": "Build"
        },
        {
            "label": "▶️ Run",
            "task": "Run"
        },
        {
            "label": "🧹 Clean",
            "task": "Clean"
        }
    ]
}
  1. Vous devez voir les boutons apparaître en bas à gauche de votre écran. Cliquez dessus pour les tester et observez leur fonctionnement.

Maintenant que vous avez compris ce qui se cache derrière les boutons “magiques” de vos IDEs, nous allons créer un nouveau bouton “🧪 Tests” qui exécutera make tests dans le bon répertoire.

  1. Ajoutez une tâche “Tests” dans tasks.json avec les bons paramètres et un nouvel input tpWithTests.

  2. Ajoutez un input avec l’identifiant tpWithTests et définissez comme options uniquement les TPs qui contiennent des tests (TP8 et TP9).

  3. Dans settings.json, ajoutez un nouveau bouton avec le label “🧪 Tests” dans "VsCodeTaskButtons.tasks".

  4. Testez votre nouveau bouton “🧪 Tests”.

Bonus : autres extensions utiles

Si vous êtes en avance, vous pouvez commencer le TP suivant sur l’intégration de Git dans VSCodium, ainsi que sur les bases du débogage et l’utilisation des outils de débogage intégrés aux IDEs.