This is an old revision of the document!
Table of Contents
Quel IDE choisir ?
Nous cherchons un IDE (environnement de développement intégré) pour programmer un projet en C, intégrant GDB/Valgrind, CMake et GIT. En outre, nous souhaitons avoir toutes les bonnes fonctionnalités d'un IDE : highlighting, auto-indentation, complétion intelligente, documentation Doxygen, refactoring, linter / analyse de code… De préférence, nous souhaitons que cet IDE soit distribué sous licence “libre” et qu'il soit facile à installer sous Debian/Ubuntu.
Une étude intéressante effectuée sur 100 000 programmeurs en 2018 classe Visual Studio Code en premier outil… Regardons cet outil de plus près
https://insights.stackoverflow.com/survey/2018/#development-environments-and-tools
Visual Studio Code
Installation sous Debian : https://code.visualstudio.com/
wget 'https://vscode-update.azurewebsites.net/1.24.1/linux-deb-x64/stable' -O /tmp/vscode.deb sudo gdebi /tmp/vscode.deb
Une fois code installé, on va ajouter quelques extensions importantes et recommandées.
Tout d'abord, il faut lancer l'IDE dans votre répertoire projet :
code .
Ensuite, celui-ci analyse les fichiers du projet et recommande des extensions populaires en plus des extensions déjà intégrées… Une autre façon de faire consiste à installer les extensions utiles en ligne de commande :
# C/C++ for Visual Studio Code (IntelliSense, code browsing, debugging, ...) code --install-extension ms-vscode.cpptools # GitLens — Git supercharged code --install-extension eamodio.gitlens # code --install-extension donjayamanne.githistory # code --install-extension felipecaputo.git-project-manager # un linter pour markdown code --install-extension DavidAnson.vscode-markdownlint # extension pour python code --install-extension ms-python.python # CMake & CMake Tools code --install-extension twxs.cmake code --install-extension vector-of-bool.cmake-tools code --install-extension maddouri.cmake-tools-helper # utile ? # Intellisense for GNU C/C++ code --install-extension austin.code-gnu-global # Clang # code --install-extension mitaki28.vscode-clang # à vérifier ? # vscode icons & one dark pro theme code --install-extension robertohuertasm.vscode-icons code --install-extension zhuangtongfa.Material-theme
A compléter…
Configuration d'IntelliSense : https://code.visualstudio.com/docs/languages/cpp
Mes raccourcis
- F7 : compiler le projet (déjà configuré)
- ctrl + shift + i : indentation selon les règles fournies par le fichier .clang-format
- ctrl + shift + / : commenter/décommenter la sélection
- crtl + f : chercher dans le fichier courant ; F3 : next : shift + F3 : previous
- F12 / ctrl + F12 : navigation entre la déclaration et la définition d'une fonction
- ctrl + j : fermer / ouvrir le panel du bas
- ctrl + , : édition des user & workspace settings (au format JSON)
Pour aller un peu plus loin, voici une petite refcard des raccourcis clavier : https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf