Home

Awesome

C++ Starting Kit pour Sublime Text : Le Guide

Annonce

AUX VUES DE L'AMPLEUR DE LA TACHE IL M'EST MALHEUREUSEMENT IMPOSSIBLE DANS UN PROCHE IMMEDIAT DE METTRE A JOUR CETTE DOCUMENTATION DANS SA VERSION FRANCAISE COMME CELLE ACTUELLEMENT DISPONIBLE EN ANGLAIS.

CETTE PAGE RESTE NEANMOINS OUVERTE MAIS NE SUBIRA PAS NON PLUS DE MISE JOUR.

SACHEZ QUE JE RESTE CEPENDANT DISPONIBLE PAR MAIL A L'ADRESSE SUIVANTE : will.alvidi@gmail.com

Ancienne annonce

A CAUSE DES CHANGEMENTS APPORTES PAR LA VERSION 0.2.6(voir la note relative) CETTE DOCUMENTATION N'EST PAS A JOUR MAIS CONTIENT TOUJOURS DES INFORMATIONS PERTINENTES. CELA SERA REGLE AUSSI VITE QUE POSSIBLE.

Apres l'installation

Vous devrez redémarrer Sublime Text apres l'installation afin de voir les changements.

Apres le redémarrage vérifiez :

Introduction

Ce guide est conçu pour les gens qui débutent le C++ et qui veulent utiliser un EDI léger comme Sublime Text l'est. Si vous suivez les instructions pas à pas vous aller obtenir des informations cruciales sur l'environnement de Sublime Text, le C++ Starting Kit et un véritable point de départ pour vos projets en C++.

Si vous avez un tout autre profil vous trouverez surement des informations utiles pour personnaliser votre environnement Sublime Text C++ ou autre.

Ce guide couvre les points clefs pour démarrer l'utilisation de Sublime Text 3 pour C++ sous Windows 7 x64. Les étapes sont quasiment les même selon votre version de Sublime Text ou votre système d'exploitation.

J'ai çréé ce projet car en tant que débutant en programmation je pense qu'il est plus facile d'avoir toutes la documentation centralisées et uniformisées.

J'espère sincèrement que vous trouverez ici des informations pertinentes.

Installation de Python

Pourquoi Python est nécessaire

