Creación de una herramienta de formato de código C/C++ con la ayuda de las herramientas de Clang

Hoy vamos a discutir cómo formatear archivos en el espacio de trabajo del usuario por su extensión. Para ello vamos a hacer uso de las herramientas de formato de Clang.

requisitos previos:

  • Máquina Linux
  • Python
  • Herramienta de sonido

Configuración:

  • Instale Python usando el siguiente comando:
    sudo apt-get install python
  • Instalar herramientas de formato Clang
    sudo apt-get install clang-format-3.5
  • Cree un archivo python llamado format-code.py en cualquier ubicación donde tenga permisos de lectura y escritura. En este ejemplo lo vamos a crear en /home/usuario/. Contendrá el siguiente código:

    # 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)
  • Cree un archivo de especificación de formato y cópielo en el directorio de nivel superior del proyecto, por ejemplo, /home/user/myproject/
    1. Crear un archivo de formato (por ejemplo, estamos creando una herramienta de estilo de codificación de Google)
      clang-format-3.5 -style=google -dump-config > .clang-format 
    2. Cópielo en el directorio del proyecto, es decir, su ubicación se convierte en: /home/user/myproject/.clang-format

¿Cómo usarlo?

  • Navegue hasta el directorio cuyos archivos desea formatear, por ejemplo,
    cd  /home/user/myproject/c-source/
  • Ejecute el archivo de código de formato que creó anteriormente
    python /home/user/format-code.py
  • Esto formateará todos los archivos en nuestro directorio fuente con la misma extensión que la mencionada en el código.

    Este artículo es una contribución de Nitin Deokate . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuido@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.

    Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *