目录

golang idea goland 配置自动格式化 proto 文件代码

golang idea goland 配置自动格式化 proto 文件代码

背景

相信大家对 grpc 都不陌生,在使用 grpc 协议进行微服务开发时, 其他协议proto 文件有自己的格式,而很多 idea 比如 goland 并没有做对应的文件格式化,一般只适配了语言本身的代码格式化,比如 goland 开发工具在编写代码时,保存则会自动进行格式化(内置了 go fmt)

在团队开发中,因为Proto文件里字段缩进、换行不统一,每次合并代码都要手动调整格式,光解决格式冲突就花了半小时。

但是其实 Goland 是可以配置 Proto 自动格式化,因此可以统一团队规范,节省大量手动调整时间。

那么 goland 如何配置才能让 proto 文件像 go 文件一样有 go fmt 工具统一进行格式化呢?

答案:使用 clang-format 格式化工具,并且配置 goland

安装clang-format

电脑需要先安装 clang-format,注意安装后要记住安装的位置,方便后续 goland 的配置

  • windows

    需要前往官网LLVM Snapshot Builds下载电脑相应的版本

    下载后双击安装即可(注意记住安装位置)

  • mac

    brew install clang-format

    Which clang-format

goland 配置

设置—Tools—File Watchers—新增

添加 clang-format 工具,并且配置工具的使用规则,具体配置如下图:

/img/go-fmt-proto/0101.png
goland配置格式化proto工具

Arguments 填写以下代码

-style="{editor.defaultFormatter: zxh404.vscode-proto3}"
-i
$FilePath$

配置完成后,保存,然后重启 goland 开发工具,配置生效

接下来就开始编写 proto 文件,ctrl + s 保存则会自动对文件进行格式化(效果和 go 文件的格式化一样)

注意:不一定是保存即格式化,在 Advanced Options 配置中可以选择自己合适的格式化时机,比如自动保存格式化、文件变化则格式化等等

不仅仅是 proto,其他格式也尽可能要做到团队成员统一,才能避免合并代码冲突的问题,节省合并时间

版权声明

未经授权,禁止转载本文章。
如需转载请保留原文链接并注明出处。即视为默认获得授权。
未保留原文链接未注明出处或删除链接将视为侵权,必追究法律责任!

本文原文链接: https://fiveyoboy.com/articles/go-fmt-proto/

备用原文链接: https://blog.fiveyoboy.com/articles/go-fmt-proto/