Conservation des tabulations du code source

Ici c'est moi qui vous informe de la vie du site et du forum.

Modérateurs : Papy.G, fneck, Carl

Répondre
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Conservation des tabulations du code source

Message par Bricox »

Bonjour,
Suite au MP avec @fneck, je lance un brainstorming sur ce thème.

Ma 1ére idée est d'activer, au niveau du site, le BBCode : [pre]

Voici l'exemple de syntaxe mais en remplaçant mon image de code par le vrai code :
[pre]{
testConserveTabSource.jpg
testConserveTabSource.jpg (8.48 Kio) Consulté 910 fois
}[/pre]

J'ai lu cette possibilité ici : https://www.phpbb.com/community/viewtopic.php?t=1900255
Cela doit conserver les espaces également.

Merci de vos aides... :)
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
__sam__
Messages : 7988
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conservation des tabulations du code source

Message par __sam__ »

Pourquoi ? Il y a un problème avec la balise [ code] ?

Code : Tout sélectionner

void UART_Test(void) {
	UART_TxStr(txt_scroll)	;UART_TxRetr();
	UART_TxI8H(0xa5)	;UART_TxRetr();
	UART_TxI8D(123)		;UART_TxRetr();
	UART_TxI8K(5,'h',7)	;UART_TxRetr();UART_TxRetr();
}	|			|
	|			|
       \|/		       \|/
012345670123456701234567012345670123456701234567
|/|\   /|\
| |	|
| +-- espace (passe à la colonne suivante 1 -> 2)
|	+--- tabulation (saute à la colonne 8)
Pas de problèmes.. Pour rappel, une tabulation amène à la prochaine colonne multiple de 8 (8 = 0 modulo 8 ).
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17539
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Conservation des tabulations du code source

Message par fneck »

En fait Britox voudrait un déplacement de 4 caractères seulement. J'avoue que je ne trouve pas cela très important.
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Daniel
Messages : 17426
Inscription : 01 mai 2007 18:30
Localisation : Vaucluse
Contact :

Re: Conservation des tabulations du code source

Message par Daniel »

La bonne solution consiste à utiliser des espaces. On peut ainsi avoir un espacement indépendant de l'écart des tabulations.
Évidemment cette méthode ajoute quelques caractères supplémentaires.
De nos jours ça n'a pas grande importance et ça évite les mauvaises surprises quand on change de logiciel d'affichage ou de réglage des tabulations.

Code : Tout sélectionner

void UART_Test(void) {
     UART_TxStr(txt_scroll) ;UART_TxRetr();
     UART_TxI8H(0xa5)       ;UART_TxRetr();
     UART_TxI8D(123)        ;UART_TxRetr();
     UART_TxI8K(5,'h',7)    ;UART_TxRetr();UART_TxRetr();
}
Daniel
L'obstacle augmente mon ardeur.
__sam__
Messages : 7988
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conservation des tabulations du code source

Message par __sam__ »

Les TABulations font 8 depuis longtemps. Ce sont les "jeunes" qui utilisent des tabs de 4. C'est d'autant plus paradoxal que les écrans sont passés à 16:9 voir beaucoup plus et sur lesquels on a toute la place horizontale qu'on veut (200 colonnes de texte ?). Comment faisait-on avant avec des écrans 80 colonnes et des tabs de 8 ? Ben c'est simple on comprenait vite que si le programme était trop décalé à droite, c'est qu'il était mal structuré et qu'on avait trop de if dans des if et trop de boucles dans des boucles. Il était alors temps de refactorer son code, un truc que les jeunes ne savent plus faire.

Normalement l'affichage d'un texte avec des tabs de 4 ou 8 devrait être cohérent et les alignements préservés. Si ca merdouille, c'est qu'on a mixé dans un champ des blancs et des tab. Il faut ne garder qu'une seule convention d'alignement: TABs partout ou SPACEs partout, pas un mix des deux. Les éditeurs corrects comme Nodepad++ permettent de réparer ce problème en forçant la conversion des TABs en SPACEs ou inversement.

Perso je m'en fiche, je code en Whitespace. J'économise ainsi un max de rubans à encre sur ma machine à marguerite quand j'imprime mes listings :lol:
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Re: Conservation des tabulations du code source

Message par Bricox »

Merci à vous tous pour vos nombreuses propositions.

Je regrette de vous avoir donner un exemple aussi simple qui ne représentait pas vraiment ma requête.
J'ai l'habitude de ne mettre aucun espace dans mes codes sources, ceci est dû à mon style d'écriture, il est très "colonisé".

