1

yop,

Petit sondage : vous utilisez la coloration syntaxique pour coder ? Ca a de bons côtés à mon sens, parfois ça me gave, surtout quand c'est mal configuré.
Ceci dit, j'ai pas l'habitude de coder sans ça, j'aimerais savoir si c'est illusoire de vouloir prendre cette habitude, sachant que si c'est pour être toujours pénalisé c'est pas la peine.

J'ai donc besoin d'avis de devs expérimentés, ce qui n'est pas mon cas. ^^
(Pour info ou plutôt rappel, je ne code qu'en assembleur)

Merci d'avance. smile

[sondage=16257]

2

Pour quelles raisons ça te "gave" ? C'est un confort, pour moi il est tellement important qu'il devient quasiment indispensable, mais ça reste un confort et j'ai du mal à voir ce que ça peut "retirer" par rapport à une utilisation où il est absent ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Personellement, je pense que la coloration syntaxique est indispensable, tout comme un éditeur qui sait gérer les indentations/désindentations de blocs avec (Shift+)Tab (bon sur Mac, Smultron le fait que avec Cmd+[ et Cmd+], mais c'est toujours mieux que rien).
La coloration syntaxique ne fait que mettre un valeur ton code source avec un code de couleurs défini, mais c'est une aide visuelle inestimable si la coloration syntaxique est implémentée correctement (Visual Studio love), et si tu as un style de code suffisamment propre (car évidemment si tu codes tout sur une ligne et/ou sans aucun espace ça reste quand même suoer difficilement lisible ^^).
Ce que ça apporte, c'est un gain de rapidité fulgurant... Si tant est que tu voies les couleurs et que tu ne sois pas daltonien, bien sûr. Ça te permet de parcourir ton code rapidement (scrollbar/autoscroll/roulette/autre moyen...) et de manière relativement précise: Les couleurs agissent comme une sorte de préprocesseur de code pour tes yeux. En voyant la couleur et la forme tu sais déjà à peu près ce qu'il y a, sans encore avoir vraiment lu le texte.
Bref, indispensable tongue

Par contre pour les thèmes de couleurs à moitié erronés, le choix de les utiliser ou non dépend de toi. Personellement je suis plutôt partisan de "mieux vaut (trop peu|un peu trop) de couleur que rien du tout" mais là je pense que c'est entièrement subjectif.
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

4

Je peux sans doute me passer de coloration syntaxique, mais j'ai du mal à en voir l'intérêt (donc réponse 3, mais pas parce que ça m'est indispensable — ça « ça dépend des langages », certains restent lisibles sans, d'autres ça peut être franchement gênant — mais tout simplement parce que c'est toujours plus lisible avec que sans. J'active tout simplement la coloration syntaxique par défaut dans tous mes éditeurs.)

Ceci dit j'ai suffisamment l'habitude de la coloration pour que quand j'utilise pour une raison ou pour une autre un langage « maison » qui ne dispose pas de mode dédié dans les éditeurs (et encore moins d'éditeur dédié ^^) ça soit un des trucs qui me saoule le plus.

Par ailleurs j'active aussi presque toujours l'indentation automatique, même si pour le coup c'est parfois relou et que tu n'es pas toujours d'accord avec ce que ça fait je trouve quand même que c'est plus pratique avec que sans (je préfère corriger à la main ce qui ne me plaît pas que tout indenter à la main). (Le mieux étant bien sûr si elle est totalement configurable et que tu peux l'adapter à tes goûts).

Qu'est-ce que tu appelles une coloration syntaxique mal configurée ? un truc avec des regexps foireuses qui se goure ? un truc avec des couleurs moches qui font mal aux yeux ? parce que le deuxième ça peut souvent se régler et le premier, à moins d'avoir un éditeur vraiment de merde ou d'utiliser un mode qui ne correspond pas au langage, ça ne me semble pas fréquent non plus...
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

5

Sally (./4) :
Qu'est-ce que tu appelles une coloration syntaxique mal configurée ? un truc avec des regexps foireuses qui se goure ?

Exact. grin C'est pour ça que ça me "gave". Ch'sui pas fort en regexpr, j'ai corrigé quelques bugs dans les fichiers de spectras pour asm/s 68k, mais j'arrive pas à tout corriger. J'essairai encore ^^

Merci pour vos avis, je ferais donc bien de persévérer pour avoir une coloration qui me plaise bien. smile

6

Pour moi la coloration est le minimum syndical, et c'est pas suffisant. Il y a tout un tas d'aides supplémentaires dont j'ai maintenant un mal fou à me passer : navigation dans le code avec CTRL+clic gauche, surbrillance du mot sous le curseur quand on utilise la souris, etc. (au début la surbrillance distrait un peu, mais une fors qu'on est habitué... love)

7

en effet la coloration syntaxique m'importe, mais moins que l'autocompletion sur les objet.method() et control tab pour completer les noms de variables love (netbeqns)

8

Ça fait quoi concrètement ta complétion de noms de variables ?
(oué, l'auto complétion, la documentation sous le curseur, le pré-remplissage heuristique des arguments en même temps que l'auto complétion du nom de la méthode, etc, tout ça fait que j'ai du mal à passer de eclipse/java à visual studio/c++ couic)

9

./7 > Bof, ça sera toujours un cran en dessous de visual studio, qui fait la complétion de manière automatique (espace, virgule, point, point-virgule, signe égalité, ...) sans que tu aies à lui demander quoi que ce soit. Et il se paye même le luxe de te proposer directement ce qui a le plus de chances de te convenir (même si c'est un peu déroutant).
Mais le truc est qu'on parle de coloration syntaxique car pas de langage spécifique...
Et sorti de Java, C/C++, C# et VB.Net je crois que très peu de langages disposent d'une IDE avec complétion automatique réellement fonctionnelle tongue
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

10

GoldenCrystal > tu parles de quel version de visual ? Parce qu'aucune des versions 6, 2005 et 2008 n'arrive à la cheville d'eclipse/java
Ou alors j'ai mal configuré qq chose, mais j'ai comme un gros doute !
(visual/c# est moins pourri que visual/c++, mais quand même super loin d'eclipse/java)


Autre fonctionnalité intéressante d'eclipse : les templates ! Encore une autre : tu tapes le début du nom d'une méthode d'une classe mère dans une classe fille, control espace et hop, il t'insère la méthode à compléter avec les annotations qui vont bien (@override en l'occurence)

Je n'ai jamais vu ce genre de choses dans Visual ! Autre avantage d'eclipse (et après je m'arrête grin) : tu peux configurer la manière dont tu veux formater tes sources bien plus finement que dans visual

11

Bah si tu pars de Java il faut comparer avec C# évidemment... ^^
Mais si tu tapes override dans Visual c# je crois que ça dépasse toute tes attentes...
De même si tu cliques sur la classe mère, ou une interface dans la déclaration de ta classe, visual (2008, je crois que 2005 le faisait pas, ou pas aussi bien) te propose de générer tous les stub de méthodes abstraire (implémentation publique ou privée au choix pour les interfaces) en un clin d'oeil.
Ce que tu apelles "template" doit être le nom des "extraits de code" visual studio j'imagine, mais ça existe: exemple "propdp<tab>" ça te génères une propriété de dépendance wpf avec juste les champs à remplir.
Mais le must, tu tapes (par exemple) "ret;" tu as direct ton "return;" tu tapes "ret vari;" et tu auras ton "return variable;" ("variable" étant le nom d'une variable définie par toi... faut taper suffisemment de caractères pour que visual studio insère la bonne évidemment). J'ai jamais trouvé ne serait-ce qu'un dixième de ça dans eclipse, et c'est pas faute de l'avoir cherché tongue
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

12

GoldenCrystal (./11) :
Mais si tu tapes override dans Visual c# je crois que ça dépasse toute tes attentes...

cool, connaissais pas, merci smile
GoldenCrystal (./11) :
te propose de générer tous les stub de méthodes abstraire

pareil sous eclipse (clic droit puis menu source je crois) (ou juste control+space si on veut implémente une interface)
GoldenCrystal (./11) :
"ret;" tu as direct ton "return;" tu tapes "ret vari;" et tu auras ton "return variable;"

moué à ma connaissance sous eclipse il faut utiliser l'auto complétion avec ctrl+space
C'est vrai que cet aspect est plus fluide sous visual, mais je préfère que ça le soit juste un peu moins sous eclipse et qu'il y ait des fonctionnalités supplémentaires : surlignage de la variable/méthode sous le curseur ça me manque _vraiment_ quand je ne l'ai pas sad (le surlignage et tout ce qui va autour : saut d'une occurrence à une autre, saut vers la ligne du dernier fichier modifié etc)


Puisque tu sembles bien connaître visual : sais-tu si on peut surligner la ligne courante ? Et surligner le fichier courant dans l'arbre de l'explorateur de solutions ?



Bon, il faut que je retourne bosser, hélas... Je suis bien chargé en ce moment sad





PS : Folco, tout ça pour dire que, oui, il y a effectivement mieux que notepad de nos jours grin

13

Je trouve ça quasi indispensable. Par contre, c'est clair que quand on change d'IDE et de modèle de couleurs, c'est parfois déroutant (j'avais des collègues sous PHP Edit, et quand je venais sur leurs postes pour leur offrir un oeil extérieur, je ne comprenais rien à leur code, il me fallait quelques minutes d'adaptation grin et ça m'a fait pareil quand je suis passé sous Eclipse - Je venais de Crimson Editor).
avatar

14

Hmmm le score est sans appel. grin Merci pour vos réponses détaillées, même si effectivement elles ont un peu dérivé sur les IDE ^^

Bon aller, je reprends les fichiers xml de spectras, mais ya du débogage à faire dans les regexpr auxquelles je connais rien. sad

15

Pourquoi pas utiliser les colorations de KTIGCC? Elles fonctionnent aussi dans tous les autres éditeurs utilisant la KatePart (même si je ne vois pas l'intérêt d'utiliser autre chose que KTIGCC tongue).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Je demande pas mieux, mais je fais comment pour utiliser la coloration syntaxique de KTIGCC sans KTIGCC ? Et sous Debian ? Tu m'as dit que les fichiers xml kivonbien étaient auto-générés...

17

Bah, tu installes KTIGCC, tu le lances 1 fois, ensuite tu as les fichiers disponibles dans Kate sous KTIGCC / TIGCC GNU as, KTIGCC / TIGCC A68k etc.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Tu sais bien que c'est pas ma philosophie d'avoir des programmes qui ne servent pas sur ma machine. J'en ai 600 + 200 de devs, pas de raison que j'en rajoute dans tous les sens.


Par contre, tu voudrais pas me passer tes fichiers de coloration ? cheeky

Ou peut-être les trouverais-je en dépaquetant un rpm de KTIGCC ?

19

Tu ne les trouveras pas dans le RPM parce qu'ils sont générés au premier lancement (à partir des réglages internes style TIGCC IDE).

Et KTIGCC n'est pas un "programme qui ne sert pas". tongue (C'est la seule manière conseillée d'utiliser TIGCC sous *nix.)

Et enfin, c'est ton problème si tu te compliques la vie pour rien avec ton minimalisme stupide. roll
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

20

Merci pour le service, ça fait plaisir... neutral

Et même si KTIGCC n'est pas un programme qui ne sert pas, c'est un programme dont je ne me sers pas. Enfin, tant pis...

21

Ben tu l'installes, tu le lances, tu récupères les fichiers, tu le vires, "et voilà", non ?

22

Faut le compiler, et ch'suis pas une bête. A voir. Mais j'ai pas envie d'installer 15 millions de dépendances pour deux fichiers xml.

23

Ah ben ça, oui, j'ai pas prétendu que c'était intéressant non plus sad

24

bon, alors qui est assez fort en regexpr pour me dire pourquoi ya pas de coloration après les labels avec ça ?
      <context attribute="Normal Text" lineEndContext="#stay" name="Normal">
        <RegExpr      attribute="Label" context="#stay" String="^[A-Za-z0-9_$@\][A-Za-z0-9_.$@]*:" />
        <RegExpr      attribute="Label" context="AfterLabel" String="^[A-Za-z0-9_$@][A-Za-z0-9_.$@]*(?=\s+[_\w])" />
		<RegExpr      attribute="Normal Text" context="AfterLabel" String="^\s+" />
        <DetectChar   attribute="Comment" context="Commentar 1" char=";" />
	  </context>
	  <context attribute="Normal Text" lineEndContext="#pop" name="AfterLabel">

J'essaye dans tous les sens, j'ai la coloration du label mais pas celle de l'instruction, ou alors j'ai l'inverse, j'ai l'instruction mais je perds la coloration du label... cry Des soirs que je trifouille et que j'essaye de comprendre à la fois le xml, les regexpr et la syntaxe des commandes de kate, yen a marre, je vais me plaindre à mon syndicat !!! cry

25

Moi je dis que t'aurais jamais dû donner ton compte Steam, si c'était pour ça tripo
avatar

26

ton XML est indenté n'importe comment sick
<context attribute="Normal Text" lineEndContext="#stay" name="Normal"> 
   <RegExpr      attribute="Label" context="#stay" String="^[A-Za-z0-9_$@\][A-Za-z0-9_.$@]*:" /> 
   <RegExpr      attribute="Label" context="AfterLabel" String="^[A-Za-z0-9_$@][A-Za-z0-9_.$@]*(?=\s+[_\w])" /> 
   <RegExpr      attribute="Normal Text" context="AfterLabel" String="^\s+" /> 
   <DetectChar   attribute="Comment" context="Commentar 1" char=";" /> 
</context>
Mais bon à part ça je ne peux pas t'aider, je comprends les regexp mais je ne connais pas la syntaxe de ton XML cheeky
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

27

Nil -> ah c'est pas bien de me tenter hein #tribang#

Sally -> La syntaxe est dans l'aide de Kate. #triange#
(puis l'indentation, goto spectras ^^)

28

J'ai pas kate et c'est imbitable, déjà vive l'attribut qui s'appelle attribute, quelle imagination, ensuite l'élément "context" contient des éléments qui eux-même ont des attributs "context", c'est pas exactement évident de deviner ce que ça peut signifier.

Mais qu'à cela ne tienne, inventons : l'attribut attribute sur les RegExpr/DetectChar indique un style graphique (qui doit être défini ailleurs je présume). Sans doute le style graphique qui doit être utilisé pour afficher la partie qui matche la regexp. L'attribut context indique quant à lui qu'après avoir rencontré un match on passe dans le *nouveau* contexte indiqué. lineEndContext est un peu plus explicite (je comprends pas pourquoi ils ont pas appelé cet attribut « context », c'est un peu trop facile là), il indique dans quel contexte on passe quand on rencontre une fin de ligne sans que rien n'ait matché. Et #stay indique qu'on ne change pas de contexte.

Ainsi donc la signification de ton extrait est la suivante : si l'on est dans le contexte appelé Normal, on écrit le texte dans le style NormalText jusqu'à ce que :

— on rencontre en début de ligne un caractère une séquence non vide de caractères dans A-Za-z0-9_$@ sauf que le premier a aussi le droit d'être un backslash et les autres ont le droit d'être des points, suivie immédiatement d'un deux points. Dans ce cas on écrit tout ça dans le style Label puis on revient en mode normal.

— on rencontre en début de ligne une séquence de caractères du même type sauf qu'elle ne peut pas commencer par un \, mais au lieu d'être suivie d'un deux-points, elle est suivie [edit : ok c'est la syntaxe javascript en fait, merci google] d'un ou plusieurs caractères d'espacement puis de _ ou du caractère \w (je ne sais pas ce que c'est). Dans ce cas on écrit aussi tout ce qui est avant les espaces dans le style Label, mais après on passe en mode AfterLabel, dont la description n'est pas dans ton extrait.

— on rencontre une séquence d'espaces (non vide) en début de ligne. Dans ce cas on passe en mode AfterLabel.

— on rencontre le caractère ;. Dans ce cas on l'écrit en style Comment et on passe en mode Commentar 1.

J'espère que ça va t'éclairer tripo
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

29

Sally (./28) :
— on rencontre en début de ligne un caractère une séquence non vide de caractères dans A-Za-z0-9_$@ sauf que le premier a aussi le droit d'être un backslash et les autres ont le droit d'être des points, suivie immédiatement d'un deux points. Dans ce cas on écrit tout ça dans le style Label puis on revient en mode normal.

Oué \o/ Et on fait comment pour ne pas revenir en mode normal, mais pour pouvoir détecter une instruction par exemple ?

(rah je suis content de te lire dire que c'est pas très clair tout ça grin)

30

Au passage, t'es pas obligé de te taper les expressions régulières à la main, y'a des sites qui aident bien pour ça :

pour les créer
pour les convertir en pseudo-code
pour les tester
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo