Pourquoi perdre du temps à réécrire des garde-fous de header ?

Quand on code en C ou C++, chaque fichier .h doit être protégé avec un header guard (#ifndef, #define, #endif) pour éviter les inclusions multiples.
On a tous déjà fait du copier-coller un peu mécanique… mais VSCode permet d’automatiser ça en un snippet ultra simple.

Le snippet magique

Voici un exemple de snippet à ajouter dans vos User Snippets VSCode (menu Preferences > User Snippets → choisir cpp.json):

"C C++ Header": {
    "scope": "c, cpp",
    "prefix": "header",
    "description": "Add #ifndef, #define and #endif",

    "body": [
        "#ifndef ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",
        "#define ${TM_FILENAME_BASE/(.*)/${1:/upcase}/}_H",
        "",
        "$0",
        "",
        "#endif"
    ]
}

Comment ça marche ?

  • Tapez simplement header dans un fichier .h
  • Appuyez sur Tab → VSCode génère automatiquement :
#ifndef MONFICHIER_H
#define MONFICHIER_H

// Votre code ici

#endif

Le nom du fichier est repris automatiquement et converti en majuscules. 🚀

Gain de temps & de rigueur

  • Plus besoin d’écrire les guards à la main
  • Uniformité garantie sur tous vos headers
  • Moins d’erreurs d’inclusion multiple

Un petit snippet, un gros confort au quotidien.