如何根据 Atom.io 片段中的部分前缀更改正文?

How to change body based on part of prefix in Atom.io snippets?

我需要制作片段,正文是基于前缀的。 我需要做一些像

d>Hello

将导致

def Hello(): pass

例如

d>Hi

将导致

def Hi(): pass

有可能吗?

您可以创建带有制表位的代码段。当您按 Tab 时,它将转到第一个制表位并让您输入函数名称或其他内容。按 Tab 将循环切换制表位。

要创建制表位,您必须使用 </code>。如果您希望制表位具有默认值,您可以使用 <code>${1:default}。您只需将 1 替换为相应的数字即可。例如:

'.source.python':
  'Recursive function':
    'prefix': 'rfunc'
    'body': '''
                def ${1:name}():
                  ${3:#comment}
                  ${1:name}()
            '''

将生成这个:

def name():
  #comment
  name()

并将select name 以便您可以替换它。按 tab 将在括号之间移动,再按一次将 select #comment.

请注意,它会同时更改两次出现的 name

按照你的例子,它将是:

'.source.python':
  'Function':
    'prefix': 'd'
    'body': 'def ${1:fname}(): ${3:pass}'

您可以在 Atom's Flight Manual

中阅读有关片段的更多信息