Sublime Text 2 est basé sur Python 2.6(aussi compatible avec les versions supérieure jusqu'à la version 3) et Sublime Text 3 sur Python 3(ou supérieur).

Par défaut Python n'est pas installé sur les systèmes Windows et si vous voulez tirer le meilleur parti de Sublime Text, notamment les plugins empaquetés qui sont le coeur de cette application, vous devez avoir la bonne version de Python installé.

Pour le rendre fonctionnel vous devez :

Vous pouvez avoir plusieurs versions de Python installé.

Lisez entièrement la section ajouter un dossier aux chemins système qui couvre comment le faire avec MinGW-w64 et adaptez-le pour l'installation de Python.

Le chemin que vous aurez à ajouter à la fin de la manipulation est le dossier principal de Python, là ou réside le ficher python.exe.

Installer C++ Starting Kit

Manuellement

A partir de Package Control

Maintenant disponible

Utiliser C++ Starting Kit build system

Prérequis

Si vous voulez utliser le C++ Starting Kit build system, qui est en fait le fichier C++ - Starting Kit.sublime-build dans le paquet de C++ Starting Kit, pour compiler vos programmes dans Sublime Text vous devez combiner 5 éléments :

Installer MinGW-w64

Ceci devrait vous donner la page ci-dessous ensuite cliquez sur la page de téléchargement entourée sur l'image suivante.

MinGW-w64 project main page

MinGW-w64 project download page

La première est de choisir les options correctes pour cette installation. Changez l'architecture par défaut pour le x64 et gardez le reste comme tel. Ensuite cliquez sur le bouton Next.

MinGW-w64 project options

Pour la prochaine séquence d'installation vous devez spécifier un chemin pour votre installation et garder en tête que vous en aurez besoin plus tard. Je vous recommande de l'installer dans un emplacement plus pratique comme C:\MinGW\x64 car vous aurez surement plus tard besoin d'installer une autre version de MinGW et vous pourrez le faire proprement en ajoutant un nouveau dossier comme C:\MinGW\x86 par exemple.

Ajouter un dossier à vos chemins système

Comme cette partie est utile à l'installation de Python, vous pouvez cliquer ici pour retourner à la section Python.

Ajouter un dossier à vos chemins système permet à votre système de partager des programmes qui peuvent être appelé par d'autre programmes.

La commande g++, qui est en réalité le fichier g++.exe situé dans votre dossier MinGW-w64/bin, est requise par le C++ Starting Kit build system et dois être disponible dans vos chemins système pour permettre à Sublime Text d'y accéder. Pour ce faire suivez les étapes suivantes :

Ceci va vous donner une liste de dossiers vitaux pour votre système. Soyez vraiment vigilant avec le contenu à l'intérieur de ce champs. Je vous recommande de le copier-coller(Ctrl + A, pour tout sélectionner, Ctrl + C, pour copier ce que vous aurez sélectionné, ensuite Ctrl + V, pour coller ce qui aura été copié) dans un nouveau document dans un emplacement fiable, comme ça vous pourrez ramener le tout à son état d'origine si nécessaire.

Si vous suivez ce guide depuis le début vous devez ajouter à la fin de vos chemins système, à l'intérieur du champs, un point virgule ; directement suivi par C:/MinGW/x64/mingw64/bin.

Comprendre le C++ Starting Kit build system

Introduction

Les build systems dans Sublime Text sont dépendants des projets. Il est difficile d'en concocter un qui soit efficace pour tous les types de projet que vous rencontrerez. Le C++ Starting Kit build system et la documentation qui va suivre sont une introduction et un point de départ pour vos futurs Sublime build systems.

Je vous recommande de créer votre premier build system dans le dossier /User de Sublime Text :

La premiére partie de ce build system qui commence par "cmd" représente la fonction Build. La seconde, depuis "variants", définie la fonction Run.

Comme les processus de compilation pourrais à eux seule couvrir un guide entier je vais juste détailler la première ligne qui est la plus importante et vous rediriger vers la documentation officielle de MinGW-w64 et la documentation Non-officielle de Sublime Text pour améliorer vos connaissances :

Meilleur pratique : tester vos build systems avec l'invite de commande.

Les commandes dans le C++ Starting Kit build system sont reproductibles et testables dans l'invite de commande Windows. Testez vos build systems Sublime Text de cette maniére avant de les adapter à vos build systems personnalisés.

Quelques étapes sont nécessaire pour le faire :

Si vous lancé un build de votre programme avec ces commandes vous aurez comme résultat un ficher monProgramme.exe dans votre dossier qui peut être lancé en tapant son nom dans l'invite de commande suivi de Entrée ou en double cliquant sur le dit fichier dans votre dossier de travail.

Utiliser le C++ Starting Kit build system

Les commandes par défaut pour Build et Run avec le C++ Starting Kit build system sont :

Personnaliser votre jeu de couleurs(color scheme)

Si vous utilisez un jeu de couleurs par défaut ou téléchargé sur Internet vous devez allez devoir ajouter la scope list de C++ Starting Kit dans votre fichier de configuration *.tmTheme.

Une alternative recommandée est d'essayé le Oasis Theme spéciallement conçu pour.

Sinon vous pouvez jeter un oeil à ce qui suit. La partie suivante est conçue comme un enselbe d'astuces utiles pour personnaliser votre environnement Sublime Text.

Localiser le fichier de configuration de votre jeu de couleurs

Si vous voulez personnaliser un jeu de couleurs par défaut je vous recommande de le copier et de le renommer dans votre dossier Sublime Text/Data/Packages/User.

Changer votre jeu de couleurs

Trouver le nom d'un scope(<<<<<<<====== trouver le nom en français)

Chercher un scope dans votre ficher de configuration de jeu de couleurs

Ajouter un scope manquant dans otre ficher de configuration de jeu de couleurs

Si vous êtes sur qu'il vous manque un scope dans votre fichier *.tmTheme, qui contient votre jeu de couleurs, ajoutez les lignes suivantes et remplissez correctement les champs entre les tags(<tag>Votre spécification</tag>)

If you are sure that a scope is missing in your *.tmTheme file, which contain your color scheme, add the following lines and fill corretly the fields between the tags(<tag>Your specification</tag>) :

	<dict>
		<key>name</key>
		<string>Scope name</string> 		<!-- Enter a name for your scope here. -->
		<key>scope</key>
		<string>Scope definition</string> 	<!-- Enter your scopes here. (ex : keyword.ccpp) -->
		<key>settings</key>
		<dict>
			<key>fontStyle</key>
			<string></string> 				<!-- Choose a style (ex : italic, bold, italic bold) -->
			<key>foreground</key>
			<string></string> 				<!-- Choose a color (ex : #49a629) -->
		</dict>
	</dict>

La scope liste de **C++ Starting Kit

Arithmetic operators(keyword.operator.arithmetic.ccpp), Brackets(open.curly.bracket.ccpp, close.curly.bracket.ccpp,open.round.bracket.ccpp, close.round.bracket.ccpp, open.angle.bracket.ccpp, close.angle.bracket.ccpp, open.curly.bracket.ovr.ccpp, close.curly.bracket.ovr.ccpp), Block brackets(open.curly.bracket.block.ccpp, close.curly.bracket.block.ccpp), Punctuation(period.ccpp, coma.ccpp,semi_colon.ccpp), End of line semi colon(semi_colon.eol.ccpp)

Personnalisez votre définition syntaxique

Ce que vous devez savoir

Introduction

*.sublime-package dans votre dossier Sublime Text/Packages contient les définitions spécifiques des languages par défaut tout comme les thèmes par défaut, Theme - Default.sublime-package, et les jeux de couleurs par défaut, Color Scheme - Default.sublime-package.

La définition syntaxique est principalement définie par un fichier de configuration, *.tmLanguage, dans ces *.sublime-package.

Comment editer un *.sublime-package

Les paquets *.sublime-package comme C++ Starting Kit sont des archives *.zip. Si vous voulez modifer les fichiers à l'intérieur vous devez suivre les étapes suivantes :

Structure globale de CCpp.tmLanguage

Le fichier CCpp.tmLanguage est la définition syntaxique inclu dans le paquetC++ Starting Kit

Il est basé sur le fichier par défaut C++.sublime-package et ajusté comme suit :

Logique derrière CCpp.tmLanguage

Le fichier CCpp.tmLanguage a été codé avec une logique trés simple : un comportement principal est établi ensuite de petit bout de code sont ajouté pour améliorer les fonctionnalités et éviter les comportements indésirables.

Par exemple les accolades(curly brackets) ont été definies en tant que open.curly.bracket.ccpp et close.curly.bracket.ccpp. Ensuite open.curly.bracket.block.ccpp et close.curly.bracket.block.ccpp ont été ajouté pour recouvrir cette premiére définition et définir ce que l'on pourrait appeler le "block detection"(détection de blocks). Après tests il semble que quelques exceptions appraissent et elles sont corrigés en ajoutant une couche de code supplémentaire.

C++ Starting Kit logic

Si vous voulez suivre ce processus vous devez mettre vos comportements principaux en dessous, et pas le contraire. (voir l'exemple dessous)

C++ Starting Kit Syntax Definition Override

L'idée principale derrière cette approche est d'avoir une flexibilité et une aisance sur la maintenance du système sans pour autant avoir à tout casser.

Aller plus loin

Sur cette dernière partie je vous partage mes ressources pour approfondir vos connaissances, elles sont principalement toutes en anglais.

Gestion de projets sous Sublime Text

Cette vidéo est un bon point de départ pour la maitrise de la gestion des projets sous Sublime Text.

Plugins

La gestion de plugins est le coeur de Sublime Text je vous recommande chaudement de visiter régulièrement Package Control - Le site officiel pour découvrir, tester et contribuer à faire avancer les projets de la communauté.

Expressions régulières

Si vous souhaitez aller plus dans la définition syntaxique je vous recommande de vous attarder sur les expressions régulières. Voici trois ressources qui m'ont d'ailleurs été utiles pour C++ Starting Kit :