一、在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個空格。
四、參考
