En C++, lorsqu'on a plusieurs niveaux d'accolades imbriqués, Notepad++ permet de voir immédiatement les accolades correspondantes grâce à un trait vertical. Je voudrais la même chose avec un fichier de traces mais j'ai (IN) au lieu de { et (OUT) au lieu de }
Merci bcp.
Tapiou
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Je ne crois pas que Scintilla permette cela directement.
Par contre, si tu as un UDL (langage défini par l'utilisateur) où (IN) et (OUT) définissent des blocs, tu peux suivre les blocs sur la marge des locs.
CChris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Je ne sais pas trop ce qu'est un UDL. Je suppose que çà correspond au menu Langage sous NotePad++.
Peut-être que je peux en créer un qui dit que (IN) et (OUT) définissent des blocs définissent ?
Est-ce que tu pourrais m'orienter pour que je puisse débuter la création de cet UDL ?
Merci (une fois de plus … :-))
Tapiou.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Merci.
J'ai regardé mais peut-etre pas assez car je ne comprends pas comment je peux dire avec un UDL que (IN) et (OUT) définissent des blocs. Et je ne comprends pas que tu veux dire par "sur la marge des locs".
Est-ce que le plugin External Lexers peut-être utile à réaliser mon besoin ?
Merci.
Tapiou
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
euh .. j'ai cherché un peu plus et je crois que si je mets dans le cadre d'un UDL, (IN) dans Définition de bloc ouvrant et (OUT) dans Définition de bloc fermant, çà pourrait marcher. … mais pour l'instant çà plante NotePad++
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Merci.
J'ai rééssayé. En créant un tout nouvel UDL avec juste (IN) dans Définition de bloc ouvrant et (OUT) dans Définition de bloc fermant. (Comme c'est un tout nouvel UDL, il n'y a aucun opérateur activé).
Cette fois-çi, çà ne plante pas mais çà ne change absolument rien lorsque j'applique le langage à un fichier plein de (IN) et de (OUT) avec des lignes de ce style :
IHMRes::getCoord(IN) | Thu Sep 29
Modification de l'emplacement
IHMRes::getCoord(OUT) | Thu Sep 29
peut-être bien parce qu'il n'y a pas simplement que un (IN) ou un (OUT) dans mes lignes ?
Merci.
Tapiou.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Je ne comprends pas bien : avec (IN° et (OUT) ? J'ai fait un copier coller de ces 2 chaînes : rien n'est changé.
Plus précisément, j'ai des traces de ce style :
CommApp::getCoord(IN) | Mon Aug 22
Modification de l'emplacement | Mon Aug 22
CommModEtatArrgt::SupprDevlt(IN) | Mon Aug 22
CommEtatArrgt::CommEtatArrgt(IN) | Mon Aug 22
CommEtatArrgt::CommEtatArrgt(OUT) | Mon Aug 22
CommModEtatArrgt::SupprDevlt(OUT) | Mon Aug 22
CommModEtatArrgt::getCoord(IN) | Mon Aug 22
CommDefModEtatF::create(IN) | Mon Aug 22
CommDefModEtatF::create(OUT) | Mon Aug 22
Ajout d'un état | Mon Aug 22
CommModEtatArrgt::getCoord(OUT) | Mon Aug 22
CommArrgt::CommArrgt(IN) | Mon Aug 22
Création | Mon Aug 22
CommArrgt::CommArrgt(OUT) | Mon Aug 22
CommApp::insertDevlt(IN) | Mon Aug 22
Insertion développement | Mon Aug 22
CommApp::insertDevlt(OUT) | Mon Aug 22
CommApp::getCoord(OUT) | Mon Aug 22
Si je mets un espace devant (IN) et (OUT), c'est pas mal mais idéalement je ne voudrais pas que le trait vertical apparaisse en début de ligne mais relie chaque aggrégat contenant un (IN) et un (OUT) en ignorant les débuts de ligne du type
Est-ce possible ?
Merci.
Tapiou
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Salut,
Eh non, ça ne mache pas… C'est Scintillaa qui trace les traits guides, et ils s'appellent "guides d'indentation" pour la bonne raison que c'est ce que prend en compte Scintilla. Et une indentation se place par définition en début de ligne.
Je ne vois que deux solutions:
Demander aau projet Scintilla qu'ils permettent de placer des gyudes entre points arbitraires - mais je ne vois même pas comment faire dans tous les cas.
Ecrire ton propre colorateur externe et essayer de mettre en oeuvre ce que tu veuxx… N'importe quel language avec lequel tu peux fabriquer une dll convient.
CChris
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Et merci.
Ben tant pis. Je n'ai pas assez de temps pour me lancer dans l'écriture de mon propre colorateur externe. De plus, je voulais quelque chose qui se fasse depuis Notepad++.
De toute façon, avec ce que tu m'as déjà indiqué, je peux plier et replier les blocs de traces. Et c'est déjà vraiment bien !
Merci pour toute l'explication.
Tapiou.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
A tout hasard, je pose la question.
Je voudrais pouvoir sauvegarder des replis effectués de ligne par exemple dans le cadre d'une session. Mais çà ne semble pas possible.
Faut-il que je formule l'idée sous idea torrent ?
Merci.
Tapiou.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Bonjour,
En C++, lorsqu'on a plusieurs niveaux d'accolades imbriqués, Notepad++ permet de voir immédiatement les accolades correspondantes grâce à un trait vertical. Je voudrais la même chose avec un fichier de traces mais j'ai (IN) au lieu de { et (OUT) au lieu de }
Merci bcp.
Tapiou
Je ne crois pas que Scintilla permette cela directement.
Par contre, si tu as un UDL (langage défini par l'utilisateur) où (IN) et (OUT) définissent des blocs, tu peux suivre les blocs sur la marge des locs.
CChris
Je ne sais pas trop ce qu'est un UDL. Je suppose que çà correspond au menu Langage sous NotePad++.
Peut-être que je peux en créer un qui dit que (IN) et (OUT) définissent des blocs définissent ?
Est-ce que tu pourrais m'orienter pour que je puisse débuter la création de cet UDL ?
Merci (une fois de plus … :-))
Tapiou.
UDL = User Defined Language (langage défini par l'utilisateur).
Tu as cette entrée dans le menu Affichege, et un bouton sur la barre d'outils. Sur le fonctionnement, tu peux regarder http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Languages
CChris
Merci.
J'ai regardé mais peut-etre pas assez car je ne comprends pas comment je peux dire avec un UDL que (IN) et (OUT) définissent des blocs. Et je ne comprends pas que tu veux dire par "sur la marge des locs".
Est-ce que le plugin External Lexers peut-être utile à réaliser mon besoin ?
Merci.
Tapiou
euh .. j'ai cherché un peu plus et je crois que si je mets dans le cadre d'un UDL, (IN) dans Définition de bloc ouvrant et (OUT) dans Définition de bloc fermant, çà pourrait marcher. … mais pour l'instant çà plante NotePad++
Asure-toi que ( et ) ne sont pas des opérateurs. Sinon, quelle sorte de plantage?
CChris
Merci.
J'ai rééssayé. En créant un tout nouvel UDL avec juste (IN) dans Définition de bloc ouvrant et (OUT) dans Définition de bloc fermant. (Comme c'est un tout nouvel UDL, il n'y a aucun opérateur activé).
Cette fois-çi, çà ne plante pas mais çà ne change absolument rien lorsque j'applique le langage à un fichier plein de (IN) et de (OUT) avec des lignes de ce style :
IHMRes::getCoord(IN) | Thu Sep 29
Modification de l'emplacement
IHMRes::getCoord(OUT) | Thu Sep 29
peut-être bien parce qu'il n'y a pas simplement que un (IN) ou un (OUT) dans mes lignes ?
Merci.
Tapiou.
Non, c'est parce qu'il n'y a pas d'espace avant le IN ou OUT (voir http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=User_Defined_Languages ).
Et avec (IN° et (OUT), s'ils se présentent toujours ainsi?
CChris
Je ne comprends pas bien : avec (IN° et (OUT) ? J'ai fait un copier coller de ces 2 chaînes : rien n'est changé.
Plus précisément, j'ai des traces de ce style :
CommApp::getCoord(IN) | Mon Aug 22
Modification de l'emplacement | Mon Aug 22
CommModEtatArrgt::SupprDevlt(IN) | Mon Aug 22
CommEtatArrgt::CommEtatArrgt(IN) | Mon Aug 22
CommEtatArrgt::CommEtatArrgt(OUT) | Mon Aug 22
CommModEtatArrgt::SupprDevlt(OUT) | Mon Aug 22
CommModEtatArrgt::getCoord(IN) | Mon Aug 22
CommDefModEtatF::create(IN) | Mon Aug 22
CommDefModEtatF::create(OUT) | Mon Aug 22
Ajout d'un état | Mon Aug 22
CommModEtatArrgt::getCoord(OUT) | Mon Aug 22
CommArrgt::CommArrgt(IN) | Mon Aug 22
Création | Mon Aug 22
CommArrgt::CommArrgt(OUT) | Mon Aug 22
CommApp::insertDevlt(IN) | Mon Aug 22
Insertion développement | Mon Aug 22
CommApp::insertDevlt(OUT) | Mon Aug 22
CommApp::getCoord(OUT) | Mon Aug 22
Si je mets un espace devant (IN) et (OUT), c'est pas mal mais idéalement je ne voudrais pas que le trait vertical apparaisse en début de ligne mais relie chaque aggrégat contenant un (IN) et un (OUT) en ignorant les débuts de ligne du type
Est-ce possible ?
Merci.
Tapiou
Bonjour CChris,
J'ai vu que tu étais rentré et que tu répondais à plein de questions.
Ne m'oublie pas … :-)
Merci.
Tapiou.
Salut,
Eh non, ça ne mache pas… C'est Scintillaa qui trace les traits guides, et ils s'appellent "guides d'indentation" pour la bonne raison que c'est ce que prend en compte Scintilla. Et une indentation se place par définition en début de ligne.
Je ne vois que deux solutions:
Demander aau projet Scintilla qu'ils permettent de placer des gyudes entre points arbitraires - mais je ne vois même pas comment faire dans tous les cas.
Ecrire ton propre colorateur externe et essayer de mettre en oeuvre ce que tu veuxx… N'importe quel language avec lequel tu peux fabriquer une dll convient.
CChris
Salut,
Et merci.
Ben tant pis. Je n'ai pas assez de temps pour me lancer dans l'écriture de mon propre colorateur externe. De plus, je voulais quelque chose qui se fasse depuis Notepad++.
De toute façon, avec ce que tu m'as déjà indiqué, je peux plier et replier les blocs de traces. Et c'est déjà vraiment bien !
Merci pour toute l'explication.
Tapiou.
Bonjour,
A tout hasard, je pose la question.
Je voudrais pouvoir sauvegarder des replis effectués de ligne par exemple dans le cadre d'une session. Mais çà ne semble pas possible.
Faut-il que je formule l'idée sous idea torrent ?
Merci.
Tapiou.