Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesLorsque j'écris du code, j'essaie de le rendre facile à lire, à comprendre et à maintenir.J'écris des commentaires.J'indente les blocs de code.J'utilise des sauts de ligne pour répartir le code sur plusieurs lignes.J'essaie d'écrire du code avec un style cohérent.Cependant, je constate fréquemment que JMP reformate mon code sans rien demander.Il décide simplement d’effacer tous les efforts que je consacre aux bonnes pratiques de codage.
Par exemple, j'écris un script et je le joins à une table de données.Ensuite, je fais un clic droit sur le script et j'appuie sur "Copier", puis je fais un clic droit dans la fenêtre du script et j'appuie sur "Coller".La copie du script ne contient aucun des commentaires ni indentations de blocs de code qui figuraient dans le script d'origine.
Autre exemple : je crée une colonne de formule sur une table de données.À l'intérieur du bloc éditeur de formule, j'écris du code JSL pour effectuer un calcul itératif (c'est vraiment cool. Je viens de comprendre que tu pouvais faire ça !).Bien sûr, je souhaite utiliser des commentaires et des espaces dans ce code, comme je le ferais dans n'importe quel code que j'écris n'importe où.Eh bien, après avoir appuyé sur Entrée, les commentaires sont invisibles jusqu'à ce que je double-clique sur le bloc de l'éditeur de formule.Mais ils existent.Jusqu'à ce que je clique sur OK et que JMP évalue la formule.La prochaine fois que j'ouvrirai la formule, les commentaires et les espaces auront disparu.
Ça s'empire.J'ai plusieurs scripts attachés à ma table qui font tous référence à une certaine colonne.Ensuite, je renomme cette colonne.Tous ces scripts sont mis à jour avec le nouveau nom de colonne.Mais ce faisant, ils sont tous "reformatés" par l'analyseur JSL et tous mes commentaires et espaces sont détruits.ಠ_ಠ
Quel est l’intérêt d’avoir des commentaires en langage JSL si JMP veut les effacer immédiatement à la première occasion ?Suis-je censé éditer mes scripts JSL dans un éditeur de texte moins hostile (c'est-à-dire Notepad++) et stocker les versions lisibles dans des fichiers séparés ?Je ne comprends tout simplement pas pourquoi il doit en être ainsi.S'il vous plaît, laissez mes commentaires tranquilles !
Note: @Cwalla j'ai signalé le même problème sur les forums ici
Automatisation et scriptsRe : Conserver les commentaires et les espaces dans le code JSL attaché à la table de données - Statut modifié en : AcquittéSalut @Chris_Rodrigues , Merci pour votre suggestion! Nous avons pris en compte votre demande et la prendrons en considération.
Re : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesMerci @XanGregg , cela résout mon problème 
Re : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesJ'ai ajouté un exemple de citation JSL au fil de discussion.
New Table( "formatted script",
New Script( "my script",
Eval( Parse(JSL Quote(
// example
x = 1;
Print( :column 1[1], y );
) )
)
),
New Column( "Column 1", Set Values( [5] ) )
)
Re : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesSalut @Chris_Rodrigues ,
Je venais d'avoir une discussion sur ce sujet : Comment conserver le formatage et les commentaires avec un nouveau script
Mon problème ne se pose pas exactement dans le même contexte mais le résultat est le même : lorsqu'un script ajoute un nouveau script à une table de données en utilisant le Nouveau script () la fonction, les commentaires et la mise en page sont perdus.
J'ai pensé qu'il pourrait y avoir une solution de contournement, mais réinsérer les commentaires et la mise en page dans le script dans les tableaux de données, mais il semble que ce ne soit pas le cas.
En attendant que l'article de votre liste de souhaits soit approuvé, vous pouvez utiliser plusieurs solutions :
-Stockez vos scripts dans des fichiers séparés. Dans votre table de données, vos scripts ne seraient qu'un lien pour ouvrir les fichiers .jsl. De cette façon, il n'y aurait aucune chance de perdre des informations.
-Stockez vos commentaires dans une fonction de commentaire personnalisée qui écrit simplement vos commentaires dans le journal. Je sais que ce n'est pas idéal, puisque vous pourriez toujours perdre votre mise en page mais au moins vos commentaires seraient préservés.
Espérons que plus de gens félicitent ce souhait, il a l'air très nécessaire !
Re : Conserver les commentaires et les espaces dans le code JSLJe stocke séparément les versions bien formatées des scripts sous forme de fichier texte. J'espère que JMP conservera le format.Re : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesLa plupart des problèmes mentionnés ont été résolus entre-temps - et avec le reformatage, je peux vivre : )
Ce qui reste : les commentaires dans les formules de colonnes.
Comme JMP est assez ouvert à l'avis du client, jeIl semble qu'il y ait un argument solide contre cela :
les commentaires ne peuvent pas rester dans les formules de colonnes ?
pourquoi ?
Ré : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesConcernant le renommage des variables de colonne dans un script de table, il est intéressant de noter que les scripts sources sont également modifiés.
Dans cet exemple, en renommant la colonne dans le tableau récapitulatif, le script source est corrompu :
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dtsum = dt << Summary(
Group( :sex ),
Mean( :height ),
Link to original data table( 0 )
);
dtsum:sex << Set Name( "sex_2" );
Ré : Conserver les commentaires et les espaces dans le code JSL attaché à la table de donnéesSi plusieurs utilisateurs travaillent avec le même fichier, il pourrait être très utile que les commentaires soient autorisés dans les formules de colonnes.
Utilisation d'une variable temporaire pour stocker une chaîne de commentaire :

est une solution de contournement acceptable - mais les commentaires doivent être visibles en tant que commentaires.
Si possible : avec une couleur bien définie - pour les identifier comme des commentaires.
Je viens de trouver ce souhait - exactement la même demande :
Conserver les commentaires dans les formules de colonne
dans l'une des réponses, @mia_stephens a écrit en 2023 :

Est-ce toujours comme ça ? Pour les scripts de table, le problème semble avoir été résolu entre-temps.