Как настроить комментарии C ++, чтобы они соответствовали стилю Google?


10

Есть ли способ заставить Vim отформатировать мои комментарии в соответствии с Google cpplint?

введите описание изображения здесь

Верхний раздел не соответствует требованиям, для соблюдения 5 изменений не требуется.

  1. держать этот комментарий на том же уровне
  2. Добавьте пробел после //
  3. добавить минимум два пробела между кодом и комментарием
  4. выровнять комментарии
  5. добавить пробел после //

(Обратите внимание, что я также задаю этот вопрос здесь, возможно, это можно сделать с помощью Tabular https://github.com/godlygeek/tabular/issues/44 )

РЕДАКТИРОВАТЬ: Согласно рекомендации ниже, это работает:

Плагин => https://github.com/rhysd/vim-clang-format

Конфигурация .nvimrc или .vimrc:

let g:clang_format#code_style='google'

let g:clang_format#style_options = {
            \ "AccessModifierOffset" : -3,
            \ "Standard" : "C++03"}

3
Clang-формат имеет настройку googlestyle. Я считаю, что есть плагин, который вы можете использовать для запуска из vim.
FDinoff

@FDinoff, это здорово, если ты ответишь, я
выберу

Я не понимаю (1) - у них обоих есть четыре пробела перед первым /, верно?
Кайл Стрэнд,

@KyleStrand: я считаю, что (1) имеет отношение к тому, что эта строка не имеет отступа, чтобы соответствовать двум другим комментариям (т.е. OP указывает крайний случай, который не должен изменяться).
Кевин

@Kevin Ах, я думал, что это говорит о том же уровне отступа, что и в предыдущей или следующей строке, но это имеет смысл. Спасибо.
Кайл Стрэнд,

Ответы:


11

clang-format - это инструмент командной строки, который форматирует код C ++. Одним из форматеров по умолчанию является Google.

clang-format -style=google

Есть плагины, которые позволят вам запускать clang-формат в vim. Одним из таких плагинов является https://github.com/rhysd/vim-clang-format (я не использовал его, это был первый, что я нашел)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.