IDE: Visual Studio Code

Language: C/C++

格式化工具: clang-format

安装

vscode安装扩展C/C++,扩展程序将自动安装clang-format:

配置首选项

  • 打开首选项

    快捷键: Command + ,

  • 搜索 clang-format进行配置

  • 配置生效快捷键

    • 当前文件全文格式化

      Shift + option + F

    • 选择块格式化

      Command + K

      Command + F

配置格式化主题

配置项 C_Cpp: Clang_format_fallback Style

  • 可选主题

    • Visual Studio
    • LLVM
    • Google
    • Chromium
    • Mozilla
    • WebKit
    • none
    • {key: value, …}
  • 自定义key-value写法参考
{ BasedOnStyle: Google, IndentWidth: 4, IndentCaseLabels: false, AccessModifierOffset: -4, AlignTrailingComments: true }
  • 常用配置项
# 语言: None, Cpp, Java, JavaScript, ObjC, Proto, TableGen, TextProto
Language: Cpp # 基于某一主题上的修改
BasedOnStyle: Google # 缩进宽度
IndentWidth: 4 # 缩进case标签
IndentCaseLabels: false # 访问说明符(public、private等)的偏移
AccessModifierOffset: -4 # 每行字符的限制,0表示没有限制
ColumnLimit: 80 # 对齐连续的尾随的注释
AlignTrailingComments: true # 允许函数声明的所有参数在放在下一行
AllowAllParametersOfDeclarationOnNextLine: false
# 允许短的if语句保持在同一行
AllowShortIfStatementsOnASingleLine: false
# 允许短的case标签放在同一行
AllowShortCaseLabelsOnASingleLine: true
# 允许短的循环保持在同一行
AllowShortLoopsOnASingleLine: false # 允许排序#include
SortIncludes: true

更多配置项参考:

配置格式化形式

配置项 C_Cpp: Clang_format_style

默认是 file, 将会调用在当前工程下的 .clang-format 文件

注: 该种格式化配置, 优先级比上条配置方式高!

主题文件可通过clang-format工具生成, 例

# 若未安装则执行
brew install clang-format # 生成主题文件
clang-format -style=Google -dump-config > .clang-format

配置文件保存时自动格式化

Command + S 保存文件时, 或关闭当前文件的编辑, 将会触发自动格式化代码

配置行末加 ; 时自动格式化

类似 Xcode, 一条语句后加分号, 将会自动触发自动格式化代码


最后附上我使用的 代码格式化样式:

{ BasedOnStyle: Google, IndentWidth: 4 }

代码格式化工具:clang-format的更多相关文章

  1. Clang Format

    1,最近项目代码要求规范化,在网上找了个Xcode插件:Clang Format ,下载地址:https://github.com/travisjeffery/ClangFormat-Xcode 2, ...

  2. clang format 官方文档自定义参数介绍(中英文)

    官方文档:http://clang.llvm.org/docs/ClangFormatStyleOptions.html 中文 在代码中配置样式 当使用 clang::format::reformat ...

  3. YAPF:Google开源的Python代码格式化工具

    点这里 现在的大多数 Python 代码格式化工具(比如:autopep8 和 pep8ify)是可以移除代码中的 lint 错误.这显然有些局限性.比如:遵循 PEP 8 指导的代码可能就不会被格式 ...

  4. 在Xcode中使用Clang Format

    Xcode中的Re-Indent,顾名思义,只是一个调整缩进的功能,完全依赖它来进行代码格式化显然不够用.我们使用了一个叫做ClangFormat-Xcode的插件,配合Re-Indent一起来做代码 ...

  5. python 代码格式化工具:YAPF

    学习资料: https://github.com/google/yapf 背景 现在的大多数 Python 代码格式化工具(比如:autopep8 和 pep8ify)是可以移除代码中的 lint 错 ...

  6. 一款超人气代码格式化工具prettier

    一.prettier 介绍 官方自己介绍说,prettier是一款强势武断的代码格式化工具,它几乎移除了编辑器本身所有的对代码的操作格式,然后重新显示.就是为了让所有用这套规则的人有完全相同的代码.在 ...

  7. 代码格式化工具Astyle配置

    Astyle是一个很好的代码格式化工具,其他不多说,下面介绍一下我在VS 2010的配置 1. http://sourceforge.net/projects/astyle,这是该插件的网站,下载后把 ...

  8. css 10 款非常棒的CSS代码格式化工具推荐

    http://www.iteye.com/news/23692/  10 款非常棒的CSS代码格式化工具推荐 2011-12-14 09:31 by 副主编 wangguo 评论(0) 有9111人浏 ...

  9. CSS代码格式化工具

    CSS代码格式化工具 http://tool.lanrentuku.com/cssformat/ 可实现CSS代码格式化和CSS在线压缩 请将CSS代码复制到下面表单中:    

  10. 推荐一个小而美的Python代码格式化工具

    代码可读性是评判代码质量的标准之一,有一个衡量代码质量的标准是 Martin 提出的 “WFT” 定律,即每分钟爆出 “WTF” 的次数.你在读别人代码或者做 Code Review 的时候有没有 “ ...

随机推荐

  1. Activiti7 生成表结构

    首先创建一个Maven项目 整体的项目结构 activiti.cfg.xml配置文件 <?xml version="1.0" encoding="UTF-8&quo ...

  2. LAMP 和 LNMP

    #0x01 组成: LAMP==Linux+Apache+Mysql+PHP LNMP==Linux+Nginx+Mysql+PHP LANMP==linux + nginx + apache + m ...

  3. HTML绘制表格

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. xUnit测试的顺序执行总结

    cmliu 1,演示环境:windows 10企业版+Visual Studio 2019:.NET Core3.1:xUnit 2.4.1:.NET Standard 2.0.3 3,场景描述:前几 ...

  5. ansible使用,常用模块

    使用ansible管理其他主机有两种方式: 1.命令行执行ansible ad-hoc命令 2.把要做的动作行为写入一个文件[playbook脚本],ansible读取脚本自动完成相应的任务. Ans ...

  6. STL(常用)

    STL 简单记录.讲解一些初级阶段常用的用法. STL是C++的一个标准模板库,其中包含了许多在计算机领域常用的基本数据结构以及基本算法.STL主要依赖于模板,使得STL具有广泛的通用性.这篇文章旨在 ...

  7. 刀哥之指纹识别biometrics

    指纹识别 - 生物识别 简介 iPhone 5S 开始支持 iOS 8.0 开放了 Touch ID 的接口 代码准备 - (void)touchesBegan:(NSSet *)touches wi ...

  8. USB URB的status及其代表的意义

    USB URB的status及其代表的意义 平时在处理客户问题时,经常需要分析出现问题时抓取的usbmon log,这个log中有一个字段非常重要:URB Status word,这个字段就是stru ...

  9. html+css入门基础案例之页面设计

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. threading之线程的开始,暂停和退出

    目录 背景 实现代码 背景 利用多线程实现一个开关功能,需要对产生的线程进行管理(例如:开启,暂停,关闭等操作). 实现代码 任务脚本: #!/usr/bin/python3 # _*_ coding ...