rb_clang_format

The C++ code style for RoboticsBrno projects.

Language:

C++

Created:

05.04.2020

Updated:

05.04.2020

Stars:

0

Visit on GitHub

RoboticsBrno C++ code style

[English version follows]

Doporučený styl pro C++ zdrojový kód v projektech na GitHub profilu RoboticsBrno specifikovaný v .clang-format souboru.

Založeno na WebKit Code Style Guidelines s menšími úpravami: - ● AfterClass: true => class foo {}; - ● AfterFunction: false => void foo() {... - ● BreakBeforeBraces: Attach => void foo() {... - ● NamespaceIndentation: None => kód uvnitř vnitřních namespace se neodsazuje - ● ReflowComments: false => komentáře nejsou omezeny maximálním počtem znaků na řádek

VS Code & Visual Studio 2017+

Specifikace v .clang-format souboru lze využít pro nastavení formátování ve VS Code a od verze 2017 také ve Visual Studiu.

Pokud chcete aktivovat automatické formátování zdrojového kódu při uložení ve VS Code, přidejte si do .vscode/setting.json toto nastavení: "editor.formatOnSave": true (viz soubor setting.json v tomto repozitáři).

Pro automatické formátování zdrojového kódu při uložení ve Visual Studiu je potřeba nainstalovat doplněk Format document on Save.

clang-format z příkazové řádky

Specifikaci v .clang-format souboru lze na zdrojový kód aplikovat také pomocí command-line utility Clang-format.

Na Linuxu by měla být Clang-format utilita dostupná přes baličkovacího managera (apt-get...).

Na Windows si lze stáhnout oficiální clang-format.exe soubor ze stránek LLVM (autoři utility).

Pokud si stáhnete clang-format.exe do stejného adresáře, jako máte .clang-format soubor, stačí již jen zavolat příkaz tento příkaz v příkazové řádce (cmd):

clang-format.exe -i CESTA\KE\ZDROJOVYM\SOUBORUM\*

Přepínač -i znamená, že jsou změnu hned aplikovány na zdrojový kód. Bez tohoto přepínače se jen vypíše upravený kód do příkazové řádky, ale změny se neaplikují.

English Version

Recommanded C++ code style for projects on RoboticsBrno's GitHub profile specified in .clang-format file.

Based on WebKit Code Style Guidelines with some modification: - ● AfterClass: true => class foo {}; - ● AfterFunction: false => void foo() {... - ● BreakBeforeBraces: Attach => void foo() {... - ● NamespaceIndentation: None => code inside namespace is not indented - ● ReflowComments: false => comments are not limited to maximal number of characters per line