2 pièce(s) jointe(s)
Microsoft présente le serveur de langage Python dans Visual Studio Code
Microsoft présente le serveur de langage Python dans Visual Studio Code,
et s'accompagne de belles promesses de performance
Microsoft a annoncé l’arrivée de l’extension Python pour Visual Studio Code. L’objectif à termes est de proposer un composant autonome que vous pourrez utiliser avec n'importe quel outil fonctionnant avec le protocole langage serveur.
Petit retour en arrière sur IntelliSense et les langages serveurs
Steve Dower, de Microsoft, rappelle que depuis l'époque de Visual Basic, IntelliSense était déjà l'une des principales fonctionnalités de la série Visual Studio d'IDE. Il permettait notamment les complétions automatiques pour les variables, les fonctions et d'autres symboles qui apparaissent lorsque vous tapez dans votre code. Grâce à une combinaison astucieuse d'analyse de code statique, de bases de données précompilées et de superpositions d'interface utilisateur, IntelliSense peut être un plus dans la productivité des développeurs
Aujourd'hui, IntelliSense est toujours l'une des fonctionnalités les plus importantes. Plus d'outils exigent que les utilisateurs écrivent du code, et les complétions sont pratiquement une nécessité dans ces éditeurs. Cependant, il est difficile d'écrire l'analyse statique nécessaire pour fournir une bonne expérience, et la plupart des implémentations sont étroitement liées à l'éditeur avec lequel elles travaillent. Vient alors le protocole langage serveur.
Les serveurs de langage sont des programmes autonomes implémentant le protocole de serveur de langue et ont été créés pour fonctionner avec Visual Studio Code. Les éditeurs peuvent démarrer l'exécution d'un serveur de langage et utiliser ce canal de communication basé sur JSON pour fournir et demander des informations sur le code de l'utilisateur. Toutes les opérations d'analyse et "intelligentes" sont gérées par le serveur, ce qui permet à l'éditeur de se concentrer sur la présentation et l'interaction avec l'utilisateur.
Visual Studio Code utilise des serveurs de langue pour la plupart des langages pris en charge, notamment C ++, C # et Go. Du point de vue de l'éditeur, il n'y a pas de différences entre ces langages. Cela signifie qu'il est facile d'ajouter du support pour de nouveaux langages à Visual Studio Code, et cela ne nécessite pas du tout de modifier l'éditeur. Les serveurs de langage peuvent également être utilisés avec des plugins pour Sublime Text, vim et plus encore.
.
Présentation du serveur de langage Python
Auparavant, Python IntelliSense dans Visual Studio était très spécifique à cet IDE, ce qui implique que seuls les utilisateurs de Visual Studio ont pu apprécier le travail de Microsoft. Récemment, l’entreprise a décidé de restructurer son implémentation pour la séparer de Visual Studio et la rendre disponible en tant que programme autonome en utilisant le protocole du serveur de langage.
Du point de vue de l'éditeur, les serveurs de langage sont une boîte noire qui reçoit du texte et renvoie des listes de plus de texte. Mais la boîte noire contient normalement un processus connu sous le nom d'inférence de type statique, où le serveur de langage détermine ("infère") le type de chaque variable sans réellement exécuter le code. Pour les langages statiquement typés, tels que C #, cela revient souvent à trouver la définition de la variable et le type spécifié. Cependant, les variables Python peuvent changer de type à chaque fois qu'elles sont assignées, et les affectations peuvent se produire presque n'importe où dans n'importe quel code qui est exécuté. Cela rend l'inférence de type statique parfaite impossible !
Steve Dower a déclaré :
« Notre serveur de langage Python utilise une analyse itérative de programme complet pour suivre les types de toutes les variables dans votre projet tout en simulant l'exécution de tout le code dans votre projet. Normalement, ce type d'approche peut prendre des heures pour des programmes complexes et nécessite des quantités illimitées de RAM, mais nous avons utilisé de nombreuses astuces pour la rendre complète assez rapidement pour l'utilisation d'IntelliSense. Nous avons également fait les compromis nécessaires pour fournir des informations utiles, bien qu'il ne soit pas possible de déduire parfaitement tous les types dans un programme Python.
« Le résultat final est que nous avons une boîte noire qui prend le code Python et fournit toutes les informations dont votre éditeur a besoin pour les infobulles, les complétions, la recherche de définitions et de références, le changement de nom des variables globales et plus encore. Pour les performances, elle fonctionne avec .NET Core sous Windows, macOS et Linux, fonctionne avec Python 2.5 à Python 3.7 et prend en charge les dernières fonctionnalités de langage telles que async / await, les annotations de type et les paquets stub de type (parmi lesquels typeshed, dont une copie est incluse dans le serveur de langage). Elle effectue des mises à jour incrémentielles au fur et à mesure de la frappe et est déjà reconnu comme une fonctionnalité principale de Visual Studio ».
Avantages de Python dans Visual Studio Code
Les fonctionnalités qui sont nouvelles pour les développeurs de VS Code dans cette version incluent:
- les erreurs de syntaxe lorsque vous tapez du code
- les avertissements lorsque les modules ne sont pas trouvés
- la possibilité d’utiliser des fichiers mis à jour pour compléter les complétions manquantes pour les modules
- des performances améliorées pour l'analyse de votre espace de travail et la présentation des complétions
- la possibilité de détecter les erreurs de syntaxe sur l'ensemble de votre espace de travail, plutôt que sur le fichier en cours.
- des temps de démarrage plus rapides
- des importations plus rapides
- une meilleure manipulation pour un certain nombre de constructions de langage
Source : Microsoft
Et vous ?
:fleche: Êtes-vous un utilisateur de Python ?
:fleche: Que pensez-vous de cet ajout ?
:fleche: Vous servez-vous souvent de cet éditeur pour vos développements ou d'un autre ? Pourquoi ?
Voir aussi :
:fleche: Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle
:fleche: Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
:fleche: La troisième préversion de Visual Studio 15.8 est disponible : un aperçu des principales nouveautés et améliorations de l'EDI de Microsoft
:fleche: Visual Studio Team Services (VSTS) fait peau neuve avec une nouvelle navigation, allez-vous l'adopter ou comptez-vous rester sur l'ancien affichage ?
:fleche: Windows Template Studio 2.2 est disponible, l'extension Visual Studio dédiée au développement UWP vient avec un assistant de configuration amélioré
1 pièce(s) jointe(s)
Python dans Visual Studio Code
Microsoft publie une nouvelle version de l'extension Python pour Visual Studio Code
elle apporte un lot de nouveautés et de correctifs
Alors que Microsoft vient de publier à peine la version 1.27 de Visual Studio Code, la firme a annoncé en parallèle la disponibilité d’une nouvelle version de la Python Extension pour Visual Studio Code. Cette extension peut être téléchargée du magasin ou bien installée directement de la galerie d’extensions de Visual Studio Code. Cette version apporte un lot de nouveautés et plusieurs correctifs.
Un débogage plus rapide et fiable avec ptvsd 4
L’équipe de développement a annoncé que tous les utilisateurs ont désormais accès à la version 4.1.1 de ptvsd du débogueur Python. Comparée à la version 3.0, cette nouvelle itération fournit plus de performance et de stabilité. Depuis février, des utilisateurs ont eu accès à une préversion de ptvsd 4 et Microsoft a continué à l’améliorer en se basant sur les commentaires. Le nouveau moteur de débogage a pour fondation pydevd (PyDev.Debugger) utilisé notamment dans PyDev, PyCharm et VS Code. Il a permis de tirer parti d’une performance supérieure et un meilleur support des bibliothèques tierces, a écrit Dan Taylor de Microsoft.
Le nouveau débogueur de Python supporte la fonctionnalité de Logpoints ajoutée à VS Code en mars. Cette fonctionnalité permet d’ajouter des déclarations sans interrompre l’exécution. Il suffit d’un clic droit sur la marger et sélectionner “Add Logpoint…”, puis taper le message :
Cette version facilite aussi davantage le débogage à distance et l’améliore considérablement. Avant, il fallait installer la même version de ptvsd utilisé dans VS Code sur un serveur distant, et il fallait modifier votre code pour activer le débogueur. Maintenant, il est possible d’installer toute version 4.x de ptvsd. Pour l’installer et démarrer le débogage à distance à partir de la ligne de commande :
Code:
1 2
| pip install --upgrade ptvsd
python3 -m ptvsd --host 1.2.3.4 --port 3000 -m myproject |
Une fois le serveur est démarré, il devient possible de s’y attacher à a partir de VS Code en modifiant votre fichier lanch.json et définir le port et l’hôte dans la configuration. Pour plus de détails, veuillez consulter la documentation du débogage à distance.
En plus de ces nouveautés, cette nouvelle version apporte des améliorations à la Préversion du Langage Serveur. Dans la version de juillet, l’équipe de développement a ajouté une préversion de Microsoft Python Language Server, le moteur d’analyse Python issu de Visual Studio dans VS Code. Selon Microsoft, cela permet de fournir des complétions plus rapides et riches y compris le support de définitions dites typeshed. Cette version apporte aussi quelques améliorations mineures et correctifs requis par les utilisateurs qui devraient améliorer l’expérience de travailler avec Python sur Visual Studio Code selon Microsoft. La liste complète des changements se trouve dans le changelog.
Depuis son lancement, Visual Studio Code a connu un développement rapide avec Microsoft travaillant d’arrache-pied pour le munir de nouvelles fonctionnalités. Et ces efforts semblent payer puisque beaucoup de développeurs de longue date ont commencé à migrer vers l’éditeur de Microsoft alors qu’ils utilisaient depuis longtemps emacs/vi/vim.
« J’ai été un utilisateur de VI depuis les années 90 et Vim...aussi depuis les années 90. VSCode est le premier EDI que j’ai été en mesure d’apprécier, il est éblouissant, » a écrit un développeur. « J’ai une tonne d’outils sur des environnements automatisés de Python, des plugins vim (maintenant vscode), tâches et il a rendu [VSCode] toute la chose plus unique qu’elle a été auparavant. »
« Je suis en train de passer actuellement d’Emacs vers VS Code. Je suis en train d’utiliser un keymap emacs et je dois dire : il est magnifique. Pour Python, je peux choisir pour chaque projet le bon environnement virtuel, le système “intellisense” fonctionne bien, il est rapide et il est possible de personnaliser beaucoup de choses », a écrit un autre développeur. « Oui, je pense que cet éditeur [VS Code] va pousser beaucoup de codeurs à abandonner emacs/vi/vim. »
Source : blog Microsoft
Et vous ?
:fleche: Qu’en pensez-vous ?
:fleche: Êtes-vous un utilisateur de Python ?
:fleche: Que pensez-vous du travail de Microsoft dans VS Code ? Pensez-vous qu'il est devenu meilleur que Vi/Emacs/Vim ?
Voir aussi
:fleche: Visual Studio Code est maintenant livré avec Anaconda, la plateforme Python populaire pour la data science
:fleche: Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
:fleche: Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle
1 pièce(s) jointe(s)
Microsoft publie l’édition de juin 2019 de l’extension Python pour Visual Studio Code
Microsoft publie l’édition de juin 2019 de l’extension Python pour Visual Studio Code
Elle inclut 70 correctifs et son lot de nouveautés
Microsoft vient d’annoncer la disponibilité d’une nouvelle version de l’extension Python pour Visual Studio Code (édition de juin 2019), son éditeur de code extensible développé pour Windows, Linux et macOS. Cette extension peut être téléchargée depuis le Marketplace ou installée directement depuis la galerie d’extensions de Visual Studio Code. Si une version antérieure de l’extension Python est déjà installée, vous pouvez également obtenir la dernière mise à jour en redémarrant Visual Studio Code.
Cette nouvelle version inclut 70 correctifs qui sont détaillés dans le journal des modifications et de nombreuses améliorations qui devraient optimiser l’expérience de travail avec Python dans Visual Studio Code. Elles concernent notamment la visionneuse de tracé sur la fenêtre Python Interactive, les tests en parallèle avec pytest et l’indentation de l’exécution d’une sélection dans le terminal.
La visionneuse de tracé avec la fenêtre Python
Les graphiques sont couramment utilisés pour la visualisation des données. L’une des fonctionnalités les plus demandées pour la fenêtre Python Interactive est de permettre une inspection approfondie des tracés générés via le zoom, ou l’exportation d’images (au format PDF, SVG ou PNG), par exemple.
Cette mise à jour de juin 2019 introduit une toute nouvelle visionneuse de tracé qui peut être utilisée pour manipuler tous les types de tracés d’images, y compris les tracés matplotlib. Vous pouvez tester ces fonctionnalités en double-cliquant sur les tracés ou en cliquant sur le bouton « agrandir l’image » qui s’affiche lorsque vous survolez les images du tracé dans la fenêtre interactive Python.
Tests en parallèle avec pytest
La fiabilité des statistiques affichées pour l’exécution de tests a été améliorée, en particulier pour l’exécution de tests en parallèle avec pytest. Vous pouvez essayer d’exécuter des tests en parallèle avec pytest en installant le paquet « pytest-xdist » et en ajoutant « -n <nombre de processeurs> » à un fichier de configuration. Par exemple, pour un processeur à quatre cœurs, vous pouvez créer un fichier pytest.ini dans le dossier du projet et y ajouter le contenu ci-dessous :
Ainsi, lorsque vous exécutez et déboguez des tests, ils seront exécutés en parallèle.
Indentation de l’exécution d’une sélection dans le terminal
Une fonctionnalité très demandée de Visual Studio Code (VS Code) Python sur GitHub consistait à déduire les sélections de code avant de les envoyer au terminal lors de l’exécution de la commande « Exécuter sélection/ligne dans un terminal Python ». À partir de cette version, la commande enverra au terminal une désindentation de la sélection, basée sur sa première ligne non vide.
Les autres changements notables incluent :
- la possibilité d’autoriser l’authentification à distance via un mot de passe pour avec jupyter ;
- le fait que la visionneuse de données gère désormais correctement les grands cadres de données et prend en charge le filtrage avec des expressions sur des colonnes numériques ;
- la possibilité d’afficher l’aperçu du bloc-notes importé dans la fenêtre Python Interactive ;
- l’ajout du support pour le débogage des sous-processus lors des tests de débogage ;
- l’ajout du support pour l’activation d’environnements conda dans powershell ;
- l’ajout de la combinaison « ctrl + entrée » comme raccourci clavier pour exécuter la cellule en cours.
Source : Microsoft
Et vous ?
:fleche: Qu’en pensez-vous ?
:fleche: Avez-vous déjà testé cette nouvelle version ? Si oui, quelles ont été vos impressions ?
Voir aussi
:fleche: Microsoft publie une nouvelle version de l'extension Python pour Visual Studio Code, elle apporte un lot de nouveautés et de correctifs
:fleche: Visual Studio Code est maintenant livré avec Anaconda, la plateforme Python populaire pour la data science
:fleche: Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
:fleche: Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle