Comment aligner les commentaires C ++ pour qu'ils soient conformes au style Google?

10

Est-il possible de faire en sorte que Vim formate mes commentaires pour se conformer à Google cpplint?

entrez la description de l'image ici

La section supérieure n'est pas conforme, pour se conformer 5 changements sont requis.

  1. garder ce commentaire au même niveau
  2. Ajouter un espace après //
  3. ajouter au moins deux espaces entre le code et le commentaire
  4. aligner les commentaires
  5. ajouter de l'espace après //

(Notez que je pose également cette question ici, il peut être possible de le faire avec https://github.com/godlygeek/tabular/issues/44 tabulaire )

EDIT: Selon la recommandation ci-dessous, cela fonctionne:

Plugin => https://github.com/rhysd/vim-clang-format

Configuration .nvimrc ou .vimrc:

let g:clang_format#code_style='google'

let g:clang_format#style_options = {
            \ "AccessModifierOffset" : -3,
            \ "Standard" : "C++03"}
user1135541
la source
3
clang-format a un paramètre googlestyle. Je crois qu'il existe un plugin que vous pouvez utiliser pour l'exécuter à partir de vim.
FDinoff
@FDinoff, génial cela fonctionne, si vous répondez, je le sélectionnerai comme solution ...
user1135541
Je ne comprends pas (1) - ils ont tous les deux quatre espaces avant le premier /, non?
Kyle Strand
@KyleStrand: Je pense que (1) a à voir avec le fait de ne pas indenter cette ligne pour correspondre aux deux autres commentaires (c'est-à-dire que OP spécifie un cas de bord qui ne devrait pas changer).
Kevin
@Kevin Ah, je pensais que cela disait qu'il devrait être au même niveau de retrait que quelque chose sur la ligne précédente ou suivante, mais cela a du sens. Merci.
Kyle Strand

Réponses:

11

clang-format est un outil en ligne de commande qui formate le code c ++. Google est l'un des formateurs par défaut.

clang-format -style=google

Il existe des plugins qui vous permettraient d'exécuter le format clang dans vim. Un tel plugin est https://github.com/rhysd/vim-clang-format (je ne l'ai pas utilisé, c'était le premier que j'ai trouvé)

FDinoff
la source