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

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    4 027
    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 : 4 027
    Points : 103 983
    Points
    103 983

    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 : 5426
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 : 4968
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é
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2017
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2017
    Messages : 447
    Points : 1 825
    Points
    1 825

    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 confirmé
    Profil pro
    Ingénieur Syslog-ng
    Inscrit en
    juillet 2008
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur Syslog-ng

    Informations forums :
    Inscription : juillet 2008
    Messages : 189
    Points : 530
    Points
    530

    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
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2016
    Messages : 9
    Points : 22
    Points
    22

    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
    Chroniqueur Actualités
    Avatar de Coriolan
    Homme Profil pro
    Étudiant
    Inscrit en
    mai 2016
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2016
    Messages : 654
    Points : 17 521
    Points
    17 521

    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 : 3598
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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  7. #7
    Membre expérimenté
    Homme Profil pro
    Développeur tout-terrain
    Inscrit en
    juin 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 330
    Points : 1 475
    Points
    1 475

    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)

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