📜  借助 Clang 工具创建 C/C++ 代码格式化工具

📅  最后修改于: 2022-05-13 01:57:41.525000             🧑  作者: Mango

借助 Clang 工具创建 C/C++ 代码格式化工具

今天我们将讨论通过扩展名在用户工作区中格式化文件。为此,我们将使用 Clang 的格式工具。

先决条件:

  • Linux机器
  • Python
  • 铿锵工具

设置:

  • 使用以下命令安装Python :
    sudo apt-get install python
  • 安装 Clang 格式工具
    sudo apt-get install clang-format-3.5
  • 在您具有读写权限的任何位置创建一个名为 format-code.py 的Python文件。在本例中,我们将在 /home/user/ 中创建它。它应包含以下代码:
    # Python program to format C/C++ files using clang-format
    import os
      
    # File Extension filter. You can add new extension
    cpp_extensions = (".cxx",".cpp",".c", ".hxx", ".hh", ".cc", ".hpp")
      
    # Set the current working directory for scanning c/c++ sources (including
    # header files) and apply the clang formatting
    # Please note "-style" is for standard style options
    # and "-i" is in-place editing
    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)
    
  • 创建格式规范文件并将其复制到项目的顶级目录,例如,/home/user/myproject/
    1. 创建格式化文件(例如,我们正在创建 google 编码样式工具)
      clang-format-3.5 -style=google -dump-config > .clang-format 
    2. 将其复制到项目的目录,即它的位置变为:/home/user/myproject/.clang-format

如何使用它?

  • 导航到要格式化其文件的目录,例如,
    cd  /home/user/myproject/c-source/
  • 运行您之前创建的格式代码文件
    python /home/user/format-code.py

    这将格式化我们源目录中的所有文件,其扩展名与代码中提到的相同。