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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Un nouveau serveur de langage LSP pour le SGBDR PostgreSQL améliore l'expérience des développeurs SQL et PL/pgSQL

Le , par Jade Emy

51PARTAGES

5  0 
Un nouveau serveur de langage pour le SGBDR PostgreSQ vient d'être rendu public. Ce projet est en cours de développement et n'est prêt que pour les collaborateurs. La majorité du travail est encore à venir, mais ils ont vérifié que l'approche fonctionne. Ces développeurs rendent le projet public afin de pouvoir le développer en toute transparence avec l'aide de la communauté.

Caractéristiques

Le Language Server Protocol (LPS) est un protocole ouvert entre les éditeurs de code et les serveurs pour fournir des outils d'intelligence de code tels que la complétion de code et la mise en évidence de la syntaxe. Ce projet implémente un serveur de langage pour Postgres, améliorant de manière significative l'expérience du développeur au sein de son éditeur favori en ajoutant :

  • Mise en évidence sémantique
  • Diagnostic des erreurs de syntaxe
  • Affichage des commentaires SQL au survol
  • L'auto-complétion
  • Actions de code telles que Execute the statement under the cursor, ou Execute the current file
  • Formatage du code configurable
  • ... et beaucoup d'autres



Motivation

Malgré la popularité croissante de Postgres, le support du PL/pgSQL dans les IDE et les éditeurs est limité. Bien qu'il existe quelques serveurs génériques de langage SQL1 offrant la syntaxe Postgres comme une "option (flavor)" au sein de l'analyseur, ils ne sont généralement pas à la hauteur en raison de la syntaxe complexe et en constante évolution de PostgreSQL. Il existe quelques IDE2 propriétaires qui fonctionnent bien, mais les fonctionnalités ne sont disponibles que dans l'IDE concerné.

Ce serveur de langage est conçu pour supporter Postgres, et uniquement Postgres. Le serveur utilise libpg_query, ce qui permet d'exploiter la source PostgreSQL pour analyser le code SQL de manière fiable. L'utilisation de Postgres dans un serveur de langage peut sembler peu conventionnelle, mais c'est le seul moyen fiable d'analyser toutes les requêtes PostgreSQL valides. Bien que libpg_query ait été construit pour exécuter du SQL, et non pour construire un serveur de langage, toutes les faiblesses ont été atténuées avec succès dans le parser crate.

Une fois que l'analyseur syntaxique sera stable et qu'un modèle de données robuste et évolutif sera mis en œuvre, le serveur de langage fournira non seulement des fonctionnalités de base telles que la mise en évidence sémantique, la complétion de code et le diagnostic des erreurs de syntaxe, mais servira également d'interface utilisateur pour tous les grands outils de l'écosystème Postgres.

Feuille de route

Il s'agit d'une preuve de concept pour la construction d'un arbre syntaxique concret et d'un arbre syntaxique abstrait à partir d'un code source PostgreSQL potentiellement malformé. Le crate postgres_lsp a été créé pour prouver qu'il fonctionne de bout en bout, et n'est qu'un serveur de langage très basique avec une mise en évidence sémantique et des diagnostics d'erreur. Avant d'aller plus loin dans le développement des fonctionnalités, ils doivent effectuer un travail de fond :

  1. Terminer l'analyseur
  2. Mettre en œuvre un modèle de données robuste et évolutif
  3. Configurer correctement le langage server
  4. Mettre en œuvre les fonctionnalités de base du langage serveur
  5. Intégrer tous les outils open source existants
  6. Construire les pièces manquantes
  7. (Peut-être) Prendre en charge les fonctionnalités avancées avec la gestion déclarative des schémas


Source : GitHub

Et vous ?

Quel est votre avis sur cette annonce ?
Pensez-vous que cette nouvelle solution pourrait vous intéresser ?
Pensez-vous que cette nouvelle solution pourra rendre PostGreSQL encore plus populaire ou qu'il s'agit au contraire d'une annonce sans réelle importance ? Pourquoi ?

Voir aussi :

Microsoft annonce la sortie du kit de développement C# pour Visual Studio Code

Qt 6.3 est disponible avec une prise en charge améliorée de Wayland, et ajoute le module Qt Language Server

Présentation de la première release de Rust Language Server, un kit d'outils de programmation en Rust et bien d'autres langages, par Nick Cameron

Une erreur dans cette actualité ? Signalez-nous-la !