💼 Workshop organised to teach students about llvm tools
Ce workshop traite sur l'intgration des outils clang dans vscode. Il peut quand mme vous aider vous familiariser avec les outils qu'offrent la suite clang si vous utilisez un IDE diffrent.
N'hsitez pas star le repo si vous avez aim ce workshop!
Droulement du workshop:
git clone [email protected]:ajnart/workshop-llvm.git workshop
cd workshop
Tout d'abord nous allons installer clangd, l'aide de la page d'installation
Vous pouvez vrifier l'installation l'aide de clangd --version
Ainsi que l'extension vscode clangd ou de l'extension pour votre IDE l'aide de la commande (ctrl+p):
ext install llvm-vs-code-extensions vscode-clangd
Clang-format devrait tre install depuis le paquet install dans l'tape prcdente, pour le vrifier, faites: clang-format --version
Clang-format devait galement tre install.
On vrifie a grce : clang-tidy --version
Nous allons galement installer B-ear afin de gnrer une base de donne de compilation de nos projets. Bear crera un compile_commands.json
qui permettra clangd de mieux linter votre code.
L'extension clangd recommande de dsinstaller l'extension C/C++ pour ne pas avoir de duplications de recommandations
Dans cette tape, nous allons gnrer un fichier .clang-format qui va tre utilis pour dire clang-format
quelle norme utiliser pour linter vos fichiers.
Pour se faire, utilisez un gnrateur en ligne
Sauvegardez votre .clang-format dans le dossier de ce workshop.
Clang-format va chercher le fichier .clang-format le plus proche du current working directory en remontant rcursivement dans vos fichiers.
Maintenant, faites en sorte que l'extension clangd soit le formateur de code par dfaut dans vscode:
ctrl+p format document with...
ou alors en ditant son fichier settings.json:
"[cpp]": {
"editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
},
Vous devriez maintenant tre en mesure de formater votre code l'aide de votre config .clang-format
Il faut faire la commande bear -- \build command\
pour crer la base de donne de compilation pour clangd.
Dans notre exemple : bear -- make
gnrera un fichier compile_commands.json
qui sera ensuite utilis pour linter vos fichiers.
En mettant votre curseur sur la fonction divide, clangd devrait vous montrer le prototype de la fonction
Nous allons maintenant configurer clang-tidy pour avoir des recommandations sur notre code.
Crer un fichier .clang-tidy
contenant:
Checks: "
*,
-fuchsia*,
"
Cette configuration active tout les checks par dfaut, il faut ensuite dsactiver manuellement certains checks la main en rajoutant une ligne sous la forme: -\glob\,
Pour voir tout les checks disponibles, rendez vous ici
Comme vous pouvez le voir sur le gif ci-dessous, grce clangd il est trs facile de rgler les erreurs basiques dans votre code :
En fonction de votre configuration clang-tidyn vous aurez des recommendations affiches dans l'onglet problems en bas de la fentre vscode:
Nous allons maintenant s'intresser au dossier .github
pour rajouter des workflows grce aux github actions
Tout d'abord, crer un fichier CI.yml
pour crer une action il faut que cette action:
Cette action va maintenant lancer un docker utilisant l'image docker epitech
L'indentation de cette liste correspond l'indentation que vous aurez dans votre fichier yml
J'espre que mon workshop vous a plu. Si vous voulez aller plus loin vous pouvez:
Made with by Thomas "Ajnart" Camlong