1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    mars 2013
    Messages
    3 709
    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 : 3 709
    Points : 91 242
    Points
    91 242

    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 : 4561
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 : 4287
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 expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2017
    Messages
    342
    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 : 342
    Points : 1 421
    Points
    1 421

    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
    159
    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 : 159
    Points : 455
    Points
    455

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2016
    Messages : 5
    Points : 11
    Points
    11

    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

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, 17h38
  2. Réponses: 0
    Dernier message: 16/11/2017, 11h42
  3. Plugin Python sur Visual Studio Code
    Par Joachim94 dans le forum EDI/RAD
    Réponses: 2
    Dernier message: 27/12/2016, 11h09
  4. [Python 3.X] Python dans Visual Studio
    Par Pasquinel39 dans le forum EDI/RAD
    Réponses: 0
    Dernier message: 29/02/2016, 16h17
  5. Réponses: 14
    Dernier message: 10/11/2012, 22h36

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