Les nouveautés de GusExplorer 1.63

La version 1.63 de GusExplorer intègre un certain nombre de nouveautés que je vais vous détailler ci-dessous.

L’éditeur zip_gus

Ce nouvel éditeur est la grande nouveauté introduite dans GusExplorer 1.63. J’ai ainsi ajouté un éditeur lié à une nouvelle extension de fichier : zip_gus.

En fait, il ne s’agit pas d’un éditeur à proprement parlé, mais plutôt d’un exécuteur qui exécute un script gus et affiche l’IHM que ce dernier lui renvoie. Comment cela fonctionne-t-il et à quoi cela peut-il servir ?

Le fichier zip_gus n’est rien d’autre qu’un fichier zip qui possède à sa racine un fichier de script nommé init.gus. Et c’est précisément ce fichier qui est exécuté et dont le résultat est affiché dans la zone graphique de l’éditeur. Il se comporte donc comme un « guibuilder » (fichier tool muni de l’entité gus.sys.filetool.ext.guibuilder1) à un détail près qui a son importance… Le fichier zip_gus embarque avec lui toutes les ressources nécessaires au fonctionnement du script init.gus ! Il peut s’agir de fichiers de configuration, de fichiers multimédia, de jars, ou même d’un système complet de scripts pouvant s’appeler les uns les autres (et être appelé par init.gus, cela va de soi).

Contrairement à un guibuilder, le fichier zip_gus a l’avantage d’être portable, ce qui en fait un outil adapté à l’import de configuration dans GusExplorer, permettant de compléter son répertoire root ou même d’en créer un nouveau proposant tout un panel de nouvelles fonctionnalités prêtes à l’emploi. Dans un rôle de « configurateur », l’IHM se résumera bien souvent à une console permettant de suivre ou d’orienter l’évolution du processus (comme dans l’illustration ci-dessous). Cependant, il est aussi possible d’imaginer toutes sortes d’IHM plus sophistiquées proposant des outils ou même des « mini applications » autonomes qui embarquent leurs propres ressources.

Chargement du panneau de détail d’un fichier.

Jusqu’à présent, les fichiers sélectionnés dans l’explorateur étaient systématiquement chargés dans l’éditeur correspond, même lorsque leur taille excessive risquait d’engendrer des problème de mémoire. Désormais le chargement devient manuel pour les fichiers de plus de 50Mo (limite paramétrable), et il est aussi possible de bloquer le chargement du fichier en maintenant la touche ALT enfoncée. Tout cela est documenté dans le menu aide.

Améliorations de l’éditeur tree

J’ai retravaillé le mode edit de l’éditeur tree (F12) notamment les fonctions de déplacement de de réorganisation des nœuds qui étaient boguées. J’ai aussi ajouté la possibilité de dissoudre les nœuds (remplacement d’un noeud par ses enfants), et j’ai rédigé une petite doc accessible dans le menu aide.

Améliorations de l’éditeur properties

Sur cet éditeur, j’ai ajouté quelques raccourcis clavier dans la zone d’édition étendue, pour sauvegarder, annuler, aller au suivant ou précédent.

Améliorations de l’outil dbViewer

La liste des bases de données indique désormais le nombre de tables dans chaque base, et permet d’importer aisément des dumps avec un simple Ctrl V des fichiers sql à importer. J’avais déjà ajouté le mécanisme d’import/export de dumps sql à la version précédente, mais cela ne fonctionnait pas bien. Je l’ai donc entièrement revu et corrigé.

J’ai par ailleurs ajouté le ctrl-shift-H sur les bases pour y lancer des traitements personnalisés (sur le même principe que le ctrl-shift-H des éditeurs texte). C’est notamment pratique pour exécuter rapidement des requêtes SQL sur les différentes tables de la base.

Le panneau de visualisation des tables n’a en revanche toujours pas été modifié, et cette tâche est prévue pour une prochaine version. Ce panneau reste actuellement très incomplet et peu fonctionnel.

Améliorations dans l’éditeur texte

Les comportements du ctrl-F, ctrl-shift-F, ctrl-D et ctrl-E deviennent personnalisables comme l’étaient déjà les comportement du ctrl-B et du ctrl-C.

Et les opérateurs ?

Quelques opérateurs ont été améliorés parmi lesquels : _jdialog_inputarea, _isdir, _isfile, _s

