0

这是一个使用 python 插值的 UltiSnips 片段。我在这个截屏视频中找到了它:UltiSnips Screencasts

snippet uuid "UUID" !b
`!p import uuid
if not snip.c:
  snip.rv = uuid.uuid4().hex`
endsnippet

我了解bSnippet Option 的作用:该b选项告诉 UltiSnips 该片段应该只在其自己的一行上展开(在一行的开头,之前只有 0 个或多个空白字符)。但文档:h UltiSnips-snippet-options没有提到!b. 爆炸符号如何!修改 UltiSnips 选项?

UUID 片段还有另一个问题。无论我是否使用b!b根本不使用选项,都可以使用uuid触发词在任何地方扩展片段。唯一的区别似乎是使用band!b选项,当代码片段在行首展开时,它会产生一个不带破折号的 UUID(例如:)cafa8555ce1c4501b49a22c83d451046,但是当它在一个单词之后展开时,它会产生一个带有破折号的 UUID (例如:)4c372afe-db90-445d-a5d8-c534f90d5d34。根本不使用选项将始终生成不带破折号的 UUID,无论片段在何处展开(例如:)cafa8555ce1c4501b49a22c83d451046。为什么会有这样的差异?它是一个错误吗?

4

0 回答 0