工具安装----Clang-format的基本使用
简介
- 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 中使用
- 查找文件 clang-format.py 所在的目录:
$ dpkg -L clang-format | grep clang-format.py
- 在 .vimrc 中加入以下内容
function! Formatonsave()let l:formatdiff = 1py3f <path-to-this-file>/clang-format.py
endfunction
autocmd BufWritePre *.h,*.cc,*.cpp call Formatonsave()
说明:
- 上述的内容表示:当使用 Vim 保存文件时,会按照当前目录 或 任一父目录的文件 .clang-format 或 _clang-format 指定的规范来规范代码(如果未找到文件,使用默认代码规范)
- 上述
<path-to-this-file>
指的是 clang-format.py 的目录 let l:formatdiff = 1
的意思是只规范修改过的部分,可以用let l:lines = "all"
取代,表示规范所有的内容- 在 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的基本使用相关推荐
- 02_clickhouse安装,卸载,启动/关闭服务,交互式命令(数据库创建,数据导入,查询),批模式数据导入,MySQL接口操作ClickHouse,DBeaver可视化工具安装与使用(学习笔记)
1 ClickHouse安装 安装文件清单 clickhouse-client-${version}.noarch.rpm clickhouse-common-static-dbg-${version ...
- vatic标注工具安装步骤(非docker安装)以及错误解决办法
Vatic标注工具安装步骤(非docker安装)以及错误解决 1.安装参考 2.安装步骤 2.1.环境介绍 2.2.下载Vatic 2.3.配置Apache 2.4.配置MySQL 2.5.配置/安装 ...
- Ubuntu安装Clang\Clang版本切换
目录 1.废话 2.安装不同版本的Clang 2.1.Ubuntu 16.04 可选版本 2.2.Ubuntu 18.04 可选版本 2.3.Ubuntu 18.10 可选版本 2.Clang不同版本 ...
- Git客户端Sourcetree工具安装使用详解命令
目录 一.Git工作流程 二.Git安装 三.Sourcetree工具安装 四.Sourcetree配置 五.Sourcetree配置SSH 六.GIT常用命令 一.Git工作流程 二.Git安装与配 ...
- ubuntu20.04 安装clang(什么是llvm、什么是clang以及其和clang的关系)
文章目录 ubuntu20.04 安装clang 前置基础 什么是clang 什么是LLVM以及其和clang的关系 clang和gcc区别 ubuntu20.04 安装clang 安装过程 使用官方 ...
- 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 ...
- jar java classpath_win7中java编程工具安装 java环境变量设置
win7中java编程工具安装 java环境变量设置 Question:编译是显示'javac'不是内部或外部命令,也不是可运行的程序或批处理文件 解决: 在[系统变量]里编辑java_home.cl ...
- VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装
VMware中安装CentOS7网络配置静态IP地址,常用配置和工具安装 在阿里云开源镜像地址下载镜像 Index of /centos/7.2.1511/isos/x86_64/ http://mi ...
- yum工具安装Nginx
2019独角兽企业重金招聘Python工程师标准>>> Nginx官网:nginx.org ,选择稳定的版下载安装,此处我选择下载1.14.2版本,以下是yum工具安装方式: yum ...
- 【Java 虚拟机原理】垃圾回收算法( Java VisualVM 工具 | 安装 Visual GC 插件 | 使用 Java VisualVM 分析 GC 内存 )
文章目录 一.Java VisualVM 工具安装 Visual GC 插件 二.使用 Java VisualVM 分析 GC 内存 一.Java VisualVM 工具安装 Visual GC 插件 ...
最新文章
- pytorch生成对抗示例
- 求求你们了,别再写满屏的 try catch 了!!
- 关于xib里面的NSLayoutConstraint的multiplier修改
- python泰勒展开_如何利用sympy对未知函数$f(x)$进行符号泰勒展开
- 全球与中国机器人即服务市场领航调研与投资战略规划分析报告2022-2028年
- tf.truncated_normal的用法
- java同名变量在list中添加两次_快速解决List集合add元素,添加多个对象出现重复的问题...
- 了解如何使用Tkinter在Python中创建GUI
- Python+django网页设计入门(9):自定义反爬虫功能
- 不用也要知道的几种算法(PHP版本)
- 今天rpm装glibc和glibc-common版本,出现二个包相互依赖,解决办法
- L2-008 最长对称子串(马拉车 or 技巧暴力)
- 如何理解图像的概率分布?为什么N(0,1)的向量可以Gen图片?
- eclipse添加约束文件
- [Trie树] BZOJ3689: 异或之
- 【开源】STC12C5A60S2开发板
- python并行编程 - GPU篇
- 华硕服务器系统安装win7系统教程,华硕重装系统教程
- 1138:破解简单密码
- Android中监听电源键长按、Home键、Home键长按