@__sam__, je ne mixe jamais, j'utilise Notepad++ pour vérifier l'absence d'espace et pourtant mes commentaires se désalignent sur notre Forum.
Je dois désaligner mes commentaires pour qu'ils se réalignent sur le forum :
sourceNotepad.jpg
sourceNotepad.jpg (130.1 Kio) Consulté 823 fois
sourceForum.jpg
sourceForum.jpg (59.36 Kio) Consulté 825 fois
En plus, je ne commente jamais dans le code mais toujours à droite du code dans un souci de lisibilité.
Cela procure une analyse visuelle très rapide et un code compact qui évite le scrolling permanent.

Je n'imaginais pas que la mise en place de la balise [pre] était si difficile.

Je vais essayer de trouver une moulinette qui transforme mon code "tabulé" en code "espacé", sans décalage, avant de publier dans le forum.
J'aime fournir un travail soigné sur le fond mais également sur la forme.
Au plaisir d'échanger :)
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Re: Conservation des tabulations du code source

Message par Bricox »

fneck a écrit : 24 févr. 2024 21:23 En fait Britox voudrait un déplacement de 4 caractères seulement. J'avoue que je ne trouve pas cela très important.
Désolé @Fneck, j'ai manqué de précision pour te sensibiliser à ma requête.
J'essaierai d'être plus pertinent la prochaine fois.
Cordialement
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
Avatar de l’utilisateur
fneck
Site Admin
Messages : 17539
Inscription : 01 avr. 2007 12:03
Localisation : Drôme Provençale (26)
Contact :

Re: Conservation des tabulations du code source

Message par fneck »

Ce n'est pas que la balise dont tu me parles soit difficile à mettre en oeuvre, mais je ne la trouve pas dans ton lien ou ne la comprends pas.

Ensuite il faut bien comprendre que si l'on sort le code du cadre du forum, avec un copier/coller par exemple, il faut que le code collé ressemble encore à l'original. Comme je te l'ai dit en MP, je ne suis pas sûr que le forum soit le meilleur endroit pour publier de longues lignes de code. Pour ma part je pense qu'il est préférable de joindre un fichier texte.

Nota: on a vu récemment dans un autre topic qu'une série de caractères particuliers peut planter le forum !
Fabien https://www.system-cfg.com
Les bonnes pratiques de l'utilisateur du forum viewtopic.php?f=14&t=3
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Re: Conservation des tabulations du code source

Message par Bricox »

Oui @Fneck, tu as raison pour le code complet mais pour enrichir un propos, je trouve cela assez utile.
Je publierai certainement mon code sur Github quand il sera suffisamment exploitable.
Merci encore pour cet échange :)
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
__sam__
Messages : 7988
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conservation des tabulations du code source

Message par __sam__ »

Bricox a écrit : 24 févr. 2024 22:50 Je vais essayer de trouver une moulinette qui transforme mon code "tabulé" en code "espacé", sans décalage, avant de publier dans le forum.
Pas besoin de chercher loin: Dans notepad++, menu "Edition", sous-menu "Traitement des espacements", entrée "Transformer les tabulations en espaces".

Mais le mieux c'est tout simplement de lui dire que les tabs font 8 chars pour le langage considéré:
Capture.PNG
Capture.PNG (45.11 Kio) Consulté 755 fois
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Re: Conservation des tabulations du code source

Message par Bricox »

Merci __sam__ pour ta proposition.

Je pratique Notepad++ depuis de nombreuses années, cette option désaligne totalement mes commentaires écrits en TAB3.
Je ne souhaite pas écrire mon code en TAB8.
Je pense écrire cette fameuse moulinette TAB3 vers espaces, sans désalignement, si je ne la trouve pas sur le web.
Au plaisir d'échanger :)
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
__sam__
Messages : 7988
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: Conservation des tabulations du code source

Message par __sam__ »

Quelle option ? Celle-ci:
Pas besoin de chercher loin: Dans notepad++, menu "Edition", sous-menu "Traitement des espacements", entrée "Transformer les tabulations en espaces".
ne désaligne rien. Ca marche très bien. De plus, tu peux dire à NP++ d'utiliser des blancs au lieu de tab (dont tu fixes la taille: 3 dans ton cas), et du coup plus aucun problème de conversion non plus. Pas besoin de faire une moulinette: tu as déjà tout ce qu'il faut sous la main.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Bricox
Messages : 88
Inscription : 25 janv. 2024 10:28

Re: Conservation des tabulations du code source

Message par Bricox »

Un grand MERCI __sam__ pour ta persévérance à me faire comprendre... :)

Au temps pour moi, je n'avais vu que ta seconde option avec les "Préférences" que je connais très bien.

Tu es le meilleur, tous mes sincères remerciements :D
Le monde a plus besoin d'artisans, d'entrepreneurs, de créateurs que de prédicateurs et de procureurs
Répondre