【问题标题】:VScode format as save not work for GolangVScode 格式作为保存不适用于 Golang
【发布时间】:2022-01-12 21:29:02
【问题描述】:

我正在使用 vscode 并通过 remote-ssh 开发一个 go 项目。但是,保存时的格式不起作用。我发现它适用于没有 git 的普通项目。如果我删除.git,它将按预期工作。有人对我有什么建议吗?

环境版本如下:

  1. vscode 1.63.2
  2. 转到 1.17.6
  3. 远程机Ubuntu 20.04
  4. 去扩展 v0.30.0

【问题讨论】:

  • 你的设置是什么样的?如果您看到语言服务器跟踪(请参阅github.com/golang/vscode-go/blob/master/docs/…),是否有格式请求/响应消息日志?
  • @hana 谢谢。我查看了输出日志。没有格式相关的日志。这里是vscode的配置``` { "editor.formatOnSave": true, "go.alternateTools": { // "dlv": "${workspaceFolder}/.vscode/dlv-sudo.sh", // " dlv-dap": "${workspaceFolder}/.vscode/dlv-dap-sudo.sh" }, "go.languageServerFlags": ["-rpc.trace" ], "gopls": { "verboseOutput": true } } ```

标签: go visual-studio-code


【解决方案1】:

尝试手动格式化代码,方法是按Ctrl + Shift + P 打开命令面板并选择格式化文档。如果您的文件格式正确且没有任何问题,则表示formatOnSave 设置有问题。

选择默认格式化程序而不是 null。像这样:

"editor.defaultFormatter": "esbenp.prettier-vscode"

一一卸载其他格式化程序,看看是否有什么导致冲突的原因。

尝试使其特定于语言。

为了更好地理解,请参阅此链接:https://github.com/microsoft/vscode/issues/108447

关于 Git 特定:

您可能正在运行Git Atom。 Atom 是桌面应用程序,所以可能会导致访问远程安装路径出现问题。尝试安装Git Repo

还要确保Go: Install/Update Tools 是最新的。

【讨论】:

    【解决方案2】:

    我最近遇到了同样的问题,自动格式化仅适用于没有 .git 目录的项目。为我解决这个问题的方法是将保存模式下的格式从modificationsIfAvailable 更改为file。由于我更喜欢​​modificationsIfAvailable 而不是file,因此我将formatOnSaveMode 改为file 仅用于以下源文件:

     "[go]": {
        "editor.formatOnSaveMode": "file"
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-18
      • 2021-05-04
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2022-11-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多