news 2026/7/3 17:46:36

在Keil中使用Clang-Format对齐代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在Keil中使用Clang-Format对齐代码

简介

Clang-format既是一个库,也是一个独立的工具,它的目标是根据可配置的样式指南自动重新格式化源文件,主要是处理缩进、换行、对齐、空格等排版问题。可用来格式化C/C++、Java、JavaScript、Objective-C、Protobuf、C# 等代码。其内置有几种代码风格分别是LLVM, Google, Chromium, Mozilla, WebKit, Microsoft,GNU,也可以使用自定义的样式YAML配置文件(.clang-format )来进行配置。优先使用项目中的 .clang-format文件,如果项目中不存在配置文件,会查找系统中的 .clang-format 文件。如果找不到样式文件,则使用备用风格进行格式化。

准备Clang-format

现在Keil MDK V6版本的keil已经自带Clang-format,可以在打开LLVM的Github版本下载,最新版本下载网址:https://github .com/llvm/llvm-project/releases

方法

添加格式化按钮

  • 点击“Tools”->”Customize Tools Menu”,在弹出的窗口中输入以下内容

  • Menu Content新建条目,输入clang-format for current file

  • Command中输入clang-format.exe所在位置,比如D:\Keil_v5\KEIL_20251216\ARM\ARMCLANG\bin\clang-format.exe

  • Arguments中输入--style=file -fallback-style=Google-i !E,可以根据自己想要的风格改,把Google改成下面的风格即可

  • Clang-format自带六种配置:

    LLVM:这是默认配置,遵循 LLVM 项目的代码风格。

    Google:遵循 Google 的 C++ 代码风格。

    Chromium:遵循 Chromium 项目的代码风格。

    Microsoft:遵循 Microsoft 的 C++ 代码风格。

    Mozilla:遵循 Mozilla 项目的代码风格。

    WebKit:遵循 WebKit 项目的代码风格

  • 点击OK确认即可

图表 11添加格式化按钮

附:

!:带扩展名和当前文件夹的相对路径说明的文件名

E: 当前焦点所在的编辑器文件名

添加格式化快捷键

  • 点击“edit”->“Configuration”,在弹出的窗口中选择“Shortcut Keys”。
  • 选择上一步新建的项“Tools:clang-format for current file”。
  • 点击“Create Shortcut“,在弹出窗口后按下快捷键,如Alt+Shift+F,或其他,点击“OK”即可创建快捷键。

图表 12新建快捷键

使用

保存完修改的源文件后,点击Tools菜单栏的“clang-format current file”按钮或者使用快捷键均可格式化文件。格式化时会在“Build Output”窗口输出一些信息,如果格式化出错,会在这里提示。

参考链接
https://zhuanlan.zhihu.com/p/647281361

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/3 17:45:59

GEO的KPI不止是“提及率”——搭建多维度的KPI体系

很多品牌在做GEO时,把所有的注意力都放在了“提及率”这一个指标上。但GEO的KPI远不止这么简单。一个科学、完整的GEO KPI体系,应该像一份体检报告一样,涵盖多个维度,既有“结果指标”,也有“过程指标”和“质量指标”…

作者头像 李华
网站建设 2026/7/3 17:43:45

WandEnhancer开源增强工具:解锁游戏修改新体验的完整指南

WandEnhancer开源增强工具:解锁游戏修改新体验的完整指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/gh_mirrors/we/Wand-Enhancer WandEnhancer是一款专为Wand&#…

作者头像 李华
网站建设 2026/7/3 17:40:14

EM3080-W条形码解码器与STM32F303RC的硬件协同设计

1. EM3080-W条形码解码器芯片的核心特性解析EM3080-W作为Newland Auto-ID Tech推出的专业级条形码解码芯片,其设计哲学围绕三个核心维度展开:适应性解码能力、能效优化和接口友好性。这款芯片在硬件层面集成了多码制并行识别引擎,支持从传统E…

作者头像 李华
网站建设 2026/7/3 17:36:18

GPU DVFS技术在大规模语言模型训练中的能耗优化实践

1. GPU DVFS技术概述动态电压频率调整(DVFS)技术在现代GPU加速计算中扮演着关键角色,特别是在大规模语言模型(LLM)训练这种高能耗场景下。这项技术的核心思想是根据实时工作负载需求,动态调整处理器的电压和…

作者头像 李华