为什么 vscode golang 插件会在 save 时删除运算符周围的空格?

如果这很重要,我已经写了很多年的代码,但我现在才同时探索golang和vscode。

在我的Linux盒子上,我安装了vscode(1.56.2)和golang插件(0.25.1)。

我一直在学习一些简单的golang教程,我注意到当我保存我编辑过的文件时发生了一件奇怪的事情。

这是我的台词:

out = append(out, base + v)

当我保存它时,它变成了这样:

out = append(out, base+v)

它删除了“+”运算符周围的空格。我搜索了vscode和golang扩展设置,我几乎没有发现它在保存时会做什么。

实际上,在“设置”中,我选中了“保存时格式化”。

那么,这是做什么的,为什么呢?我是否能够对此进行配置?


陪伴而非守候
浏览 178回答 2
2回答

忽然笑

那么,这是做什么的,为什么呢?编辑器在保存时运行该命令。该命令使用空格来显示操作员优先级。gofmt以下代码段使用该命令进行格式化。请注意操作数如何更接近高优先级运算符。gofmtfmt.Println(a + b + c + d)fmt.Println(a * b * c * d)fmt.Println(a + b*c + d)fmt.Println(a*b + c*d)该命令将删除问题中 的空格,因为gofmt++,

POPMUISE

这与VScode无关。如果您有此文件:package mainimport "fmt"func main() {   var a []int   a = append(a, 1 + 2)   fmt.Println(a)}跑步可以让您:gofmt file.gopackage mainimport "fmt"func main() {        var a []int        a = append(a, 1+2)        fmt.Println(a)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go