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
Version imprimable
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.
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 ;).
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:
1
2
3 tooling::Replacements reformat(const FormatStyle &Style, Lexer &Lex, SourceManager &SourceMgr, std::vector<CharSourceRange> Ranges);
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 ;)
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 ?
oui et non, en regardant le code, je me suis aper�u qu'on pouvait l'int�grer.