A clang-format
az LLVM/clang projekt C/C++ formázó toolja. Egyes más
toolokkal ellentétben aggresszíven formáz, tehát nem csak néhány
kulcsdolgot javít ki egy kézzel is nagyjából megformázott fileban, hanem
teljesen újraformáz a beállítások alapján.
A formázás történhet az 5 beépített preset egyike alapján: LLVM, Google,
Chromium, Mozilla vagy WebKit, vagy egy format-file alapján, ami
alapértelmezetten a formázandó file mellett vagy felett (akárhány szintre)
található .clang-format
nevű file. Ezt jellemzően az adott repo gyökerébe
rakjuk, verziókontroll alá.
Javasolt használat:
Másoljátok ki át adasworks-io repo gyökeréből a .clang-format és clang-format-all.sh fileokat.
A clang-format-all.sh
segítségével parancssorból le lehet formázni az összes,
a repoban levő .c
, .h
, .cpp
, .hpp
fileokat
Mergelés esetén vigyázzatok, hogy mindkét összemergelt ág már le legyen formázva, hogy a merge csak a valódi változásokat tartalmazza. Ez általában is így legyen, tehát formázásokat mindig külön commitban rakjatok fel, amik érdemi változást nem tartalmaznak.
git clone https://github.com/travisjeffery/ClangFormat-Xcode.git
open ClangFormat-Xcode/ClangFormat.xcodeproj/
Ezután Product/Run
(⌘R
), ami után megjelenik egy Xcode dialog box, ami azt
kérdezi, be akarod-e tölteni az unexpected plugint (yes).
Lépj ki az Xcode-ból. Ha kérdezi, hogy leállítsa-e a futó taskokat, akkor yes.
Újraindítás után Edit
menü alján lesz egy új Clang Format
menü.
A plugint legyszerűbb úgy használni, hogy az Enable Format on Save
be van
kapcsolva, ekkor minden ⌘S
-re leformázza az aktuális filet. A formázás a
menüben beállított formátumra, vagy ha a File
formátum van beállítva, akkor a
legközelebbi .clang-format
filera történik.
Innen töltsd le a "clang-format plugin for Visual Studio"-t:
http://llvm.org/builds. Feltelepités után a CTRL+R, CTRL+F
kombinációval
lehet aktiválni. (vagy a Tools/ClangFormat
menüből)
Csak a kijelölt részre (vagy az aktuális sorra) fut le, igy ha az egész file-t
akarod formázni, előtte CTRL+A
is kell.
Alapértelmezetten a formátumot a legközelebbi .clang-format
fileból veszi.
Egyéb beállitások: Tools/Options/LLVM-Clang/ClangFormat