Linux下使用clang-format格式化C++代码

2023-05-16

1. 概述

  • clang-format 用于格式化代码,其中自带的排本格式主要有:LLVM、Google、Chromium、Mozilla、WebKit

2. 命令

  • 安装命令:sudo apt install clang-format
  • 操作命令:clang-format [options] [<file> ...]
  • 使用.clang-format实现自定义格式化,将自定义格式化保存为.clang-format文件格式,并用-style=file参数进行指定;即clang-format -i -style=file
  • 使用已有的格式化创建自定义格式化.clang-format文件,clang-format -style=LLVM -dump-config > .clang-format
    # 格式化的结果打到stdout(终端上)
    clang-format -style=file main.cc
    # 直接修改到文件
    clang-format -style=file -i main.cc
    

3. Linux下使用clang-format

  • xargs命令详解,extended arguments是给命令传递参数的一个过滤器,是组合多个命令的工具,能够捕获一个命令的输出,然后传递给另外一个命令;
  1. xargs默认的命令是echo,即通过管道传递给xargs的输入将会包含换行和空白,不过通过xargs处理,换行和空白将被空格取代;
  2. xargs 可以将管道或标准输入数据转换成命令行参数,也能够从文件的输出中读取数据;
  3. xargs命令一般与管道一起使用,some command | xargs -item command
  • xargs命令实战:
#!/bin/bash
#print all args sk.sh
echo $*

# cat args.txt
aaa
bbb
ccc

# xargs的-I选项,使用-I指定一个替换字符串{},该字符串在xargs扩展时将被替换掉,当-I与xargs结合使用时,每一个参数命令都将被执行一次。
# cat arg.txt | xargs -I {} ./sk.sh -p {} -l
-p aaa -l
-p bbb -l
-p ccc -l
# 复制所有图片文件到/data/images目录下:
ls *.jpg | xargs -n1 -I {} cp {} /data/images

# xargs结合find使用
find . -type f -name "*.log" -print0 | xargs -0 rm -f
# xargs结合find命令实现clang-format
find . -iname '*.h' -o -iname '*.c' | xargs clang-format -i -style=file
  • 参考链接
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下使用clang-format格式化C++代码 的相关文章

随机推荐