Plusieurs autres opérateurs ont été ajoutés (on est passé de  3704 à 3863). On pourra notamment citer :  _md5hexa, _read_prop_vault, _rs_smart_display, _jdbc_findall, _jdbc_countby, _parsejava_methodsigns, _parsejava_methodfullsigns

Voilà pour ce petit tour d’horizon.

A bientôt et joyeux noël à tous !

Quoi de neuf avec Gus Explorer 1.62 ?

Cette nouvelle version apporte un certain nombre d’améliorations touchant à l’ergonomie générale, l’outil de visualisation des bases de données, l’affichage des historiques GIT, l’outil library1, ainsi que les opérateurs de script.

L’ergonomie générale :

Le plus notable est sans doute la possibilité de personnaliser l’affichage des onglets dans le panneau central. Le menu Tabs/Selected tab est enrichi de 2 nouvelles actions qui permettent de choisir un display spécifique (icône + titre) pour le fichier de l’onglet courant, ainsi que de modifier le chemin d’accès lié à l’affichage lorsque le fichier a été déplacé ou renommé :

Dans le menu Tools\Colors, une action « Color picker » a été ajoutée en plus du « Capture color » :

Dans le menu Tools\clipboard, une action « Search » a été ajoutée, permettant d’afficher et de rechercher directement dans le texte ou la liste de fichiers du clipboard.

Icône d’erreurs : cette icône située en bas à droite de l’application permet désormais d’afficher la console de détail des exceptions lorsqu’on clique dessus . Elle est de couleur rouge lorsque des erreurs sont en attente d’affichage, et de couleur grise sinon.

L’outil de visualisation des bases de données :

Le driver jdbc pour mysql/mariadb a été mis à jour, ce qui corrige le bug qui empêchait de se connecter à distance.
Il est aussi possible de paramétrer le chemin d’accès au répertoire racine de l’installation locale afin de donner accéder aux exécutables mysqldump.exe et mysql.exe, ce qui fait apparaître des actions pour sauvegarder / restorer / importer / exporter des bases de données sous forme de fichier sql (dump).
Des commandes clavier ont été ajoutées sur les bases : F1, F2, F3, F4, F5, DEL, Shift-DEL (empty), Ctrl-S (save), Ctrl-Shift-S (restore).
Quant à la commande F4, elle permet d’analyser une base de données (ou une table).

L’affichage de l’historique des commits d’un fichier:

La fonctionnalité de recherche de l’historique est grandement améliorée notamment avec les options ! (strict) et ‘ (full text) similaires à de l’outil de recherche dans les dossiers. Il est par ailleurs possible de rechercher dans les contenus des versions du fichier en plus des messages et des auteurs des commits GIT. Les options @ (author) : (message) et > (contenu) permettent de spécifier les champs à inclure dans la recherche. Pour finir, la commande CTRL-R depuis la zone texte du détail du commit permet d’effectuer une recherche avec le texte sélectionné, et de même, lancer l’action d’affichage depuis l’éditeur de fichier prendra en compte une éventuel sélection de texte comme critère de recherche.

L’outil library1:

Diverses commandes ont été ajoutées sur la liste : ctrl-up/down/right/left (pour réagencer les items), F3 (duplication), Ctrl-DEL (clear), et Shift-DEL (clean). Et il est désormais possible de sélectionner 2 fichiers en même temps (qui apparaissent dans un split).

De nouveaux opérateurs de scripts :

  • _e_open_as_batch
  • _e_exec_as_batch
  • _wait_until_filewritten
  • _iso3166_countrymap
  • _iso639_languagemap
  • _seticon
  • _setforeground
  • _setbackground
  • _truncate_pretty
  • _showmini
  • _parse_js (expérimental)

Et quelques améliorations :

  • _tourl
  • _e_replace1
  • _read_prop

Et quelques petites corrections de bugs…

Affichage des stacktraces des exceptions dans le panneau de détail.

Tabulation dans l’éditeur texte : dans le cas d’une sélection monoligne, le comportement par défaut doit s’appliquer.

 

Nouvelles fonctionnalités de Gus Explorer

Il est temps de donner un aperçu des nouvelles fonctionnalités et améliorations apportées à Gus Explorer dans les dernières versions 1.6 et 1.61.

Mécanisme de personnalisation des éditeurs

Il existait déjà un mécanisme de personnalisation permettant d’ajouter des actions dans la barre d’outil des éditeurs en fonction du type de fichier, ce qui n’était pas vraiment pratique.

