Le Bloc-notes présente toutefois une limitation très gênante : il ne permet pas d'éditer convenablement les fichiers texte en provenance de systèmes Unix/Linux ou Mac, à cause de problèmes d'encodage des retours à la ligne. En effet, les retours à la ligne sont codés sous Windows par CR/LF, c'est-à-dire l'association des caractères ASCII 13 (CR pour Carriage Return, retour chariot) et 10 (LF pour Line Feed, saut de ligne). Les systèmes Unix n'utilisent quant à eux que le caractère ASCII 10 (LF), tandis que les systèmes Mac utilisaient uniquement le caractère 13 (CR). Lorsqu'un fichier provenant d'un système Unix/Linux ou Mac est ouvert dans le Bloc-notes, toutes les lignes sont donc accolées et le retour à la ligne est remplacé par un caractère ressemblant à un petit carré, ce qui rend le texte très difficile à lire.
Il serait pourtant très simple pour Microsoft d'éviter ce désagrément. Il suffirait comme nombre d'éditeurs de texte de scanner le début d'un fichier à la recherche des caractères CRLF, CR ou LF, pour déduire le format utilisé afin de l'afficher correctement. Pour les détracteurs de Microsoft, c'est donc un exemple trivial du fait que l'éditeur ne vise absolument pas l'interopérabilité avec les autres systèmes, mais veut rendre ses utilisateurs dépendants de ses outils et formats propriétaires. Mais ce problème devrait bientôt faire partie du passé.
Après l'ajout du sous-système Windows pour Linux (WSL) pour exécuter des programmes Linux sous Windows 10 et des supports de Tar et OpenSSH dans Windows 10 April 2018 Update, la dernière initiative orientée Linux de Microsoft pour les administrateurs et développeurs est la prise en charge des caractères de fin de ligne des systèmes Unix/Linux, mais également Mac, dans le Bloc-notes.
« Pendant de nombreuses années, le Bloc-notes de Windows ne prenait en charge que les documents texte contenant des caractères de fin de ligne (EOL) Windows - Retour chariot (CR) et saut de ligne (LF). Cela signifie que le Bloc-notes n'a pas pu afficher correctement le contenu des fichiers texte créés sous Unix, Linux et macOS », explique Microsoft dans un billet de blog, avant d'illustrer cela par une capture d'écran du Bloc-notes essayant d'afficher le contenu d'un fichier texte Linux .bashrc, qui contient uniquement des caractères de fin de ligne Unix LF :
Comme vous pouvez le voir, le Bloc-notes n'affiche pas correctement le contenu du fichier, et Microsoft reconnait que « cela a été un désagrément majeur » pour les développeurs, les professionnels de l'informatique, les administrateurs et les utilisateurs finals dans toute la communauté. Mais « aujourd'hui, nous sommes ravis d'annoncer que nous avons résolu ce problème ! À partir de la version actuelle de Windows 10 Insider, Notepad prendra en charge les fins de ligne Unix/Linux (LF), les fins de ligne Macintosh (CR) et les fins de ligne Windows (CRLF) comme d'habitude. » Les nouveaux fichiers créés dans Notepad utiliseront par défaut la fin de ligne Windows (CRLF), mais il sera désormais possible d'afficher, de modifier et d'imprimer les fichiers existants, en maintenant correctement le format de fin de ligne courant du fichier.
Avec cette modification, voici désormais comment s'affiche dans Bloc-notes le contenu du même fichier .bashrc Unix/Linux présenté plus haut :
Sans commentaire ! Le problème d'affichage est bel et bien corrigé. On notera comme autre changement que la barre d'état de Bloc-notes indique aussi le format EOL détecté dans un fichier ouvert.
Comme pour toute modification d'un outil existant depuis longtemps, Microsoft pense qu'il est possible que ce nouveau comportement ne soit pas optimal pour certains utilisateurs. Le géant du logiciel donne donc à ces derniers la possibilité de désactiver ce nouveau comportement et revenir au comportement original de Bloc-notes. Pour ce faire, vous pouvez modifier, à l'emplacement HKEY_CURRENT_USER\Software\Microsoft\Notepad, certaines clés de registre (fPasteOriginalEOL et fWindowsOnlyEOL) pour redéfinir la façon dont le Bloc-notes gère le collage de texte et le caractère de fin de ligne à utiliser lorsque la touche Entrée ou Retour est tapée.
Valeur | Valeur activée | Valeur désactivée |
fPasteOriginalEOL Par défaut : 0 |
0 : remplace le caractère EOL du texte qui est en train d'être collé dans le Bloc-notes par le caractère EOL du document ouvert. | 1 : le caractère EOL dans le texte collé dans le Bloc-notes n'est pas modifié. |
fWindowsOnlyEOL Par défaut : 0 |
0 : insère le caractère EOL détecté dans le document ouvert lorsque la touche Retour ou Entrée est tapée. | 1: force les fins de ligne Windows CRLF lorsque la touche Retour ou Entrée est tapée. Dans ce mode, le Bloc-notes se comportera comme il l'a toujours fait et ne va pas correctement afficher les fichiers texte Linux et Mac. |
Source : Blog Microsoft
Et vous ?
Que pensez-vous de ce changement ? Arrive-t-il trop tard ?
Comment avez-vous l’habitude de gérer l’affichage des fichiers texte des systèmes Linux et Mac sous Windows ?
Voir aussi :
Microsoft rend un échantillon du sous-système Windows pour Linux open source à l'intention des mainteneurs de distributions
Microsoft ajoute le support de Curl et Tar dans Windows 10, accessibles directement depuis la ligne de commande
Microsoft ajoute le support d'un client OpenSSH dans Windows 10, accessible directement depuis la ligne de commande
Microsoft parle des évolutions du sous-système Linux WSL qui vont accompagner la MàJ Creators Fall Update attendue le 17 octobre
Build 2017 : après Ubuntu, Fedora et SUSE annoncés sur Windows 10, les distributions Linux seront également disponibles sur Windows Store