J'ai obtenu le fichier suivant .clang format dans le répertoire racine de mon projet:Comment auto indenter une classe C++ avec 4 espaces en utilisant le format clang?
---
AlignTrailingComments: true
AllowShortFunctionsOnASingleLine: false
AllowShortIfStatementsOnASingleLine: true
AllowShortLoopsOnASingleLine: true
BreakBeforeBinaryOperators: false
IndentWidth: 4
SortIncludes: false
NamespaceIndentation: All
...
problème vient quand je lance clang format sur mon C++ en-têtes, les classes deviennent autoindented comme ceci:
Comme vous pouvez le voir, les étiquettes publiques & privé sont en retrait seulement avec 2 espaces. Mais ce que je suis en train de réaliser est le résultat ci-dessous (indentation a été retouché manuellement):
De cette façon, le code-effondrements devient quelque chose de vraiment agréable à faire.
Comment puis-je modifier mon format .clang pour obtenir cet effet?
EDIT:
J'ai essayé d'utiliser unsuccesfully AccessModifierOffset, j'ai les valeurs utilisées {} -2,0,2,4 exampe ci-dessous:
Comme vous pouvez le voir instruction à l'intérieur du bloc public ne sera pas indentée correctement.
EDIT2:
J'ai essayé la solution @Henrique Jung et c'est certainement pas ce que je demande, si vous utilisez cette combinaison le résultat serait quelque chose comme celui-ci:
Et comme vous pouvez le voir, le contenu à l'intérieur des fonctions est indenté 8 espaces au lieu de 4, ce qui n'est pas bon.
EDIT3:
J'ai donné une prime il y a quelques mois, donc je vais essayer à nouveau que celui-ci est sans aucun doute intéressant. Si j'avais assez de connaissances sur le code source au format clang, je donnerais un coup de feu, malheureusement je ne le fais pas ... J'espère que certains devront jeter un coup d'oeil à celui-ci et donner quelques suggestions.
essayez "AccessModifierOffset". C'est une duplication possible d'une autre question SO: http://stackoverflow.com/questions/29198963/how-can-i-tell-clang-format-to-indent-visibility-modifiers – caoanan
@caoanan Pas vraiment, j'avais déjà essayé AccessModifierOffset il y a quelques jours et pour une raison quelconque, il n'indente pas correctement les classes. Bien qu'il soit vrai qu'il indenter public/privé/protégé, il n'est pas indentant les déclarations ci-dessous. S'il vous plaît jeter un oeil à ma question, je vous ai mis un exemple – BPL
Eh, si seulement je pouvais coller une capture d'écran [dans ce] (http://clang-format.me/). Vous semble avoir les paramètres de style Webkit. –