Bonjour,
je recherche un exemple de classe en C++ qui me permette de mettre en forme mon code comme le fait une IDE (retour à ligne, indentation...)
une méthode qui me retournerait mon std::string converti.
Merci
Bonjour,
je recherche un exemple de classe en C++ qui me permette de mettre en forme mon code comme le fait une IDE (retour à ligne, indentation...)
une méthode qui me retournerait mon std::string converti.
Merci
Salut,
Ce n'est pas une classe, mais carrément tout un sous projet fourni par clang: clang-format
Il s'agit aussi bien d'une bibliothèque (nommée libformat) que tu peux utiliser dans tes propres projet qu'un programme "stand alone" que tu peux utiliser pour formater ton code selon différentes lignes de conduites, dont certaines sont "prédéfinies", mais qui peuvent aussi être définies par toi-même.
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
merci, mais clang-format est un utilitaire en ligne de commande, comment puis -je l'intégrer à mon application ?
Bonjour,
Naïvement, en embarquant l'exécutable de clang-format à côté de votre exécutable, et en l'appelant de manière dynamique (system(), popen(), ...).
Par contre, il faut vérifier que la licence permet une telle utilisation .
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
Clang-format est en réalité une application qui utilise LibFormat, une bibliothèque qui fournit les différentes fonctionnalités permettant de formater le code.
Si tu souhaites l'intégrer directement à ton application, il "suffit" de l'intégrer exactement de la même manière que n'importe quelle autre bibliothèque externe, et de faire appel à la fonction
Quant au problème de licence, il ne se pose pas vraiment, car elle est particulièrement permissive (tu peux distribuer clang sous forme de sources, de binaires exéctuables, et modifier ses sources sans aucune restriction). Tout ce que tu dois faire, c'est de t'assurer de fournir une copie de la licence de clang lorsque tu l'utilise
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 tooling::Replacements reformat(const FormatStyle &Style, Lexer &Lex, SourceManager &SourceMgr, std::vector<CharSourceRange> Ranges);
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
maerci, mais je ne vois pas comment utiliser la méthode reformat() avec un std::string et comment récupérer le std::string formaté ?
je n'ai, moi-même, jamais intégré clang-format dans un projet, en tant que bibliothèque, donc, je te conseillerais sans doute de partir de ==>cette page <== de documentation pour savoir comment le faire
Sinon, ==>cette discussion<== devrait pouvoir t'aider
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Finalement, j'ai intégré Artistic Style, ça m'a paru plus simple.
Ben... Euh... A-Style est lui aussi un tool en command line, non ?
Si vous ne trouvez plus rien, cherchez autre chose...
Vous trouverez ici des tutoriels OpenGL moderne.
Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).
oui et non, en regardant le code, je me suis aperçu qu'on pouvait l'intégrer.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager