神器你值得拥有——CoolFormat代码一键自动格式化工具,支持Verilog

简介: 神器你值得拥有——CoolFormat代码一键自动格式化工具,支持Verilog

前言

之前我分享过一个代码自动格式化插件: AStyle,用过Keil的朋友应该都会安装这个插件吧!它没有图形化界面,只能作为插件在IDE中使用,还需要配置使用参数等,支持的编程语言也比较有限。


特别是不支持Verilog,我去年曾和AStyle的作者Jim Pattee提过建议,看是否能添加Verilog的支持,得到的答复是不能添加。

640.jpg


笔者工作中会使用到 Verilog,虽然代码风格还算可以,但还是一直在寻找一款能自动格式化Verilog的工具,终于我在B站 全栈大佬稚晖君 的桌面工具分享视频中,发现了一款代码格式化工具——Cool Format,这是一款国人开发的开源的神器,支持图形化界面或者作为插件集成在IDE中,支持多种语言:

C\C++\C#\CSS\HTML\Java\JavaScript\JSON\Objective-C\PHP\SQL\XML\Verilog\VHDL

640.png


最重要的一点,作者在2018年增加了对FPGA开发语言—Verilog\VHDL的格式化支持


CoolFormat介绍

  • 界面采用Office 2010风格,如果你经常使用Office,对这个软件应该非常亲切
  • 支持快速单文件格式,选中部分格式化,或者文件夹多个文件批量格式化
  • 代码风格可选ANSI、K&R、GNU等标准代码格式,也可以自定义代码风格
  • 可以对代码着色,用于网页或博客显示
  • 支持命令行操作,可以用于集成到IDE中作为插件使用
  • 免安装,单文件双击即可运行

640.jpg


更多的使用方法,可以参考:

https://blog.csdn.net/akof1314/article/details/8029438


使用方法

使用方法非常简单,直接打开源文件,或者导入包含源文件的文件夹,点击一下格式化按钮就可以了,速度还是非常快的。

640.gif


如果想在Keil等集成开发环境中作为插件来使用,可以使用-f 文件名参数来格式化源文件。


以Keil为例:


  1. 添加一个插件

640.jpg


  1. 配置CoolFormat参数

640.jpg


在Keil中,!E表示当前文件。


  1. 使用方法

打开要格式化的.c文件,点击Tools->CoolFormat工具,来一键自动格式化当前文件。

640.gif


目录
相关文章
|
Linux 虚拟化
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
VMware虚拟机 用共享文件夹方式 与主机传输文件(图文)
|
11月前
|
JSON 数据库 数据格式
[开发技巧] 如何获取汉字笔画数?
在开发卜筮小脚本时遇到获取汉字笔画数的需求,起初尝试使用`pypinyin`库却未得理想结果。经过探索,发现Unicode联盟维护的Unihan数据库提供准确的汉字笔画数据。通过下载Unihan数据库文件,解析其中的`kTotalStrokes`字段,利用正则表达式提取所需信息,并将其保存为JSON格式以供快速查询。最终编写函数`get_character_stroke_count`实现任意汉字笔画数的高效获取,满足了项目需求并提供了准确的数据支持。此方法不仅解决了问题,还为类似需求提供了参考方案。
290 10
[开发技巧] 如何获取汉字笔画数?
STM32学习笔记(4) 高级定时器-两路互补的PWM输出(带死区和刹车控制)
原理:当捕捉到信号的跳变沿时,将CNT的值所存到捕获寄存器CCR中,然后把两次的值相减,就可以得到脉宽或者频率。
2797 0
基于DSP的数字滤波器设计
基于DSP的数字滤波器设计
409 4
|
C# 开发者 Windows
WPF与PDF文档:解锁创建和编辑PDF文件的新技能——从环境配置到代码实践,手把手教你如何在WPF应用中高效处理PDF,提升文档管理效率
【8月更文挑战第31天】随着数字文档的普及,PDF因跨平台兼容性和高保真度成为重要格式。WPF虽不直接支持PDF处理,但借助第三方库(如iTextSharp)可在WPF应用中实现PDF的创建与编辑。本文通过具体案例和示例代码,详细介绍了如何在WPF中集成PDF库,并展示了从设计用户界面到实现PDF创建与编辑的完整流程。不仅包括创建新文档的基本步骤,还涉及在现有PDF中添加页眉页脚等高级功能。通过这些示例,WPF开发者可以更好地掌握PDF处理技术,提升应用程序的功能性和实用性。
686 0
|
网络协议 安全 Unix
什么是 Banner 抓取和 OS 指纹识别?
【8月更文挑战第31天】
464 0
|
存储 Linux 数据安全/隐私保护
python的压缩模块zipfile详解
python的压缩模块zipfile详解
222 3
|
数据格式 C++ Java
notepad++如何快速格式化代码
notepad++如何快速格式化代码
20930 0
|
域名解析 缓存 网络协议
DNS(Domain Name System,域名系统)详解
DNS(Domain Name System,域名系统)是互联网中用于将域名转换为相应IP地址的分布式命名系统。虽然不是严格意义上的局域网协议,但它在中大型局域网起着至关重要的作用。它负责将域名映射为IP地址,使得用户可以使用易记的名称访问网络资源。
1448 0
|
Docker 容器
docker 设置国内镜像源
docker 设置国内镜像源
88004 1