3 points par GN⁺ 2025-05-24 | 1 commentaires | Partager sur WhatsApp
  • Cette extension simplifie l’écriture de requêtes et l’administration des bases de données grâce à IntelliSense alimenté par l’IA et à l’agent GitHub Copilot « @pgsql »
  • Elle prend en charge une sécurité intégrée et la gestion des déploiements cloud avec l’authentification Entra ID et l’intégration à Azure Database for PostgreSQL
  • Elle met l’accent sur l’amélioration de la productivité et de l’efficacité des développeurs avec la visualisation du schéma, la gestion de l’historique des requêtes et l’IntelliSense contextuel
  • Elle réduit au minimum les coûts d’onboarding et de changement de contexte grâce à plusieurs connexions de base de données, à une authentification sans mot de passe et à une interface intuitive

Présentation

  • Microsoft a annoncé l’aperçu public d’une nouvelle extension PostgreSQL pour Visual Studio Code (ci-après VS Code)
  • Cette extension est conçue pour faciliter la gestion des bases de données PostgreSQL et les workflows des développeurs dans un environnement unique
  • Sans quitter VS Code, les développeurs peuvent gérer les objets de base de données, rédiger des brouillons de requêtes et bénéficier de l’IntelliSense contextuel ainsi que de l’aide de l’agent GitHub Copilot « @pgsql ».

Difficultés rencontrées par les développeurs et solution proposée

  • Selon la récente enquête développeurs Stack Overflow 2024, 41 % des développeurs rencontrent des difficultés liées au changement de contexte
  • Le Stripe Developer Coefficient Report 2024 montre que jusqu’à 50 % du temps de développement est consacré au débogage et à la résolution de problèmes
  • L’absence d’un outil d’extension unifié pour l’administration des bases de données et le développement applicatif contribue à l’inefficacité
  • La nouvelle extension intègre les outils de base de données Postgres et @pgsql GitHub Copilot afin de permettre le développement, l’administration et le débogage dans un seul environnement
  • Elle prend en charge la sécurité et la gestion centralisée grâce à l’authentification Entra ID et à une intégration étroite avec Azure Database for PostgreSQL

Fonctionnalités principales

Visualisation du schéma

  • Dans l’Object Explorer, un clic droit sur un élément de base de données permet de visualiser le schéma via l’option « Visualize Schema »

GitHub Copilot sensible au contexte de la base de données

  • Fournit dans VS Code une assistance IA capable de reconnaître le contexte PostgreSQL
  • Simplifie les requêtes de base de données en langage naturel, l’optimisation du schéma et l’exécution SQL
  • Prend en charge l’analyse et l’optimisation de requêtes pilotées par l’IA via la commande « @pgsql » et des menus contextuels comme « Rewrite Query », « Explain Query » et « Analyze Query Performance »
  • Offre pendant le développement un guidage de niveau expert en temps réel, ainsi que des fonctions de sécurité et d’amélioration des performances

Mode agent de chat Copilot

  • L’agent de chat intelligent conversationnel (@pgsql) va au-delà des questions-réponses et prend aussi en charge des tâches en plusieurs étapes
  • Il comprend le contexte réel du workspace et peut aussi écrire du code et déboguer avec autorisation
  • Des opérations complexes comme la création d’une base de données ou l’activation d’extensions peuvent être demandées en langage naturel
  • Les modifications de la base de données nécessitent une autorisation explicite de l’utilisateur

Connexion et administration des bases de données

  • Connexion facile à des instances PostgreSQL locales et cloud
  • Prise en charge de plusieurs profils de connexion, de l’analyse des chaînes de connexion et d’une configuration simplifiée des informations de connexion
  • Permet de parcourir et filtrer directement les déploiements Azure Database for PostgreSQL
  • Renforce la sécurité et l’administration centralisée des accès grâce à l’intégration Entra ID

Authentification sans mot de passe et sécurité

  • Offre une authentification sans mot de passe via Entra ID
    • pas de connexion manuelle nécessaire, avec renouvellement automatique du jeton
    • réduction des expirations d’authentification et continuité du travail pendant le développement
    • compatibilité avec les standards de sécurité d’entreprise
    • possibilité d’utiliser les identifiants Entra ID existants
    • aucune gestion de compte distincte nécessaire