Le mécanisme a donc été entièrement revu pour permettre une personnalisation en fonction des emplacements des fichiers. On peut désormais indiquer un répertoire racine en plus de l’extension ciblée.

Autre amélioration notable : on peut personnaliser des commandes clavier (ctrl-c, ctrl-v, ctrl-B, …) avec des scripts gus permettant d’indiquer le comportement de chaque commande. Dans un fichier vue, on pourra par exemple personnaliser le ctrl-V pour qu’il ajoute automatiquement un import de JS à partir du fichier préalablement mis dans le presse-papier.

Le quick replace et le smart replace

Les fonctionnalités de quick replace et de smart replace (ctrl-W et ctrl-shift-W) sont des fonctionnalités incontournables des éditeurs textes qui permettent d’effectuer des replacements rapides dans le texte à partir d’une séquence d’édition.

Leur principale limitation venait du fait que la transformation concernait l’ensemble du document. Il est désormais possible d’effectuer des sélections successives pour indiquer des parties du texte à transformer. De plus, une icône indique l’état du quickreplace, notamment si la séquence d’édition est en cours ou consommée, et s’il s’agit d’une édition basée sur une position ou sur un remplacement. Une petite vidéo serait sans doute plus parlante pour montrer ce que cela donne en pratique. J’essaierai de la faire à l’occasion.

Un fichier outil de navigation textnav

Un nouveau fichier outil (.tool) a été ajouté pour permettre de naviguer dans un fichier texte, grâce à un ensemble d’encres affichées dans une liste, à gauche du texte. Un script gus permet de déterminer les encres et leurs emplacements.

Paramétrage des fichiers outil

Un onglet Settings permet désormais de paramétrer les différents fichiers outil, en y spécifiant notamment les scripts gus associés.

Menu de capture de texte

Dans le menu Tools\Screen de l’application, des actions ont été ajoutées pour extraire le texte à partir d’une zone de capture d’écran. Cette fonctionnalité est basée sur l’OCR Tesseract.

Menu Monitor

Ce menu permet de faire apparaître une fenêtre permettant de visualiser l’affichage d’un écran distant ainsi que l’emplacement de al souris dans celui-ci (par un rond jaune). A quoi cela peut-il bien servir? Si vous avez déjà utilisé un miracast ou un chromecast sur un écran se trouvant à l’autre bout de la pièce, vous comprendrez tout de suite l’utilité d’un tel outil. ^^

Génération de PDF

J’ai commencé à implémenter un objet build accessible dans les scripts gus permettant de dessiner dans un PDF. Voici un petit exemple de génération de frise historique (présidents américains et français) :

Les éditeurs xhtml et vue

Je mentionne les éditeurs de fichiers xhtml et vue (nouveau) sur lesquels j’ai pas mal travaillé, pour répondre à des besoins liées au boulot…

Et pour finir

Il est difficile de lister toutes les petites améliorations apportées au fil de l’eau. Plusieurs opérateurs ont fait leur apparition pour convertir des textes dans les différents formats de case (camelcase, pascalcase, kebabcase, snakecase, pointcase, spacecase…) ou parser le code Java. Divers fichiers outils ont été amélioré, comme la librairie dont l’ergonomie s’est améliorée.

Voilà, pour ce petit tour d’horizon.

A bientôt !

Augustin

Gus Explorer 1.6

Bonjour à tous

Après une longue absence, je reviens sur ce blog avec une nouvelle version de Gus Explorer : 1.6

  • Lien de téléchargement : gusexplorer_1.6.jar
  • Nombre d’opérateurs disponibles : 3579
  • Taille : 182 127 Ko
  • Compatibilité : Java 17

Cette version comporte un grand nombre d’améliorations et de nouveautés qui feront l’objet de futurs articles.

A bientôt !

Augustin

Gus Explorer 1.511

Bonjour à tous

Voici la version 1.511 de Gus Explorer :

  • Lien de téléchargement : gusexplorer_1.511.jar
  • Nombre d’opérateurs disponibles : 3457
  • Taille : 78 387 Ko
  • Compatibilité : Java 10

Depuis que j’ai livré la version 1.51, j’ai découvert quelques bugs qui méritaient d’être corrigés sans tarder (surtout concernant l’éditeur .tree). J’ai aussi ajouté une console pour lancer des commandes de script :

A bientôt !

Augustin