DataGrip 2018.3: prise en charge de Cassandra, génération de fichiers SQL à partir d'objets, nombreuses améliorations de l'auto-complétion, et bien plus encore

Salut C'est une histoire sur les nouveautés de notre plugin de base de données. Nous le publions en tant que produit DataGrip distinct et l'expédions à presque tous nos autres IDE. Il y aura de nombreuses photos et gifs. Pour ceux qui sont trop paresseux pour les regarder:

  • Assistance Cassandra
  • CrĂ©ation de fichiers SQL Ă  partir d'objets de schĂ©ma
  • Nouvelles inspections
  • Beaucoup de nouveaux morceaux de saisie semi-automatique
  • Travailler avec une source de donnĂ©es via une seule connexion
  • Nouvelle recherche
  • Jeu de couleurs Ă  contraste Ă©levĂ©

Merci à ceux qui essaient la version EAP et signalent des problÚmes à notre tracker: cela aide à ne pas les faire glisser vers la version :) Les utilisateurs actifs ont déjà reçu des abonnements gratuits pendant un an.

image

Assistance Cassandra


Nous maĂźtrisons lentement les bases de donnĂ©es NoSQL. Jusqu'Ă  prĂ©sent, seuls ceux qui utilisent des langages de type SQL pour les requĂȘtes. Nous avons pris en charge Clickhouse en 2018.2.2 , et dans cette version, nous avons ajoutĂ© Cassandra.



Complétion automatique


Il y a beaucoup de nouveautés dans ce sous-systÚme.

Ajout de la possibilité d'insérer automatiquement des alias aprÚs les noms de table. Si le pseudonyme que nous vous proposons ne vous convient pas, indiquez les pseudonymes à utiliser pour des noms spécifiques.



En conséquence, cela fonctionne comme ceci:



Lorsque vous utilisez GROUP BY, DataGrip propose une liste de colonnes non agrégées .



La clause SELECT propose une liste de toutes les colonnes .



La complétion automatique fonctionne pour les paramÚtres nommés .



Nous avons également ajouté des informations de contexte pour des noms identiques.



Finalement terminé le postfix : c'est à ce moment qu'ils écrivent quelque chose en rapport avec l'objet.



Par exemple, si aprÚs SELECT vous écrivez le nom de Table.afrom, la clause FROM est développée dans la liste des colonnes. Ou, à notre avis, le plus pratique, vous pouvez ajouter .cast à une colonne ou une variable.

Mieux vaut voir une fois:



La saisie semi-automatique est devenue meilleure pour les fonctions de fenĂȘtre : OVER () est automatiquement ajoutĂ© et le chariot est placĂ© au bon endroit.



Refactoring


Une chose importante qu'il Ă©tait grand temps de faire : utiliser un alias au lieu d'une table. Cliquez sur le tableau Alt + EntrĂ©e → Introduire l'alias. Les tables d'utilisation seront remplacĂ©es par des alias.



AprĂšs la version prĂ©cĂ©dente, nous avons reçu un retour dĂ©taillĂ© de speshuric . Par exemple, il a trouvĂ© de nombreux scripts non Ă©vidents pour extraire la sous-requĂȘte en tant que CTE. Ce refactoring est appelĂ© via le menu Refactor → Extract → Subquery as CTE , mais nous vous recommandons de vous habituer Ă  Find Action (Ctrl + Shift + A).



Qu'avons-nous fait:

- Le nouveau nom de CTE n'est pas en conflit avec l'existant: DBE-6496
- Nous déterminons correctement le contexte si la demande est encapsulée dans une autre expression: DBE-6503 , DBE-6517
- Nous ne proposons pas de refactoring en cas d' AS TableName : DBE-6490
- Pris en charge pour MySQL 8.
- Fonctionne comme il se doit avec des sous-requĂȘtes profondes. DBE-7332 , DBE-7333

Génération de code


Des modĂšles de code peuvent ĂȘtre attachĂ©s aux dialectes - un modĂšle peut fonctionner pour certaines bases et ne pas fonctionner pour d'autres.



Plus important encore: le mĂȘme modĂšle peut gĂ©nĂ©rer un code diffĂ©rent pour diffĂ©rentes bases de donnĂ©es. Pour ce faire, crĂ©ez des groupes de modĂšles pour chaque dialecte, car les mĂȘmes noms de modĂšles ne sont pas pris en charge dans le mĂȘme groupe (par dĂ©faut, nous stockons des modĂšles dans le groupe SQL).

Par exemple, nous voulons créer un modÚle pour extraire les n premiÚres lignes d'un tableau. PostgreSQL et SQL Server utilisent une syntaxe différente pour cela, et nous utiliserons toujours le modÚle seln . Par conséquent, implémentez deux modÚles dans deux groupes différents et affectez-leur les dialectes correspondants.



