1

如何编写一个简单的片段,其中占位符值在两个地方都被替换。

snippet test "test struct" 
type ${1} struct {
    id string
}

func (p *${1}) Id() string {
    return p.id
}

endsnippet

所以当我输入 test 时<tab>,它需要提示输入一个导致的值(如果我输入 xyz)

type xyz struct {
        id string
    }

    func (p *xyz) Id() string {
        return p.id
    }

可能与我系统中的其他插件发生冲突,但目前当我触发片段时,光标移动到第二个占位符(at func (p *${1}) Id() string {),并且永远不会完成第一个。

4

1 回答 1

2

删除第二个周围的大括号{1}(也许,如 Ingo Karkat 所指出的,将默认文本添加到第一个占位符):

snippet test "test struct" 
type ${1:foo} struct {
    id string
}

func (p *$1) Id() string {
    return p.id
}

endsnippet
于 2014-06-26T14:22:03.200 回答