一、在VSCode中编写Go代码时,缩进是使用tab缩进,主要是由于以下两个方面。

1. Go官方提供的代码格式化工具gofmt默认是使用tab缩进,并且为8个字符宽度。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

2. 并且在VSCode中,打开go文件时默认的缩进选项是tab缩进,VSCode右下角可见。

Mac OS修改VSCode Go的默认缩进格式 go 第1张

 

二、由于写Python习惯了以后,看到缩进变成了tab,还是很不适应的,下面就从以上两个方面,去更改VSCode Go的默认缩进格式。

1.修改gofmt源码

1) 在 ${GOROOT}/src/go/format/format.go 中做如下修改

// 修改之前
// var config = printer.Config{Mode: printer.UseSpaces | printer.TabIndent, Tabwidth: 8}
// 修改之后
var config = printer.Config{Mode: printer.UseSpaces, Tabwidth: 4}

2) 在Go工程中执行重新安装命令:go install golang.org/x/tools/gopls 

3) 若未安装gopls,而是使用的 goimports (goreturns、goformat同理),则执行: go install golang.org/x/tools/cmd/goimports 

4) 安装完成之后,重启VSCode。

 

2.安装插件 EditorConfig for VS Code

安装之后,需要在Go工程根目录创建一个 .editorconfig 文件去配置VSCode的默认缩进选项。

以下为我自己的参考配置。

root = true

[*]
charset = utf-8
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

  插件配置之后,再新建一个go文件并打开,默认的缩进会变成是spaces缩进。

Mac OS修改VSCode Go的默认缩进格式 go 第2张

 

三、上面两个配置完成之后,在VSCode中,无论是编写Go代码,还是在格式化Go代码,缩进均为4个空格。

 

四、参考

1. gofmt和goimports的缩进

2. 快速用上 editorconfig 来规范编辑

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