Il se présente comme ceci:



À partir de la clause SELECT, vous pouvez maintenant gĂ©nĂ©rer une table avec la mĂȘme signature. Pour ce faire, appuyez sur Alt + EntrĂ©e -> CrĂ©er une dĂ©finition de table



Et un petit correctif pour le modÚle INS - les info - bulles pour les noms de colonnes sont affichées automatiquement.



Analyse de code


Nous avons ajouté des inspections concernant la suppression et la mise à jour dangereuses - nous vous avertirons que vous perdrez des données.





Et si vous courez, nous clarifierons :)



Une autre inspection trouvera les colonnes inutilisĂ©es de la sous-requĂȘte .



Et l'autre est le code inutilisé.



Objets de base de données


Le générateur SQL ( Ctrl / Cmd + Alt + G ) a appris à écrire les résultats dans un fichier : pour cela, cliquez sur le bouton Enregistrer .

Par défaut, deux méthodes d'organisation des fichiers sont disponibles, mais si vous en avez besoin de plus, écrivez dans les commentaires.



Ou maintenant, si vous cliquez sur le crayon à droite, vous pouvez éditer les scripts correspondants sur groovy. Ou créez le vÎtre.



Extensions prises en charge dans PostgreSQL.



Nous affichons des statistiques dans la fenĂȘtre d'informations pour la source de donnĂ©es (Ctrl + Q pour Windows / Linux, F1 pour OSX), y compris le nombre d'objets diffĂ©rents.



Et lors de la génération du code pour supprimer l'objet, l'option ' Utiliser la syntaxe de cascade de drop ' a été ajoutée.



Connexion


Avant la version actuelle, chaque nouvelle console signifiait une nouvelle connexion. D'autres choses qui ne nécessitaient pas la console ont également créé des connexions distinctes: exécution de scripts, importation, une interface graphique pour créer des tables. Dans 2018.3, si vous activez le mode de connexion unique dans les propriétés de la source de données, tout le travail se fera via une connexion.

Par consĂ©quent, des objets temporaires apparaĂźtront dans l'arborescence et les consoles et les Ă©diteurs de donnĂ©es fonctionneront au sein de la mĂȘme transaction. Il s'agit de la premiĂšre Ă©tape de la gestion complĂšte des connexions que nous allons aborder.



Et ils ont Ă©galement fait en sorte que l'IDE lui-mĂȘme se reconnecte aprĂšs une pĂ©riode d'inactivitĂ©.

Recherche et navigation


La plateforme IntelliJ a introduit une nouvelle recherche : elle combine diffĂ©rents types de recherches qui Ă©taient fragmentĂ©es: Rechercher partout , Rechercher une action , Aller Ă  la table / vue / procĂ©dure / , Aller au fichier et Aller au symbole . Dans DataGrip, le deuxiĂšme onglet est appelĂ© Tables et dans d'autres IDE, il est appelĂ© Classes. Mais elle fait la mĂȘme chose: elle recherche Ă  la fois des objets de base de donnĂ©es et des classes. La touche Tab permet de basculer entre les onglets.

Nous n'avons pas sérieusement changé les algorithmes de recherche: si soudainement vous cherchiez bien quelque chose, mais maintenant il est mal recherché, veuillez écrire.



Plusieurs lignes Ă  la fois peuvent dĂ©sormais ĂȘtre trouvĂ©es dans «Rechercher dans le chemin». ParticuliĂšrement utile pour SQL - la requĂȘte peut ĂȘtre trouvĂ©e dans le code source des objets.



Les commentaires TODO peuvent dĂ©sormais ĂȘtre multi-lignes. Afin d'attraper les lignes suivantes dans un tel commentaire, sĂ©parez-les avec un espace du symbole de commentaire. Les tĂąches ainsi prĂ©sentĂ©es relĂšvent de la fenĂȘtre d'outils TODO .

L'image est plus claire:



Interface


La nouvelle palette de couleurs est trÚs contrastée.



Changer de schéma comme celui-ci: Appuyez sur Ctrl + `et sélectionnez Look and Feel.

Un menu est apparu pour sĂ©lectionner la couleur de la source de donnĂ©es dans sa fenĂȘtre de propriĂ©tĂ©s.



Et un peu de convivialité a été ajoutée à la boßte de sélection de ligne sur la page. Auparavant, pour que le résultat affiche toutes les lignes, vous deviez écrire -1 ici :)

Maintenant, il y a une case Ă  cocher.



C’est tout!

→ Plus de dĂ©tails ici
→ TĂ©lĂ©charger la version d'essai pendant un mois
→ Le tweeter que nous lisons
→ Le courrier que nous lisons
→ Bug Tracker

Équipe DataGrip

Source: https://habr.com/ru/post/fr431646/


All Articles