Du Python efficace avec VS Code

Vous avez décidé de vous mettre au Python

Les outils de développement proposés par Microsoft ont toujours été excellents, et l’utilisation de Visual Studio Code pour la programmation en Python est une combinaison légère qui n'a rien à envier aux alternatives comme PyCharm.
Démonstration à l’aide de ce petit tutoriel largement inspiré du tuto officiel “Démarrer avec Python dans VS Code” (“Getting Started with Python in VS Code”)

Pour commencer, procurez vous VS Code (j’utilise la version 1.34 du 15 mai 2019) ainsi que Python (J’utilise la version 3.7.3).
Normalement, lors de la lecture d’un fichier Python “.py”, VS Code propose d’installer l’extension “python pour VS Code” de puis la place de marché,

créez un répertoire et lancez Python depuis ce répertoire afin qu’il devienne “l’espace de travail“ (“workspace”) du projet en cours.

mkdir hello
cd hello
code .


Ecrivez un premier fichier, placez-y, par exemple, la ligne
print("Hello World")
et sauvez-le dans le répertoire de projet sous le nom “hello.py”

Pour lancer ce tout petit programme Python, le faire interpréter, faites un clic-droit dans l’éditeur de code et choisissez:
Run Python File in Terminal.

Voilà!
Normalement VSCode sait retrouver les interpréteurs python installés sur la machine, et sélectionne le premier trouvé dans la variable d’environnement “PATH”. Pour sélectionner un environnement spécifique, ouvrez la “palette de commandes” (Command Palette Ctrl+Shift+P)

le choix d’un interpréteur (étape qui n’est pas absolument nécessaire) provoquera la création d’un sous-dossier “.vscode” dans lequel VS Code créera le fichier settings.json.

L’environnement définit la façon dont réagissent l’autocomplétion (voir ci-dessous), le linting, le formatage du code ainsi que d’autres fonctions du langage autres que le débogage. Changer l’interpréteur change l’environnement.
L’environnement actuel est indiqué dans la barre de status, en bas à gauche. Par ex.

Pour tout maîtriser de la gestion des environnements Python dans VS Code, reportez-vous à l’article:
Using Python environments in VS Code
qui traite de


Profitez de l’ “autocomplétion“ !


Au fur et à mesure de votre frappe, l’éditeur vous suggère les méthodes et variables que vous pouvez insérer. Si la fenêtre contextuelle n’apparaît pas, Ctrl-Space la rend visible. Cette complétion automatique du code est appelée IntelliSense par Microsoft. Il existe également depuis peu une extension nommée “IntelliCode” qui promet des suggestion plus précises et adaptées au contexte de votre code.

Profitez du “Linting”

Lint est à l’origine une commande Unix destinée à détecter des erreurs qui auraient pu se glisser dans un code source en C. Le linting fait référence à l’analyse statique de code d’un langage quelconque pour vérifier qu’il ne contient pas certaines des erreurs couramment faites. Le Python dispose d’un grande variété de “Linter” : Pylint, Pep8, Flake8, mypy, pydocstyle, prospector et pylama … rien que ça. Article à venir !

Déboguez sans print !

(voir https://code.visualstudio.com/...)

Plus besoin de consteller vos lignes de code avec des print, définissez plutôt des points d'arrêt, inspectez les données et la console de débogage pendant l’exécution pas-à-pas. 

Il est possible de déboguer des applications python distantes, multithread, et même Web.

Plus d’info sur :
la configuration de l’environnement de débogage du fichier launch.json par ici
le débogage en général dans VS Code, c’est ici
le débogage avec Django ou Flask, voyez ce tutoriel ci ou celui-là

“Snippets”

Les snippets sont des bouts de code qui reviennent souvent dans un projet donné, et qu’il est pratique d’insérer en bloc pour ne pas avoir à tout taper et risquer des erreurs de frappe. Ils apparaissent comme les suggestions d’intellisense (Ctrl+Espace)
Par ex, tapez “try” et la structure “try: except: else: finally” est proposée.

L’installation de paquet (“package”)

Les commandes d’installation de paquet et de leur dépendances sont invoquées depuis la fenêtre de terminal, par ex.

pip install <package_name>

Aucun commentaire

Ajouter un commentaire