为什么vscode会在保存时删除golang源代码

时间:2018-01-06 05:29:04

标签: go visual-studio-code vscode-settings

为什么不能使用golang扩展名在vscode中保存这些代码行

package app

import (
  "fmt"
)

//this is just func
func TestingHello(){
  fmt.Println("Hissssss")
}

只有package app停留并且剩余部分在vscode中保存时被删除。

8 个答案:

答案 0 :(得分:11)

在settings.json中同时配置editor.formatOnSave和editor.codeActionsOnSave:

<button type="submit" data-toggle="modal" data-target="#add_vrf_modal" class="btn btn-primary">Add new VRF</button>

    <div class="modal fade" id="add_vrf_modal" name="add_vrf_modal">
      <div class="modal-dialog">
        <div class="modal-content">
        {% include 'vrf/add_vrf_modal.html' %}
        </div>
      </div>
    </div>

答案 1 :(得分:3)

基本上,您的formatOnSave处于打开状态,这会导致此问题。

要禁用它,请转到命令面板(Ctrl + Shift + P)并输入“配置特定于语言的设置”,然后查找Go。

您现在应该看到一个json文件,您可以在其中添加以下设置:

“ editor.formatOnSave”:否。

如果您只是修改了go的设置,这就是json文件的样子:

{
"window.zoomLevel": 1,
"[go]": {
    "editor.formatOnSave": false,
}

}

希望有帮助

答案 2 :(得分:3)

我有一个类似的问题,是由于方法名称的大小写不正确所致。

在下面的代码中,import "fmt"将消失。

package main

import "fmt"

func main() {
  fmt.println("hello world")
}

解决方案,我应该打Println println!请注意大写的P。更改后,goreturns将添加导入,而不是将其删除。

答案 3 :(得分:2)

这看起来很奇怪 我可以理解导入正在消失(如在issue 748中),因为goreturns (github.com/sqs/goreturns)删除了未使用的导入。但这不适用于您的情况。

但是,如果几乎所有内容都消失,则表示文件无法保存,并恢复为原始内容 也许另一个进程是保留该文件的句柄,阻止保存操作继续进行。

答案 4 :(得分:1)

默认情况下,settings.json中的格式工具设置为“ goreturns”,将其更改为“ fmt”:

{
    "go.formatTool": "gofmt"
}

现在您可以对导入进行评论:

import (
    "fmt"
    // "reflect"
    // "math/rand"
)

答案 5 :(得分:0)

发生这种情况的原因是由于您导入的内容,您没有在程序中使用它,因此Golang删除了不必要的依赖项。

答案 6 :(得分:0)

Ctrl+Shift+P --> 配置语言特定设置

       "editor.insertSpaces": false,
        "editor.formatOnSave": **false,**
        "editor.codeActionsOnSave": {
            "source.organizeImports": **false**
        }
    }
}

答案 7 :(得分:-2)

在VScode上,只需按(CTRL + SHIFT + P)。

然后,单击“配置特定于语言的设置” 并选择GO语言。

只需粘贴代码

"[go]": {
    "editor.insertSpaces": false,
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
        "source.organizeImports": true
    }
}
相关问题