- 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
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.rbde 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 pgstrapPremiè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
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
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
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
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
Est-ce que cela donne l’impression que Microsoft Access et PostgreSQL se retrouvent après environ trente ans ?
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