Remarque: Permettez-moi de vous rappeler que QBS a été développé par la société Qt , qui a par la suite abandonné le développement de ce produit et l'a donné à la communauté. Pour le moment, QBS se développe activement et de nouvelles versions sortent. C'est moi au cas où il n'y aurait pas de commentaires "stupides" sur cette partition. Pour ainsi dire, parsemant le I.
Jusqu'à récemment, le système de construction QBS n'était pris en charge que dans l' IDE QtCreator .
Mais maintenant, il est possible d'utiliser ce merveilleux système de construction (je ne décrirai pas pourquoi il est merveilleux ici) avec l'éditeur open source de Visual Studio Code .
Littéralement, il y a un peu plus d'un mois, les membres de la communauté QBS ont lancé une idée: "pourquoi ne pas créer un plugin pour Visual Studio Code ?" Hmm, en effet, Visual Studio Code lui - même est répandu dans une certaine partie de l'humanité, et QBS dispose d'une API de type JSON spécialement conçue pour simplifier l'intégration avec n'importe quel IDE . Et ... le travail a commencé à bouillir.
À la suite de ce travail, l'extension QBS pour Visual Studio Code est née , qui possède déjà les fonctionnalités suivantes:
- Ouvrez le répertoire avec les fichiers de projet.
- Sélectionnez le projet requis pour la construction (s'il y a plusieurs fichiers dans le répertoire).
- Sélectionnez un profil pour l'assemblage (analogue d'un kit avec des compilateurs).
- Sélectionnez la configuration de construction ( débogage / version ).
- Sélectionnez un produit spécifique à créer (ou tous les produits).
- Sélectionnez un produit spécifique à exécuter dans le terminal.
- Sélectionnez un produit spécifique à déboguer.
- La mise en évidence "intelligente" automatique du code C / C ++ fonctionne.
- La mise en évidence de base pour les fichiers * .qbs fonctionne .
- Une arborescence de projet avec tous les artefacts est en cours de construction.
Remarque: pour le moment, cette extension n'a pas encore été publiée sur le marché de Visual Studio Code . un certain temps est encore nécessaire pour la révision.
Alors, regardons de plus près comment utiliser cette extension.
Installer les dépendances
Il décrit le processus d'installation de base pour QBS et Visual Studio Code .
- Vous devez d'abord télécharger ou installer QBS lui - même , version 1.16 ou supérieure. Pour ce faire, vous pouvez utiliser le référentiel officiel ou l'installer à partir des référentiels.
Remarque: je ne décrirai pas ici le processus d'installation de QBS .
- Ensuite, vous devez configurer les profils avec lesquels QBS compilera les projets. La procédure à suivre est décrite en détail dans la documentation .
Pour une configuration rapide, vous pouvez demander à QBS de détecter automatiquement tous les compilateurs installés et de créer des profils:
qbs setup-toolchains --detect
UI config-ui, :
qbs config --list profiles
: , PATH.
- , QBS .
: *.vsix
- , Visual Studio Code, QBS , ctrl+ shift + p «Extensions: Install from VSIX...» *.vsix .
Vous devez maintenant configurer l'extension installée pour que QBS fonctionne. Pour ce faire, vous devez ouvrir les paramètres de cette extension en sélectionnant "Fichier -> Préférences -> Extensions" . Sélectionnez ensuite "QBS" , cliquez sur le bouton "Gérer" et sélectionnez "Paramètres d'extension" .
- Ensuite, vous devez spécifier le chemin d'accès au fichier exécutable QBS dans le champ "Chemin QBS" , par exemple:
Remarque: utilisez la barre oblique / comme séparateurs de chemin .
- Le reste des paramètres peut être laissé "tel quel" pour le moment.
Ouvrir un projet
Pour ouvrir un projet, vous devez sélectionner le répertoire dans lequel se trouve le fichier de projet * .qbs . Pour ce faire, sélectionnez "Fichier -> Ouvrir le dossier" et sélectionnez le répertoire souhaité.
Remarque: Cela semble être une telle fonctionnalité de cet éditeur.
Une fois le répertoire sélectionné, l' extension QBS est automatiquement activée et démarre la session QBS . L'état actuel de la session sera affiché en bas du bouton "QBS: démarré" de la barre d'outils de l'éditeur:
Ensuite, l'extension listera tous les fichiers de projet disponibles * .qbsdans ce répertoire et définira le premier projet rencontré comme projet par défaut. Le nom de fichier du projet actuellement actif sera affiché en bas du bouton correspondant sur la barre d'outils de l'éditeur:
Remarque: L'utilisateur peut cliquer sur ce bouton et sélectionner un autre fichier de projet dans ce répertoire dans la liste déroulante.
De plus, l'extension installera par défaut le premier profil disponible, définira la configuration de construction sur débogage et démarrera l'analyse automatique du projet pour créer le graphique de construction.
La progression de l'analyse (progression en pourcentage) sera affichée dans une notification contextuelle en bas à droite de l'écran:
Remarque: toute la progression des opérations telles que l'analyse, la construction, le nettoyage sera affichée dans ces messages contextuels.
De plus, l'extension crée deux fenêtres de «sortie» pour afficher les messages actuels:
- Sortie de compilation QBS - Affiche les messages des opérations de base d'analyse, de construction et de nettoyage:
- Sortie de message QBS - affiche les messages de "service" (par exemple, à partir du code JS des modules QBS):
Une fois la numérisation du projet terminée avec succès, vous pouvez basculer vers l'arborescence du projet fournie par l'extension. Pour ce faire, cliquez sur le bouton "QBS" dans le panneau de gauche de l'éditeur:
Remarque: Dans ce cas, l'arborescence du projet affiche tous les sous-projets, produits, groupes et artefacts fournis par QBS après avoir scanné le projet.
Remarque: L'éditeur affiche également le répertoire complet du projet après son ouverture, mais ce n'est pas l'arborescence fournie par cette extension, c'est une fonction intégrée de l'éditeur lui-même.
Construisez le projet
Pour créer un projet, vous devez sélectionner le profil, la configuration et le produit souhaités à créer.
- La sélection d'un profil se résume à cliquer sur le bouton approprié en bas de la barre d'outils de l'éditeur et à sélectionner l'élément souhaité dans la liste des profils disponibles:
- La sélection d'une configuration se réduit à cliquer sur le bouton correspondant en bas de la barre d'outils de l'éditeur et à sélectionner l'élément souhaité dans la liste des configurations disponibles:
- La sélection d'un produit se résume à cliquer sur le bouton approprié en bas de la barre d'outils de l'éditeur et à sélectionner l'élément souhaité dans la liste des produits disponibles:
Remarque: L'utilisateur peut sélectionner [tout] pour créer tous les produits du projet.
Pour démarrer la construction elle-même, l'utilisateur peut cliquer sur le bouton "Construire" en bas de la barre d'outils de l'éditeur:
Remarque: Le processus de construction sera affiché à la fois dans la notification déroulante et dans la fenêtre de message "Sortie".
Choisir un produit à exécuter ou à déboguer
Pour exécuter ou déboguer un produit, vous devez d'abord le sélectionner. Pour ce faire, cliquez sur le bouton correspondant en bas de la barre d'outils de l'éditeur et sélectionnez le produit souhaité dans la liste des produits disponibles:
Dans ce cas, si le produit est déjà compilé et que son fichier exécutable existe, alors les boutons Exécuter et Déboguer seront de couleur verte:
De plus, lorsque en survolant le produit en cours de lancement, une info-bulle s'affiche contenant le chemin complet vers le fichier exécutable du produit:
Lancement du produit sélectionné
Pour démarrer le produit, il suffit de cliquer sur le bouton "Exécuter" en bas de la barre d'outils de l'éditeur:
Le produit sera lancé dans le terminal "QBS Run" , qui affichera tous les messages de débogage de l'application en cours d'exécution:
Déboguer le produit sélectionné
Avant de déboguer le produit, vous devez créer une configuration de débogage, qui doit être stockée dans le fichier launch.json .
Remarque: Plus de détails sur le format de ce fichier peuvent être trouvés dans la documentation officielle de l' éditeur.
Par défaut, l' extension QBS actuelle attend ce fichier dans le répertoire .vscode / à la racine du projet ouvert. Mais ce chemin vers le fichier launch.json peut être modifié par l'utilisateur dans les paramètres du plugin.
Par exemple, lors de l'utilisation du débogueur MSVC, ce fichier peut contenir le contenu suivant:
{
"version": "0.2.0",
"configurations": [
{
"name": "C++ Debugger (Windows)",
"type": "cppvsdbg",
"request": "launch",
"externalConsole": false
}
]
}
Remarque: La propriété externalConsole doit être définie sur false si nous voulons voir les messages de débogage d'application dans la fenêtre du débogueur.
Remarque: ce fichier peut avoir plusieurs configurations pour les mêmes débogueurs ou différents (tels que MSVC, GDB, LLDB).
Une fois le fichier launch.json créé et copié à l'emplacement souhaité, vous devez sélectionner le débogueur souhaité dans la liste en cliquant sur le bouton correspondant en bas à droite de la barre d'outils de l'éditeur:
vous pouvez maintenant définir un point d'arrêt dans le code source du produit sélectionné et cliquer sur le bouton "Déboguer" en bas de la barre d'outils de l'éditeur:
après cela, vous pouvez profiter du débogage:
Conclusion
Bien sûr, cette revue ne couvre pas certains autres aspects de l'utilisation de l'éditeur (par exemple, l'utilisation des commandes), et ne fournit pas non plus d'explication sur les options de configuration de QBS . Vous pouvez en savoir plus à ce sujet en lisant la documentation fournie avec l'extension et / ou la documentation QBS :
- Documentation QBS : doc.qt.io/qbs/index.html
- Documentation de l'extension: github.com/denis-shienkov/vscode-qbs/tree/master/docs
- Code source de l'extension: github.com/denis-shienkov/vscode-qbs
- Versions d' extension: github.com/denis-shienkov/vscode-qbs/releases
- Bogue du suivi des extensions: github.com/denis-shienkov/vscode-qbs/issues
En conclusion, je tiens à dire un grand merci à tous ceux qui m'ont aidé à tester cette extension et suggéré de nouvelles idées.
De plus, nous vous encourageons à envoyer toutes les erreurs, suggestions, corrections au bug tracker .