IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual Studio Discussion :

Microsoft présente le serveur de langage Python dans Visual Studio Code


Sujet :

Visual Studio

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2013
    Messages
    8 979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2013
    Messages : 8 979
    Points : 207 824
    Points
    207 824
    Par défaut 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

    Nom : VS_1.png
Affichages : 7641
Taille : 17,0 Ko

    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 !

    Nom : VS_2.png
Affichages : 6566
Taille : 95,4 Ko

    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 ?

    Êtes-vous un utilisateur de Python ?
    Que pensez-vous de cet ajout ?
    Vous servez-vous souvent de cet éditeur pour vos développements ou d'un autre ? Pourquoi ?

    Voir aussi :

    Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle
    Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
    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
    Visual Studio Team Services (VSTS) fait peau neuve avec une nouvelle navigation, allez-vous l'adopter ou comptez-vous rester sur l'ancien affichage ?
    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é

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Stéphane le calme Voir le message
    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
    Il ne manque pas d'humour, ce Steve Dower. J'ai pas mal utilisé VS6 et VS2002 et dans mon souvenir, IntelliSense fonctionnait quand il voulait et après avoir mis une éternité à faire son "analyse astucieuse"...

  3. #3
    Membre expérimenté
    Profil pro
    Ingénieur système Linux N3
    Inscrit en
    Juillet 2008
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur système Linux N3

    Informations forums :
    Inscription : Juillet 2008
    Messages : 422
    Points : 1 534
    Points
    1 534
    Par défaut Visual Studio Code
    Grande question : vais-je devoir abandonner vim ? Et quid des serveurs où je n'ai qu'une connexion ssh sans interface graphique ? Visual Studio Code avec l'interface de Qbasic, réimplémentée en ncurses ?

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 10
    Points : 23
    Points
    23
    Par défaut
    Pas besoin d'abandonner vim ou d'utiliser VSCode. Avec les serveurs de langage il suffit d'un plugin pour se connecter au dit serveur et tout est géré.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    desfoisjmedemande
    Inscrit en
    Janvier 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : desfoisjmedemande

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    @CaptainDangeax quand je n'ai qu'une connexion SSH j'utilise sshfs pour monter le dossier distant sur ma machine locale.
    J'utilise très souvent VIM mais j'apprécie aussi d'avoir un vrai IDE

  6. #6
    Expert éminent sénior
    Avatar de Coriolan
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2016
    Messages
    701
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2016
    Messages : 701
    Points : 51 811
    Points
    51 811
    Par défaut 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 :

    Nom : LogPoints-2.png
Affichages : 11005
Taille : 29,4 Ko

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

    Qu’en pensez-vous ?
    Êtes-vous un utilisateur de Python ?
    Que pensez-vous du travail de Microsoft dans VS Code ? Pensez-vous qu'il est devenu meilleur que Vi/Emacs/Vim ?

    Voir aussi

    Visual Studio Code est maintenant livré avec Anaconda, la plateforme Python populaire pour la data science
    Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
    Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle

  7. #7
    Expert éminent Avatar de sergio_is_back
    Homme Profil pro
    Consultant informatique industrielle, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Consultant informatique industrielle, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 167
    Points : 6 096
    Points
    6 096
    Par défaut
    Citation Envoyé par Coriolan Voir le message
    « 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. »
    Ça sent la pub genre "J'ai des mycoses vaginales... " (voir Youtube pour ceux qui savent pas)

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mars 2017
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 1 177
    Points : 78 779
    Points
    78 779
    Par défaut 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 :

    Nom : qd.png
Affichages : 5668
Taille : 3,9 Ko

    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 ?

    Qu’en pensez-vous ?
    Avez-vous déjà testé cette nouvelle version ? Si oui, quelles ont été vos impressions ?

    Voir aussi

    Microsoft publie une nouvelle version de l'extension Python pour Visual Studio Code, elle apporte un lot de nouveautés et de correctifs
    Visual Studio Code est maintenant livré avec Anaconda, la plateforme Python populaire pour la data science
    Visual Studio Code 1.25 est disponible : tour d'horizon des nouveautés dans l'éditeur de code open source et multiplateforme
    Visual Studio : Microsoft annonce la disponibilité d'une mise à jour d'IntelliCode, une version d'IntelliSense basée sur l'intelligence artificielle

Discussions similaires

  1. Microsoft lance une extension de débogage Java pour Visual Studio Code
    Par Michael Guilloux dans le forum Visual Studio
    Réponses: 12
    Dernier message: 13/02/2018, 18h38
  2. Réponses: 0
    Dernier message: 16/11/2017, 12h42
  3. Plugin Python sur Visual Studio Code
    Par Joachim94 dans le forum EDI/RAD
    Réponses: 2
    Dernier message: 27/12/2016, 12h09
  4. [Python 3.X] Python dans Visual Studio
    Par Pasquinel39 dans le forum EDI/RAD
    Réponses: 0
    Dernier message: 29/02/2016, 17h17
  5. Réponses: 14
    Dernier message: 10/11/2012, 23h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo