我已经将几个包导入Go包中的文件(package commands
)我正在编写(以及golang教程),使用Vim和Vim-Go插件。这些包中有几个还没有在包装中使用。当我保存文件:w
时,Vim似乎正在删除未使用的包,这真的很烦人,因为将要使用那些未使用的包。我还没有为他们添加必要的代码。有没有办法在Vim-Go中关闭此功能,还是我必须删除整个插件才能摆脱这种烦人的行为?
写之前
package commands
import (
"fmt"
"os"
"time"
rss "github.com/jteeuwen/go-pkg-rss"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
保存后
import (
"github.com/spf13/cobra"
"github.com/spf13/viper"
)
答案 0 :(得分:4)
这是因为您在格式化go代码时使用goimports
作为工具(我认为vim-go默认执行此操作 - 默认情况下它会在保存时格式化代码)。 goimports
为您删除未使用的导入..这就是为什么它如此之大。你会在某些时候学会喜欢它:)
目前,您要使用gofmt
来格式化您的代码,这些代码不会触及导入 - 它只会格式化代码。您可以将其放在.vimrc
:
let g:go_fmt_command = "gofmt"
如果您在完成上述操作后决定要在文件上手动运行goimports
,则可以运行:GoImports
。
如果您愿意,也可以选择其他选项:您可以将保存格式设置为.vimrc
:
let g:go_fmt_autosave = 0
然后,您在格式化代码时仍然可以使用goimports
..但是在保存时它不会自动执行。