为什么不能使用golang扩展名在vscode中保存这些代码行
package app
import (
"fmt"
)
//this is just func
func TestingHello(){
fmt.Println("Hissssss")
}
只有package app
停留并且剩余部分在vscode中保存时被删除。
答案 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
}
}