简介

  • ClangFormat 是一个规范代码的工具
  • ClangFormat 支持的语言有:C/C++/Java/JavaScript/Objective-C/Protobuf/C#
  • ClangFormat 支持的规范有:LLVM,Google,Chromium,Mozilla 和 WebKit

测试环境

  • Ubuntu 18.04 LTS
  • clang-format-6.0

安装

$ sudo apt install clang-format

使用

命令行使用

常用命令如下:

  • 预览规范后的代码
$ clang-format main.cc
  • 直接在原文件上规范代码
$ clang-format -i main.cc
  • 显示指明代码规范,默认为 LLVM
$ clang-format -style=google main.cc
  • 将代码规范配置信息写入文件 .clang-format
$ clang-format -dump-config > .clang-format
  • 使用自定义代码规范,规范位于当前目录或任一父目录的文件 .clang-format 或 _clang-format 中(如果未找到文件,使用默认代码规范)
$ clang-format -style=file main.cc

在 Vim 中使用

  1. 查找文件 clang-format.py 所在的目录:
$ dpkg -L clang-format | grep clang-format.py
  1. 在 .vimrc 中加入以下内容
function! Formatonsave()let l:formatdiff = 1py3f <path-to-this-file>/clang-format.py
endfunction
autocmd BufWritePre *.h,*.cc,*.cpp call Formatonsave()

说明:

  1. 上述的内容表示:当使用 Vim 保存文件时,会按照当前目录 或 任一父目录的文件 .clang-format 或 _clang-format 指定的规范来规范代码(如果未找到文件,使用默认代码规范)
  2. 上述 <path-to-this-file> 指的是 clang-format.py 的目录
  3. let l:formatdiff = 1 的意思是只规范修改过的部分,可以用 let l:lines = "all" 取代,表示规范所有的内容
  4. 在 Ubuntu 18.04 LTS 下,clang-format 的默认版本为 clang-format-6.0,clang-format-6.0 的 clang-format.py 使用的是 Python 3,而 Ubuntu 18.04 LTS 默认的 Python 版本为 Python 2.7,所以上面使用的是 py3f 而不是 pyf

工具安装----Clang-format的基本使用相关推荐

  1. 02_clickhouse安装,卸载,启动/关闭服务,交互式命令(数据库创建,数据导入,查询),批模式数据导入,MySQL接口操作ClickHouse,DBeaver可视化工具安装与使用(学习笔记)

    1 ClickHouse安装 安装文件清单 clickhouse-client-${version}.noarch.rpm clickhouse-common-static-dbg-${version ...

  2. vatic标注工具安装步骤(非docker安装)以及错误解决办法

    Vatic标注工具安装步骤(非docker安装)以及错误解决 1.安装参考 2.安装步骤 2.1.环境介绍 2.2.下载Vatic 2.3.配置Apache 2.4.配置MySQL 2.5.配置/安装 ...

  3. Ubuntu安装Clang\Clang版本切换

    目录 1.废话 2.安装不同版本的Clang 2.1.Ubuntu 16.04 可选版本 2.2.Ubuntu 18.04 可选版本 2.3.Ubuntu 18.10 可选版本 2.Clang不同版本 ...

  4. Git客户端Sourcetree工具安装使用详解命令

    目录 一.Git工作流程 二.Git安装 三.Sourcetree工具安装 四.Sourcetree配置 五.Sourcetree配置SSH 六.GIT常用命令 一.Git工作流程 二.Git安装与配 ...

  5. ubuntu20.04 安装clang(什么是llvm、什么是clang以及其和clang的关系)

    文章目录 ubuntu20.04 安装clang 前置基础 什么是clang 什么是LLVM以及其和clang的关系 clang和gcc区别 ubuntu20.04 安装clang 安装过程 使用官方 ...

  6. Ubuntu 20.04 64位 Google Protocol ProtoV3 bufbuild buf 工具安装使用指南

    1 buf工具安装 1.1 下载地址 Releases · bufbuild/buf · GitHubA new way of working with Protocol Buffers. Contr ...

  7. jar java classpath_win7中java编程工具安装 java环境变量设置

    win7中java编程工具安装 java环境变量设置 Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件 解决: 在[系统变量]里编辑java_home.cl ...

  8. VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装

    VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...

  9. yum工具安装Nginx

    2019独角兽企业重金招聘Python工程师标准>>> Nginx官网:nginx.org ,选择稳定的版下载安装,此处我选择下载1.14.2版本,以下是yum工具安装方式: yum ...

  10. 【Java 虚拟机原理】垃圾回收算法( Java VisualVM 工具 | 安装 Visual GC 插件 | 使用 Java VisualVM 分析 GC 内存 )

    文章目录 一.Java VisualVM 工具安装 Visual GC 插件 二.使用 Java VisualVM 分析 GC 内存 一.Java VisualVM 工具安装 Visual GC 插件 ...

最新文章

  1. pytorch生成对抗示例
  2. 求求你们了,别再写满屏的 try catch 了!!
  3. 关于xib里面的NSLayoutConstraint的multiplier修改
  4. python泰勒展开_如何利用sympy对未知函数$f(x)$进行符号泰勒展开
  5. 全球与中国机器人即服务市场领航调研与投资战略规划分析报告2022-2028年
  6. tf.truncated_normal的用法
  7. java同名变量在list中添加两次_快速解决List集合add元素,添加多个对象出现重复的问题...
  8. 了解如何使用Tkinter在Python中创建GUI
  9. Python+django网页设计入门(9):自定义反爬虫功能
  10. 不用也要知道的几种算法(PHP版本)
  11. 今天rpm装glibc和glibc-common版本,出现二个包相互依赖,解决办法
  12. L2-008 最长对称子串(马拉车 or 技巧暴力)
  13. 如何理解图像的概率分布?为什么N(0,1)的向量可以Gen图片?
  14. eclipse添加约束文件
  15. [Trie树] BZOJ3689: 异或之
  16. 【开源】STC12C5A60S2开发板
  17. python并行编程 - GPU篇
  18. 华硕服务器系统安装win7系统教程,华硕重装系统教程
  19. 1138:破解简单密码
  20. Android中监听电源键长按、Home键、Home键长按

热门文章

  1. 树莓派如何接硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
  2. 深入浅出设计模式---3、代理模式和工厂模式
  3. Java虚拟机面试总结
  4. VFP DownFileX下载异常问题
  5. 《CSDN实训》工时统计(未完)
  6. VS2017安装方法
  7. C# Graphics 透明 gif 进度条
  8. Cleaning Bad Data in R R语言数据清理教程 Lynda课程中文字幕
  9. QTP11.5/UFT官方下载与安装
  10. java开发冒险岛系统实训报告_樱妖冒险岛079完美源码