Mac OS修改VSCode Go的默认缩进格式

Posted hiwz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac OS修改VSCode Go的默认缩进格式相关的知识,希望对你有一定的参考价值。

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

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

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

技术图片

 

二、由于写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缩进。

技术图片

 

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

 

四、参考

1. gofmt和goimports的缩进

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

以上是关于Mac OS修改VSCode Go的默认缩进格式的主要内容,如果未能解决你的问题,请参考以下文章

vscode设置tab缩进字符数

为啥 VS Code 默认使用 2 个空格缩进?

VSCode 自定义代码格式和语言自动缩进(Django-Template 缩进)

Mac OS X下go的安装,使用,删除

VScode默认换行符及编码格式的修改

修改Eclipse格式化代默认长度