Show Whitespace 8 min de lecture 25 janvier 2025

Show Whitespace : afficher les espaces et caractères invisibles

Quand l’indentation déraille, qu’un diff paraît énorme ou qu’un copier-coller casse un script, la visualisation des blancs fait gagner du temps. Activer “Show Whitespace” révèle espaces, tabs, NBSP, ZWSP et fins de ligne. Voici comment l’utiliser efficacement, quoi surveiller et comment éviter les surprises.

Qu’est-ce que “Show Whitespace” ?

C’est l’option qui rend visibles les blancs et certains symboles de contrôle via des glyphes (points, flèches, chevrons).

Principaux éléments affichés par “Show Whitespace” :

1 Espaces et séparateurs ASCII visibles

Espace, tabulation, retour chariot, saut de ligne affichés par des repères.

Space (·), Tab (→), CR (␍), LF (␊)

2 Caractères de contrôle ASCII

Codes 0 à 31 et 127 peuvent apparaître sous forme de symboles distinctifs.

NUL (0), BEL (7), ESC (27), DEL (127)

3 Espaces Unicode à rendre visibles

Ceux qui piègent souvent l’œil et les outils :

NBSP (U+00A0) - Espace insécable
ZWSP (U+200B) - Zero Width Space
ZWNBSP (U+FEFF) - Zero Width No-Break Space
Thin Space (U+2009), Hair Space (U+200A)

4 Marques techniques à révéler

BOM, soft hyphen et contrôles bidirectionnels peuvent s’afficher ou être signalés :

BOM (U+FEFF) - Byte Order Mark
Soft Hyphen (U+00AD) - Tiret conditionnel
LRM, RLM, LRE, RLE - Contrôles Bidi

Problèmes classiques mis en évidence

Copier-coller depuis le web ou Word

“Show Whitespace” révèle NBSP ou soft hyphens cachés qui cassent CSV, scripts ou champs.

Tests unitaires qui échouent

Une ZWSP invisible devient visible via l’option et explique des comparaisons étranges.

Trim() ou strip() inefficace

Vous voyez dans l’éditeur les symboles NBSP ou Hair Space laissés aux extrémités.

Regex \s ou \w incomplètes

L’affichage montre les blancs non couverts par vos classes, à ajuster au besoin.

Exemple de cas courant :

# Deux chaînes visuellement identiques
string1 = "email@domain.com"
string2 = "email@domain.com​" # ZWSP (U+200B) final
assert string1 == string2 # ❌ Échec — avec “Show Whitespace”, un repère s’affiche en fin de ligne

Symptômes qui incitent à activer Show Whitespace

🚨 Signaux d'alarme

!
Un diff git montre des lignes modifiées alors que le contenu semble identique
!
Des split() ou parse CSV échouent à cause d’un séparateur insécable
!
Un .env ne charge pas une clé à cause d’un espace non standard en fin de ligne
!
Le curseur saute sur un symbole étrange en avançant caractère par caractère
!
Une commande shell collée contient des espaces non cassables et échoue

Comment afficher et repérer les blancs

Solution recommandée : Clean ASCII en complément de “Show Whitespace”

Clean ASCII complète l’affichage des blancs en identifiant précisément chaque caractère non-ASCII, ses positions et ses codes, puis propose des remplacements sûrs.

✅ Détection automatique

NBSP, ZWSP, BOM, soft hyphens, contrôles de direction

📊 Analyse détaillée

Codes Unicode, positions exactes, explications et alternatives

🧹 Nettoyage assisté

Remplacements intelligents vers des blancs standard

💾 Export propre

Texte nettoyé et prêt à commiter

Autres méthodes de visualisation

Affichage dans l'éditeur

Activez “Show/Render Whitespace” et “Show Control Characters” (VS Code, JetBrains, Sublime, Vim)
Choisissez les symboles (points, flèches), affichez trailing spaces et surlignez NBSP/ZWSP

En ligne de commande (Unix)

# Afficher les fins de ligne et tabulations
sed -n l fichier.txt
# Voir les caractères de contrôle et blancs
cat -A fichier.txt
# Repérer les trailing spaces et tabs
grep -nP "[ \t]+$" fichier.txt
# Visualiser les octets non-ASCII (NBSP/ZWSP)
grep -nP "[^\x09\x0A\x0D\x20-\x7E]" fichier.txt

En code

JavaScript

str.replace(/ /g, "·").replace(/\t/g, "→").replace(/\u00A0/g, "⍽")

Python

re.sub(r"\u00A0", "⍽", s).replace("\t","→").replace(" ","·")

Excel / Google Sheets

SUBSTITUE(cellule;CAR(160);"⍽")

Nettoyer et prévenir avec Show Whitespace

🚀 Solution rapide avec Clean ASCII

Activez “Show Whitespace” pour visualiser, puis utilisez Clean ASCII pour corriger en un clic et harmoniser les blancs.

Détection des blancs non standard
Nettoyage des trailing spaces et NBSP
Export immédiat

Méthodes techniques avancées

🔧 Normaliser

Uniformisez l’indentation (tabs vs spaces) via .editorconfig
Supprimez les BOM indésirables dans les fichiers UTF-8
Uniformisez les fins de ligne (LF/CRLF) avec gitattributes

🧹 Filtrer

Écrivez des fonctions trim_all() qui retirent trailing spaces et NBSP
Convertissez tabs ↔ spaces selon la convention d’équipe
Remplacez NBSP/ZWSP par des blancs standards quand nécessaire

⚙️ Automatiser

Hooks pre-commit pour refuser trailing spaces et NBSP dans le code
Tests d’entrée utilisateur pour bloquer les espaces invisibles
Linting en CI avec règles sur indentation et fin de fichier

Checklist rapide

UTF-8 sans BOM pour le dépôt
Fins de ligne uniformes via gitattributes
Option “Show Whitespace” activée par défaut sur l’IDE
.editorconfig définissant indentation et trimming en fin de ligne
Lint qui surligne NBSP/ZWSP et trailing spaces
Documentation interne sur “Show Whitespace” et conventions d’équipe

Conclusion

“Show Whitespace” rend explicites des détails souvent responsables de bugs subtils, diffs massifs et conflits d’indentation.

Activez l’affichage des blancs, standardisez vos conventions et vous réduisez l’essentiel des surprises liées aux espaces et retours.

Activez Show Whitespace et nettoyez vos blancs

Utilisez notre outil pour visualiser et corriger les espaces non standards avant de commiter.

Inspecter mon texte