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"}

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é)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.