如何在保存时设置vscode格式golang代码?

问题描述 投票:0回答:5

我正在使用

vscode
Go
扩展来编辑
golang
源代码。每次我想要格式化代码时,我都必须按
Ctrl-Shift-i
上的
linux
,按
Shift-Alt-F
上的
Windows
,或按
Ctrl-Shift-p
并输入
format
。是否可以在保存时设置格式,也就是说,当我按
ctrl-s
时,它会使用
go.fmt
(或类似的东西)自动格式化代码?

go visual-studio-code
5个回答
45
投票

对我来说,所有答案都不起作用。我的 Go 版本是 1.17.1,VSCode 版本是 1.60.1,我使用的是 Linux Pop!_os。

在网上进行一些挖掘后,在 Go 的官方 VSCode 文档中发现了这一点。 https://code.visualstudio.com/docs/languages/go#_formatting

我的settings.json看起来像这样

"[go]": {
    "editor.insertSpaces": true,
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "golang.go"
},

注意:您需要在 VS Code 中安装 go lang 所需的扩展。打开 *.go 文件后检查左下栏,您应该会看到 go 版本。如果您看到感叹号图标,请单击它并安装建议的扩展。


26
投票

从我的可视化代码版本来看,我无法使用配置 go.formatOnSave": false。

然后我可以在设置中将其关闭,如下所示:

  • 构建(使用 go.buildOnSave 设置关闭)
  • Lint(使用 go.lintOnSave 设置关闭)
  • Vet(使用 go.vetOnSave 设置关闭)
  • 格式(通过在设置中添加以下内容来关闭):
    "[go]": {
        "editor.formatOnSave": false 
    }
    

24
投票

您应该安装此插件:https://github.com/golang/vscode-go。选项之一是在保存时设置“自动格式”:

go.formatOnSave": false
。它使用 Golang 工具进行格式化。


12
投票

对我来说,以下设置有效。我禁用了烦人的导入重构。

"[go]": {
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": false
    },
}

0
投票

这是对我有用的设置

"[go]": {
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "golang.go",
    "editor.codeActionsOnSave": {
        "source.organizeImports": "always"
    }
}

不要错过

"editor.defaultFormatter": "golang.go",

© www.soinside.com 2019 - 2024. All rights reserved.