Explorateur de base de données et historique des requêtes

  • Permet de consulter et administrer de manière structurée les objets de base de données tels que schémas, tables et fonctions
  • Prend en charge la création, la modification et la suppression d’objets
  • La gestion de l’historique des requêtes facilite la réutilisation des requêtes exécutées auparavant

Édition de requêtes et IntelliSense contextuel

  • Prend en charge l’autocomplétion des mots-clés SQL, des noms de tables et des noms de fonctions, ainsi que la coloration syntaxique
  • Offre le formatage automatique des requêtes, la gestion de l’historique et un environnement d’édition lisible

Différenciation et points forts

  • Gain de productivité : réduction du temps de travail et des erreurs grâce à l’IntelliSense contextuel, au formatage SQL, etc.
  • Assistance IA intelligente : prise en charge en plusieurs étapes par un agent de chat Copilot sensible au contexte de la base de données et du workspace
  • Onboarding rapide : grâce au gestionnaire de connexions, même les débutants peuvent configurer leur environnement en quelques minutes
  • Sécurité : contrôle d’accès centralisé via Entra ID et navigation facilitée dans les déploiements Azure
  • Ensemble d’outils intégré : administration des objets de base de données, exécution de requêtes et déploiement d’instances, le tout dans VS Code
  • Orienté cloud : l’intégration poussée avec Azure Database for PostgreSQL simplifie l’exploitation des bases de données cloud

Premiers pas

  • Dans le Marketplace des extensions de VS Code, recherchez « PostgreSQL », puis installez Preview PostgreSQL extension (icône d’éléphant bleu)
  • Les extensions GitHub Copilot et Copilot chat sont requises, et la commande « @pgsql » permet d’interagir avec Copilot

Retours et feuille de route

  • Les utilisateurs peuvent soumettre leurs avis et signaler des problèmes via l’outil de feedback intégré à VS Code
  • La licence standard de preview sera mise à jour ultérieurement
  • Pour plus d’informations et le guide de démarrage, voir https://aka.ms/pg-vscode-docs

1 commentaires

 
GN⁺ 2025-05-24
Commentaires Hacker News
  • Félicitations à notre équipe pour cette sortie. Je voulais partager que j’ai été l’une des premières personnes à en faire une démonstration en direct la semaine dernière lors d’une session sponsorisée par Microsoft. Vous pouvez voir la vidéo de démo ici. J’ai aussi animé une autre session sur le stand MSFT, mais l’enregistrement n’a pas encore été mis en ligne. En attendant, il existe un dépôt ici qui permet de reproduire soi-même toutes les fonctionnalités que j’ai montrées. Et si vous rencontrez un problème, merci de le signaler à l’équipe ici

  • Cela résout à nouveau un problème important que j’avais déjà traité via un paquet npm que j’avais créé moi-même, « pgstrap ». Cet outil génère la structure de la base de données sous forme d’arborescence de répertoires, ce qui permet à mon schéma de base de données d’être exploité par un LLM (grand modèle de langage) et rend les changements de tables bien visibles lors des revues de code. Il crée un fichier SQL pour chaque table de ma base et les organise par répertoire pour chaque schéma. C’est un concept similaire à schema.rb de Rails. Je me demande s’il vaut mieux que l’éditeur comprenne directement la base de données, ou s’il vaut mieux versionner ce contexte dans le code. Avec moins de code généré ou d’artefacts, le dépôt reste plus propre. Mais tout le monde n’utilise pas VS Code, et tout le monde ne saura pas forcément tirer parti de cette intégration. Les GUI de navigation de base de données n’ont jamais vraiment eu de vainqueur clair sur le marché. Cela dit, avec la part de marché écrasante de VS Code, cela pourrait devenir le standard pour consulter les bases de données dans l’environnement de développement. lien pgstrap

    • Je me demande si inclure dans le contrôle de version l’état actuel du schéma de base de données ainsi que toutes les migrations n’est pas déjà totalement standard dans les frameworks web
    • Cela a l’air d’un outil pratique, merci pour le partage. Je me demande s’il exporte aussi les déclencheurs et les procédures stockées, au-delà des tables, colonnes et index. Beaucoup d’outils s’arrêtent aux définitions de tables. J’aimerais voir davantage d’outils qui exploitent plus de fonctionnalités des bases de données
    • J’utilise un serveur MCP (et copilot/cline) avec un seul compte en lecture seule sur ma base
  • Première impression : cet outil a l’air vraiment super. Je suis surpris que Microsoft investisse autant d’efforts dans un outil pour Postgres plutôt que pour SQL Server. J’imagine que cela reflète une forte demande pour Postgres

    • Il existe déjà une extension Microsoft SQL Server pour VS Code, et celle-ci est en fait quasiment un clone. Après l’avoir essayée, tout semble globalement identique : menus, boîtes de dialogue, etc. Avant, Azure Data Studio (désormais abandonné) servait de base à cette extension. lien de l’extension SQL Server
    • Du point de vue d’un developer evangelist chez Microsoft, je peux dire que les équipes qui développent les extensions SQL Server et PostgreSQL fournissent toutes deux énormément d’efforts. J’ai participé aux tests d’utilisabilité et aux bug bash des deux équipes, et cela m’a confirmé leur volonté de créer des outils pensés pour les développeurs. N’hésitez pas à faire remonter vos besoins aux équipes. Pour les actualités SQL Server, suivez Carlos Robles, et pour PostgreSQL, Joshua Johnson
    • À mon avis, c’est parce que l’outil MSSQL a été maintenu en continu via ADS et qu’il était déjà de bonne qualité. Azure Data Studio est maintenant en fin de vie, et l’extension Postgres pour VS Code n’avait pas eu de commits significatifs depuis six ans. Jusqu’ici, comme il n’y avait pas vraiment d’alternative pour Postgres, je continuais à utiliser ADS. lien de référence
    • Je me demande si SQL Server Management Studio (SSMS) ne joue pas déjà un rôle similaire. J’imagine qu’il existe peut-être un plan à long terme pour migrer SSMS vers VS Code. Ils expérimentent peut-être d’abord avec la prise en charge de Postgres. lien SSMS
    • J’aimerais qu’il existe aussi une extension similaire pour SQLite
  • Je vais absolument essayer cette extension moi-même. J’ai commencé ma carrière avec SQL Server et SSMS me convient parfaitement. J’utilise Postgres depuis près de dix ans, mais je n’ai jamais vraiment été satisfait des outils d’administration et de requêtage comme pgadmin, dbeaver ou datagrip. Le SGBD Postgres lui-même est excellent, et SQL Server aussi est au top, si l’on met de côté son coût. En revanche, il reste mystérieux pour moi que la communauté n’ait pas été plus critique envers l’écosystème d’outillage autour de Postgres

    • Personnellement, parmi tous les outils de base de données génériques que j’ai utilisés, Datagrip est de loin le plus impressionnant. J’ai testé beaucoup d’outils DB, mais la plupart donnent l’impression d’avoir été conçus par des spécialistes de la base de données, et rarement par des spécialistes des IDE. Je suis satisfait sur tous les plans : fonctionnalités, extensibilité, rythme d’amélioration. À mes yeux, ce n’est pas du tout le même niveau que les solutions open source comme pgadmin ou dbeaver. Quand je travaillais sur Oracle, Datagrip m’a vraiment préservé mentalement
    • En réalité, l’immense majorité des développeurs SQL ne se soucient pas tant que ça de l’outillage. En général, les personnes qui conçoivent les bases ou les tables sont différentes, et le développeur moyen se concentre surtout sur les tables et les vues, presque jamais sur les index. Les gens qui s’intéressent vraiment à l’outillage sont souvent appelés « DBA de développement » ; ils sont très rares, difficiles à recruter, et changent souvent d’emploi
  • L’un des domaines où JetBrains garde un avantage net sur VSCode, c’est la présence d’outils DB intégrés, propres et bien finis

    • J’essaie au moins une fois par an de revenir à VSCode, mais les intégrations git et base de données de JetBrains finissent toujours par me retenir
    • On peut aussi utiliser Datagrip séparément, et c’est la solution que j’ai choisie
  • Postico a toujours été mon outil de référence pour interagir avec Postgres. Je me demande si des utilisateurs de Postico ont essayé cette nouvelle extension

    • Postico est assez spécifique à Mac, et l’éditeur DB intégré à IntelliJ me semble bien plus riche fonctionnellement
    • En tant qu’utilisateur de Postico depuis plus de dix ans, je vais aussi essayer cette extension. J’espère que Copilot pourra reconnaître le schéma quand on l’utilise avec node-pg
  • Je me demande quel est aujourd’hui l’IDE le plus « précieux » chez Microsoft. Il y a encore quelques années, VSCode était présenté comme un « Visual Studio pour débutants », mais récemment il est devenu l’« IDE » le plus utilisé. Visual Studio est désormais surtout perçu comme un produit « legacy » — même s’il reste très bon pour le C++ et le .NET

    • En termes de portée auprès des développeurs, c’est clairement VSCode. Même sans grand intérêt pour l’écosystème Microsoft, beaucoup de développeurs .Net utilisent désormais Rider, et Visual Studio semble surtout rester dans des environnements qui changent difficilement, comme Eclipse ou Netbeans. Je suis utilisateur d’emacs, mais quand je dois utiliser SQL Server hors Windows, je finis malgré tout par ouvrir VSCode
    • En termes de rentabilité, Visual Studio est sans doute bien au-dessus. Une grande partie des workflows d’entreprise et des plugins ne sera probablement jamais portée sur VSCode. Mais pour l’entrée dans l’écosystème Microsoft, la part d’esprit chez les développeurs et l’extension vers l’IDE web, VSCode a l’avantage. Il a de nombreux atouts, même si les limites d’un shell Electron restent frustrantes
    • Clairement VSCode. C’est gratuit, mais il sert de porte d’entrée vers l’écosystème Microsoft et permet à Microsoft de rester présent sur le marché des développeurs
    • Dans l’industrie du jeu vidéo, Visual Studio est encore largement utilisé, et il est indispensable pour cibler certaines plateformes. Rider progresse, mais VS continue d’être utilisé comme une partie du système de build
    • On n’a jamais vraiment présenté VSCode comme une étape vers Visual Studio pour devenir un « vrai développeur ». Python, HTML et JavaScript ne fonctionnaient déjà pas très bien dans VS, donc il n’y avait pas vraiment de trajectoire naturelle allant de l’un à l’autre
  • Est-ce que cela donne l’impression que Microsoft Access et PostgreSQL se retrouvent après environ trente ans ?

    • Si j’ai raté quelque chose concernant Access, n’hésitez pas à me le dire. Si vous connaissez une meilleure alternative à DBeaver, je suis preneur
  • Je me demande si ce type de fonctionnalité existe aussi pour SQLite. Est-ce qu’il faut vraiment une extension entièrement nouvelle pour chaque base de données, ou bien existe-t-il des éléments réutilisables en commun ?

  • VSCode a l’air plutôt correct, mais j’aimerais qu’il y ait un moyen simple d’utiliser plusieurs fenêtres VSCode réparties sur plusieurs écrans. Pour l’instant, j’utilise un écran pour le code, et un autre pour les outils DB dans DataGrip

    • VSCode prend déjà en charge le multi-écran, voir la documentation officielle
    • On peut déjà détacher des onglets dans des fenêtres séparées et les placer sur plusieurs moniteurs dans VSCode. C’est aussi possible pour le terminal. L’interface n’est pas très intuitive, mais une fois qu’on s’y habitue, c’est vraiment agréable. On peut aussi mettre le code et le terminal côte à côte. (Ce type de chose est possible depuis longtemps dans emacs)
    • Je l’ai découvert hier : on peut détacher des onglets dans une nouvelle fenêtre. Ce n’est pas une expérience multi-écran totalement naturelle, mais cela permet au moins d’utiliser deux moniteurs
    • On peut aussi résoudre le problème par le matériel, avec par exemple un unique moniteur ultra-large de 38 pouces