Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

Tag - IntelliJ IDEA

Fil des billets - Fil des commentaires

jeudi 26 décembre 2019

Deux Plugins IDEA pour copier du code en tant qu'image et les utiliser dans des fichiers Markdown

Intégrer quelques lignes de code dans un fichier Markdown, README ou autre, ne pose pas de problème particulier.

On utilise alors:

  • Une indentation de 4 espaces (ou d'une tabulation)
  • Une séquence de code entre deux sections délimitées par trois backticks

Par exemple:

```console
$ sudo curl -L https://git.framasoft.org/grumpyf0x48/liar/raw/0.1/liar -o /usr/local/bin/liar
```

ce qui donne le rendu suivant.

Code in Markdown

Vous noterez qu'ici le caractère $ a été ajouté pour bien matérialiser la présence d'un Shell mais il n'est absolument pas requis dans la syntaxe Markdown.

Malheureusement, lorsque votre moteur de blog, par exemple la version de dotclear utilisée ici par Gandi, ne vous permet pas un rendu sympa des blocs de code, il faut bien trouver une solution !

Créer une image à partir d'une sélection de code dans IntelliJ

On va alors avoir recours à un plugin dans IntelliJ pour créer très rapidement une image à partir d'une section de code que l'on vient de sélectionner.

Ce plugin, c'est Code Screenshots, qui une fois installé va créer une image du code sélectionné chaque fois que vous utiliserez le raccourci: Ctrl+Alt+Shift+A.

L'image en question sera alors placée dans le presse papier (clipboard) du système.

On récupère l'image de la façon suivante:

xclip -selection clipboard -t image/png -o > $HOME/code-snippet.png

Notez qu'il nous faudra ensuite l'uploader sur le site du blog.

Copier une image dans un fichier Markdown depuis IntelliJ

Si maintenant nous avons une image dans le presse papier du système et que nous souhaitons l'intégrer dans un fichier Markdown édité avec IntelliJ, nous allons installer un deuxième plugin, et c'est Paste Images into Makdown.

Une fois installé, le raccourci Ctrl + V utilisé dans un fichier Markdown lorsqu'une image existe dans le presse-papier affichera la boite de dialogue suivante:

Paste Image into Markdown

Il ne nous reste alors qu'à choisir:

  • le nom de l'image
  • le répertoire où l'on souhaite la placer

et le fichier Markdown est alors modifié comme suit:

![](.README_images/040301ad.png)

Il nous reste enfin à donner un titre à cette image dans le Markdown.

dimanche 17 mars 2019

Faire cohabiter les raccourcis clavier de Linux avec ceux d'IDEA

Les raccourcis clavier permettent de gagner un temps précieux quand on les connait bien, mais encore faut-il que ceux définis par le logiciel qu'on utilise n'entrent pas en conflit avec ceux du système.

L'IDE de développement de JetBrains, IDEA, permet d'utiliser plusieurs KeyMap:

  • Default
  • Default for GNOME
  • Default for KDE
  • ...

On utilisera ici 'Default for GNOME'.

Parmi les raccourcis clavier les plus utilisés dans IDEA, on trouve:

  • Ctrl + Alt + Left: Navigate back
  • Ctrl + Alt + Right: Navigate forward

Malheureusement ces raccourcis sont déjà définis par Linux pour passer d'un espace de travail à un autre.

De même les racourcis clavier suivants d'IntelliJ IDEA:

  • Alt + F7: Find usages
  • Ctrl + Alt + L: Reformat code
  • Alt + F8: Evaluate expression

sont utilisés respectivement par Linux pour les actions suivantes:

  • Move window
  • Lock screen
  • Resize window

Comme je passe le plus clair de mon temps avec IDEA, j'ai changé les raccourcis Linux cités ci-dessus en leur ajoutant la touche Shift, ce qui donne par exemple:

  • Ctrl + Alt + Shift + L: Lock screen

Cela fait certes un peu de gymnastique avant d'aller déjeuner, mais au moins je n'ai pas changé la configuration d'IDEA.

Mais ce n'est pas fini !

Le raccourci Ctrl + Alt +T qui permet de lancer un Terminal sous Linux est aussi défini par IDEA. Je désactive donc le raccourci d'IDEA que ne n'utilise pas.

Un autre. IDEA définit Ctrl + E pour accéder à la liste des fichiers récents. Mais ce raccourci permet aussi d'aller à la fin de la ligne dans une session Bash !!! Donc si vous ouvrez un Terminal dans IntelliJ, Ctrl + E affiche les fichiers récents au lieu d'aller à la fin de la ligne de commande. Pour celui-ci, j'ajoute Shift sur le raccourci d'IDEA.

Un dernier, et qui n'a rien à voir avec IDEA, c'est Alt + F, qui permet d'avancer d'un mot en Bash, se trouve désactivé par défaut par la configuration du menu fichier de la fenête des Terminaux Mate. Je modifie donc ce paramètre pour pouvoir utiliser pleinement les raccourcis Bash:

Capture-Raccourcis_clavier.png

jeudi 31 août 2017

Ajouter un Hook de Pre Commit dans IntelliJ IDEA

La boite de dialogue de commit d'IntelliJ IDEA propose entre autres de faire les actions suivantes avant le commit:

  • Reformatter le code
  • Optimiser les imports
  • Chercher les TODO

....

En revanche rien n'est prévu par défaut dans IntelliJ pour ajouter un script utlisateur de pre commit, qui par exemple va vérifier que vos traces ajoutées à des fins de debug ont bien été enlevées avant le commit.

Pour ajouter un Hook de pre commit, il faut installer un plugin, nommé Pre Commit Hook Plugin, qui va se charger d'éxécuter avant commit un script que vous aurez créé à la racine de votre projet et nommé pre-commit-hook.sh.

Le script sera appelé avec en paramètres les fichiers participant au commit. Il vous suffit donc dans le script de renvoyer le code retour 1 si vous avez oublié des traces de debug.

Ainsi vous éviterez les commits supplémentaires avec le message signficatif: "Oopppps: forgot to remove debug traces" !

Un exemple de script de pre commit:

#!/bin/bash

for file in "$@"; do
    grep -H -n DBG_TRACE "$file" && exit 1
done

exit 0

Le Pre Commit Hook Plugin est hébergé sur GitHub.