Google C++ coding standard прямо в Visual Studio

Многие читали стандарт кодирования на С++ от Google.

Для себя я его давно использую, а на работе удалось продавить его фрагменты в наш внутренний стандарт.

В качестве приятного бонуса Google раздает задорную утилитку cpplint, для быстрой проверки исходника на С++ на соответствие правилам и для генерации отчета, понимаемого средой разработки (например, Visual Studio). Написана она на Питоне, так что для ее использования его надо установить.

Я прикрутил cpplint себе в Студию, чтобы можно было проверять исходники прямо в редакторе.

cpplint имеет несколько десятков checker’ов, их можно опционально отключать. Я отключил только три:

  • Проверку на использование #include без указания относительного пути, например #include "one.h" вместо #include "path/to/lib/one.h". Правило очень разумное, так как исключает перехлест заголовочных файлов с одинаковыми именами в разных подсистемах, но у меня уж больно много, где надо менять.
  • Проверку на формирование имени защитного #define‘а в начале заголовочного файла. У меня свое правило именования, и оно меня устраивает.
  • Проверку на неиспользование потоков в STL. Я потоки использую, поэтому отключил.

Итак, получился скрипт cpplint.cmd:

C:\Python25\python.exe %~d0%~p0cpplint.py ^
  --filter=-build/include,-build/header_guard,-readability/streams ^
  --output=vs7 %1 %2 %3 %4 %5 %6 %7 %8 %9

Можно его из командной строки вызывать, но из Студии интереснее.

Итак, Menu->Tools->External Tool..., жмем Add и далее как на картинке (пути подправить по вкусу):

Теперь, прямо в редакторе жмем ALT-T,C,ENTER и снизу окне результатов получаем отчет. Кликая на его строки можно скакать по исходнику.

Лично я считаю, что порядок в исходниках напрямую связан с порядком в голове его автора.


Оригинальный пост | Disclaimer

Комментарии