[Development] clang-format

Frederik Gladhorn frederik.gladhorn at qt.io
Mon Jun 18 11:04:33 CEST 2018


Hi all,

as part of the closing ceremony of this year's Qt Contributors' Summit we 
agreed to start using clang-format, to have fewer discussions around coding 
style and rather focus on the actual code.

I have not yet thought about all angles, how to best implement this, here are 
some notes:

We have a clang-format file in qtrepotools. You can use it today, simply make 
sure it's in any parent directory of the files you are editing. I'd actually 
propose simply moving this into the root directory of qt5.git.
https://code.qt.io/cgit/qt/qtrepotools.git/tree/config/_clang-format

If you want to clean one file:
clang-format -i myfile.cpp/h

To clean a commit (only modifies the working tree):
git clang-format


Getting clang-format seems easy enough:
On macOS: brew install clang-format
Linux: install clang-format
Windows: it comes with normal clang

Then there is the tooling/workflow perspective. Creator and other IDEs have 
support (you may need to enable the beautifier plugin in about plugins).
I imagine we add this to the sanity bot ("git clang-format --diff -q" should 
return empty, otherwise post a message).

Local hooks are basically the same, any ideas how to best set up the git hooks 
appreciated :)

And then there is the big question when we run it once over the entire 
codebase.

Cheers,
Frederik






More information about the Development mailing list