Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Bien, maintenant que vous avez installé Code::Blocks il ne vous reste plus qu'à vous en servir... oui, mais comment ? Dans ce chapitre, je vais donc vous faire découvrir les principales fonctions de l'interface de ce dernier.
Ce chapitre a donc pour but de vous "mettre dans le bain", en effet, on peut vite passer à côté de quelques petites choses qui sont pourtant bien utiles...
Y'a pas à dire ! Pour moi, l'interface de Code::Blocks est vraiment très complète et bien faite. Alors bien sûr ce n'est pas quelque chose de bien incroyable mais elle est pleine de simplicité et très ergonomique.
Pour ceux qui n'aurait pas encore installé Code::Blocks, voici l'interface :
Ça change de l'ancienne version hein

?
Bien, nous allons pouvoir commencer à voir à quoi servent ces divers boutons.
Les barres d'outils
Elles sont au nombre de quatre mais il est inutile de vous expliquer à quoi sert la première, vous le découvrirez vous-même.
Commençons par la deuxième barre d'outils :
Cette barre n'est pas d'une utilité formidable mais peut quand même servir... le menu de droite vous permet d'accéder très facilement à une fonction se trouvant dans le fichier actuellement ouvert, le menu de gauche, lui, permet de voir dans quelle classe nous sommes situé dans le fichier actuellement ouvert (ne vous étonnez pas si vous ne savez pas ce qu'est une classe, vous ne l'avez peut-être pas encore vu dans le tuto sur le C++).
La troisième barre d'outils est extrêmement utile puisque c'est celle qui contrôle les options de compilation :
De gauche à droite :
- Ce premier bouton sert à compiler le projet actuellement sélectionné
- Permet d'exécuter le projet une fois compilé
- Compilation puis exécution du programme
- Recompile tous les fichiers du projet y compris ceux qui n'ont pas été modifiés
- Permet d'annuler une compilation (par exemple si vous avez une compilation infinie dûe à une erreur dans votre code)
- Ce menu sert à choisir la cible de construction souhaitée (j'y reviendrai dans le chapitre suivant)
Enfin la dernière barre d'outils sert à utiliser le debugger, malheureusement mes connaissances ne sont que très limitées dans ce domaine je ne pourrais donc pas vous fournir d'explications sur l'utilisation de cette barre d'outils.
Mais puisque le debugger ne reste que très peu utilisé chez les débutants alors cela ne devrait pas vous poser de problèmes, de plus son utilisation est quasiment identique sur n'importe quel IDE

.
Les menus
Ce qui était présenté ci-dessus est un peu rébarbatif mais maintenant ça va être un peu plus intéressant. Je ne sais pas si vous y avez vraiment fait attention mais dans l'interface vous possédez trois menus. Deux d'entre eux sont très importants et il vous sera donc utile de savoir vous en servir. Commençons les présentations :
Le menu de "management"
Ce menu est le plus utile de tous. Il vous permet d'ajouter, supprimer des fichiers de vos projets, ainsi que de les paramètrer, etc...
Vous remarquerez qu'il y a plusieurs onglets, le premier concerne vos projets, le deuxième liste toutes les fonctions, classes (et même plus !) que vous avez pu créer dans les fichiers de votre projet, le troisième n'est pas vraiment utile je n'en parlerai donc pas.
Nous allons bien entendu commencer par ce premier onglet nommé "Projects". Vous pouvez y voir toute une arborescence qui commence par "Workspace", il s'agit de votre espace de travail. En faisant un clique droit dessus vous pourrez le renommer, l'enregistrer, y rechercher un fichier, etc...
Juste en dessous vous pouvez voir deux projets dont un qui est marqué en gras :
cela signifie que c'est le projet actif ! Autrement dit, c'est le projet qui sera compilé si vous activez cette dernière.
Dans chaque projet est listé les fichiers qui lui sont associés, ceux-ci sont classés en fonction de leur type. Si vous faites un clique droit sur un de vos projets vous pourrez alors l'activer, le fermer, ajouter des fichiers, le compiler, accéder à ses propriétés, etc...
Et enfin une dernière chose : vous pouvez supprimer un fichier de votre projet en faisant un clique droit sur celui-ci.
Passons maintenant au deuxième onglet nommé "Symbols", comme je l'ai expliqué précédemment, il liste (à peu près) tout ce qui est essentiel à votre projet à savoir les fonctions, les classes, etc...
Dans cet onglet, vous pouvez voir un listage des fonctions et variables globales, des classes et diverses autres choses. Je ne vais pas m'éterniser sur cet onglet mais je tiens au moins à vous apprendre le code des symboles qui sont affichés parce que ce n'est pas évident à comprendre du premier coup :
- Un carré vert seul est une variable globale
- Un carré rouge est une variable privée
- Un dièse est une constante de préprocesseur
- Une icône jaune avec écrit "Type def" est un... type def
!
- Un carré vert associé à un '+' est un constructeur
- Un carré vert associé à un '-' est un destructeur
- Un carré vert entouré de parenthèses est une fonction publique
- Un carré rouge entouré de parenthèses est une fonction privée
Bien sûr, si il n'y avait qu'un listage ce ne serait alors pas très utile... c'est pourquoi lorsqu'on fait un clique droit sur un symbole vous pouvez alors accéder rapidement à sa déclaration ou son implémentation.
Voilà, nous en avons terminé avec ce satané menu (j'en avais marre d'expliquer son fonctionnement

). On ne dirait pas mais il sera très utile pour tous vos projets.
Les fichiers ouverts
Peu utile, il vous permet d'avoir un aperçu de tous les fichiers qui sont actuellement ouverts.
Je me demande d'ailleurs à quoi ça sert de l'expliquer mais bon... je suis assez perfectionniste
.
Les messages de compilation et plus...
Bon, là je ne tiens pas à vous expliquer ce que veulent dire les éventuels messages d'erreur qui peuvent apparaître car ce n'est pas mon rôle, je vais ici vous décrire à quoi servent ces différents onglets. Même si c'est très rapide c'est quand même important

.
Code::Blocks : C'est un peu un historique de tout ce que vous avez demandé de faire à ce dernier. Par exemple si vous avez ouvert un projet il sera alors écrit :
Code : Console | Opening chemin_du_projet: done |
Code::Blocks Debug : C'est toujours un historique mais cette fois celui-ci s'adresse surtout à ceux qui modifient le code source de Code::Blocks. En effet, dans cet onglet sont listé toutes les actions effectuées par Code::Blocks comme la mise en cache des fichiers de votre projet. Mais bon, comme nous ne modifions pas le code source de ce logiciel cela ne nous concerne pas

.
Search results : Affiche les résultats d'une recherche
dans plusieurs fichiers uniquement (Search -> Find in files...).
ClearCase : Cette fonction est toute récente je n'ai donc pas encore eu le temps d'étudier ni son utilité, ni son fonctionnement. Dès que j'aurais fini mes recherches ainsi que mes tests, je vous ferais alors un résumé (toutefois, si c'est intéressant)

.
Build log : Cet onglet affiche l'historique des opérations de la dernière compilation.
Build messages : Cet historique est quasiment identique au précedent sauf qu'il n'affiche que les messages d'erreurs et rien d'autre. L'avantage de cet onglet c'est qu'en double-cliquant sur le message d'erreur on arrive à la ligne correspondante, l'inconvénient c'est qu'il faut aller dans le "Build log" si on veut faire Copier/Coller du message d'erreur en question :/ .
Debugger : Pas bien compliqué à comprendre. C'est l'historique des opérations du debugger.
Voilà, c'est terminé pour ce dernier menu, alors je suis quasiment sûr que vous vous ne servirez même pas de la moitié de ces onglets mais au moins vous saurez à quoi ils servent

.
L'autocomplétion... What is that

?
Citation : WikipédiaEn informatique, le complètement ou complètement automatique (on trouve aussi complétion et autocomplétion, qui sont des anglicismes) est une fonctionnalité permettant à l'utilisateur de limiter la saisie d'informations avec son clavier. De nombreux logiciels possèdent cette fonctionnalité : les éditeurs de texte prévus pour l'édition de code source, les traitements de texte ou encore les navigateurs Web.
Bon, je crois que c'est clair

... Mais en fait qu'est-ce que ça vient faire là ? C'est très simple : Code::Blocks possède cette faculté !
Alors quand je parle d'autocomplétion dans Code::Blocks il ne s'agit pas de vous aider à écrire les mots "int" ou bien "char"

, mais de compléter automatiquement les noms de variables ou bien encore vous rappeller ce que ce sont les paramètres d'une fonction, etc... et je peux vous dire que ce n'est pas rien ! En plus d'être pratique, cette fonction est puissante !
Ne venez pas me dire que ça ne fonctionne pas... en effet, il faut enregistrer ses fichiers si on veut que l'autocomplétion fonctionne car Code::Blocks analyse le code source une fois que celui-ci est enregistré !
Alors quelles sont les différentes possibilités de l'autocomplétion ? Eh bien pour vous en faire un résumé je vais vous parler de ma propre expérience : il m'est souvent arrivé d'écrire des noms de variable assez long comme
nomVariableNumeroUne et si on s'en sert fréquemment il est assez contraignant de la réécrire à chaque fois surtout avec les majuscules.
C'est donc là que l'autocomplétion est utile, il vous suffit d'écrire 3 lettres de la variable en question et à ce moment là vous avez un menu qui apparaît juste en dessus de votre curseur et qui vous donne la liste des variables qui peuvent correspondre, voilà un exemple :
À ce moment là, il vous suffit alors de vous diriger avec les flèches pour choisir ce qui correspond. C'est pratique hein

?
Ce n'est pas tout ! Si vous créez une fonction avec dix paramètres (soyons fous) à entrer alors ça va être dur de vous en souvenir ! Dans ce cas là, une fois la déclaration effectuée et enregistrée, à chaque fois que vous ouvrirez la première parenthèse de la fonction vous aurez alors un résumé des paramètres à entrer et je peux vous dire que c'est vachement utile !
Alors bien sûr l'autocomplétion ne se limite pas à cela, il y a aussi de quoi faire avec les classes et tout ça. Seulement, je ne peux pas vous faire un résumé complet sinon j'en aurais jamais fini, je vous ai donc indiqué le plus important mais le reste vous le découvrirez vous même

.