Creating a C/C++ Code Formatting tool with help of Clang tools
Last Updated :
16 Jul, 2020
Today we are going to discuss formatting files in the user’s workspace by their extension. For this we are going to make use of Clang’s format tools.
Prerequisites:
- Linux Machine
- Python
- Clang Tool
Setup:
- Create a python file named format-code.py at any location where you have read and write permissions. In this example we are going to create it in /home/user/. It shall contain the following code:
import os
cpp_extensions = ( ".cxx" , ".cpp" , ".c" , ".hxx" , ".hh" , ".cc" , ".hpp" )
for root, dirs, files in os.walk(os.getcwd()):
for file in files:
if file .endswith(cpp_extensions):
os.system( "clang-format-3.5 -i -style=file " + root + "/" + file )
|
- Create format specification file and copy it to project’s top level directory , e.g., /home/user/myproject/
- Create formatting file (in example, we are creating google coding style tool)
clang-format-3.5 -style=google -dump-config > .clang-format
- Copy it to project’s directory i.e., it’s location becomes: /home/user/myproject/.clang-format
How to use it?
- Navigate to the directory whose files you want to format, e.g.,
cd /home/user/myproject/c-source/
- Run the format-code file that you created earlier
python /home/user/format-code.py
This shall format all the files in our source directory with the extension same as that mentioned in the code.
Share your thoughts in the comments
Please Login to comment...