Ça faisait un moment que je lorgnais la police de grafikart, en me demandant comment il pouvait avec des jolis signes de comparaison, et une police attachée pour certains mots, comme ça :

C'est trop bien non ?
J'ai enfin trouvé comment faire ça. On commence par installer le lot de polices qui permet de faire ça : FIRA CODE ISCRIPT. Elle est elle-même héritée de la police FIRA CODE, qui permet de gérer les signes de comparaisons transformés : FIRA CODE. Si vous voulez juste ça et pas l'italique, la seconde peut vous suffire.
Comme on peut le voir ci-contre, les signes de comparaisons sont rendus plus lisibles.

Installation
Installation des polices
Depuis ce dépôt, télécharger les trois polices et les installer sur votre ordinateur.
Paramétrage de VS Code
Ouvrez ensuite les réglages de VS Code (raccourci CTRL + ,
) puis cherchez Éditeur de texte
(text editor) puis Police
(font), et renseignez pour le champ Font Family
la valeur Fira Code iScript
.
Activation des ligatures
Pour activer les ligatures, vous devez ensuite cliquer sur Modifier dans settings.json
, et modifier la ligne comme suit :
Cela permet d'activer la transformation des signes de comparaison.

Personnalisation des mots en italique
Depuis le même fichier settings.json
, nous pouvons aussi choisir quels seront les mots que l'on veut en italique. Pour cela, on peut venir ajouter (ou compléter) le fichier en question avec ces lignes :
Attention, ce sont mes choix, vous aurez peut-être envie de personnaliser tout ça !
Pour personnaliser les mots que vous voulez mettre en italique et ceux que vous ne voulez pas, il y a un moyen assez simple. La doc sur qu'est-ce qui peut exister comme clé de textMateRules
est assez flou. Par contre, il existe un moyen hyper simple de cibler ce que vous voulez ajouter :
- Allez dans votre projet de code, et mettez le curseur sur le mot que vous voulez mettre en italique (
return
par exemple), - Pressez ensuite
CTRL + SHIFT + P
- entrez ensuite
Developer inspect editor token and scopes
et entrez - vous verrez ensuite apparaître la fenêtre ci-contre, qui vous dit dans la partie
textmate scope
quel portée l'atteint. Ici, on peut voir que c'estkeyword.control.return
qui l'atteint, on peut inclure le.php
si on veut ne cibler les return que pour le langage php, ou bien l'enlever si on veut que tous les return soient concernés, quelque soit le langage.

Une fois qu'on a trouvé le bon scope, on peut revenir dans le fichier settings.json
, et ajouter la ligne dans la première partie.
Désactiver l'italique pour certains mots
Il peut arriver que certains mots soient déjà en italique, même si vous ne mettez rien dans la première section : le thème que vous choisissez peut en effet imposer certains styles par défaut.
Par exemple, dans mon cas les mots function
et class
sont déjà en italique, et ça ne me convient pas. Je peux donc faire la même chose à l'envers, c'est-à-dire récupérer le scope de ces mots, et venir les mettre dans la seconde partie du fichier settings.json
.
That's all ! Bon dev !