Visual Studio Code est un éditeur de code extensible développé par Microsoft pour Windows, Linux et macOS.
C’est un éditeur de code multi-plateforme, open source et gratuit, supportant une dizaine de langages (C/C++, Java, PHP, Python, Javascript, …).
Liens : Visual Studio Code
Liens :
Installer Visual Studio Code :
$ curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
$ sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install code
Remarque : comme avec tout éditeur, il est impératif de jeter un coup d’oeil aux raccourcis clavier proposés, lire https://code.visualstudio.com/docs/getstarted/keybindings et https://code.visualstudio.com/docs/getstarted/tips-and-tricks.
La prise en charge des langages C/C ++ pour Visual Studio Code est fournie par une extension Microsoft C/C ++ qui permet le développement multi-plateformes sous Windows, Linux et macOS.
Démarrer Visual Studio Code : aller dans File
→ Preferences
→ Extensions
(Ctrl+Shift+X
).
Rechercher : c++
et cliquer sur Install
.
Le paramétrage de l’indentation est la première chose à faire :
Aller dans File → Preferences → Settings :
Créer un répertoire de travail :
$ mkdir src
Dans Visual Studio Code : aller dans File
→ Add Folder to Workspace...
: sélectionner le répertoire src
et cliquer sur Add
Il est possible d’exécuter des commandes du shell directement dans le panneau Terminal
:
Cliquer sur le fichier main.cpp
et l’éditer :
On édite un premier programme :
#include <iostream>
using namespace std;
int main()
{
cout << "Hello world !" << endl;
return 0;
}
VS Code permet de définir des “tâches” que l’on va utiliser pour fabriquer l’exécutable puis le lancer.
Dans Terminal
→ Configure Tasks...
ou Configure Default Build Task...
puis choisir Create tasks.json file from template
.
Le fichier tasks.json
définit l’ensemble des tâches :
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "build release",
"type": "shell",
"command": "g++",
"args": [
"main.cpp",
"-o",
"main"
],
"problemMatcher": [
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "build debug",
"type": "shell",
"command": "g++",
"args": [
"-g",
"main.cpp",
"-o",
"main"
],
"problemMatcher": [
]
},
{
"label": "run",
"type": "shell",
"command": "./main",
"dependsOn": [
"build release"
],
"problemMatcher": [
]
}
]
}
Explications :
label
type
, ici shellcommand
, les arguments seront définis un par un dans la clé args
run
qui entraînera l’exécution de la tâche Buildbuild release
comme la tâche par défaut pour la commande Run Build Task...
(Ctrl+Maj+B
)Dans Terminal
→ Run Task...
puis choisir run
(ou build
).
au final, l’arborescence du répertoire src
:
À partir du Terminal
, il est possible d’ouvrir un fichier ou de voir les différences entre deux fichiers :
$ code src/main.cpp
$ code --diff src/main.cpp src/main2.cpp
VS Code propose une interface de débogage vers gdb
.
On commence par ajouter une configuration :
Le fichier launch.json
définit la session de débogage. Il faut au moins renseigner le chemin complet du programme dans la clé program
:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "debug g++",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/main",
"args": [],
"stopAtEntry": true,
"cwd": "${fileDirname}/",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"preLaunchTask": "build debug",
}
]
}
Ensuite, aller dans Debug
→ Start Debugging
(F5
) :
Il est possible de modifier la configuration spécifiquement à un répertoire de travail.
Aller dans View
→ Command Palette
(Ctrl+Maj+P
ou F1
) :
Il est possible d’utiliser :
c_cpp_properties.json
:{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
Il existe d’autres extensions pour le C/C++.
Aller dans File
→ Preferences
→ Extensions
(Ctrl+Shift+X
), puis rechercher : c++
.
À partir du Terminal
, il est possible de gérer ses extensions :
$ code --help
$ code --list-extensions
En voici quelques unes qui peuvent être utiles :
Cette extension fournit la génération des tags à la volée en démarrant un bloc de commentaires Doxygen (/**) et en appuyant sur Entrée.
/**
* @brief ...
*
* @return int
*/
int main()
{
return 0;
}
Cliquer le bouton droit de la souris et choisir Format Document
ou Format Document With...
:
Se placer sur un répertoire, puis aller dans View
→ Command Palette
(Ctrl+Maj+P
ou F1
) :
Aller dans View
→ Command Palette
(Ctrl+Maj+P
) :
L’extension va créer une arborescence de répertoires pour le projet ainsi que son Makefile :
Aller dans View
→ Command Palette
(Ctrl+Maj+P
) :
L’extension va créer une arborescence de répertoires pour le projet ainsi que son Makefile :
Elle permet aussi de générer le squelette d’une classe.