This test verifies that unimported completion respects the usePlaceholders setting.
-- flags --
-ignore_extra_diags
-min_go=go1.21
-- settings.json --
{
"usePlaceholders": false
}
-- go.mod --
module mod.test
go 1.21
-- foo/foo.go --
package foo
func _() {
// This uses goimports-based completion; TODO: this should insert snippets.
os.Open //@acceptcompletion(re"Open()", "Open", open)
}
func _() {
// This uses metadata-based completion.
errors.New //@acceptcompletion(re"New()", "New", new)
}
-- bar/bar.go --
package bar
import _ "errors" // important: doesn't transitively import os.
-- @new/foo/foo.go --
package foo
import "errors"
func _() {
// This uses goimports-based completion; TODO: this should insert snippets.
os.Open //@acceptcompletion(re"Open()", "Open", open)
}
func _() {
// This uses metadata-based completion.
errors.New(${1:}) //@acceptcompletion(re"New()", "New", new)
}
-- @open/foo/foo.go --
package foo
import "os"
func _() {
// This uses goimports-based completion; TODO: this should insert snippets.
os.Open //@acceptcompletion(re"Open()", "Open", open)
}
func _() {
// This uses metadata-based completion.
errors.New //@acceptcompletion(re"New()", "New", new)
}