1

我正在尝试在 UltiSnip 中创建一种方法来获取变量名称列表并将它们转换为以行分隔的字符串列表(就像您在 AngularJS 中看到的那样)。因此,您键入每个 arg,跳转到下一个占位符,然后在函数上方填写您想要的内容。

从这个开始:

function(FirstArg, SecondArg, ThirdArg)

点击 CTRL-J(下一个占位符)

和最终结果:

[
  'FirstArg',
  'SecondArg',
  'ThridArg',
  function(FirstArg, SecondArg, ThirdArg) {
    // ... cursor here after hitting CTRL-J
    // this would be $0
  }
]

任何提示都会很棒!

4

1 回答 1

2

比我想的要简单。这是功能

global !p
def varDeps(args):
    result = ""
    argList = args.split(",")

    for arg in argList:
        dep = "    " + "'" + arg.strip() + "',\n"
        result = result + dep

    return result.rstrip()
 endglobal

然后使用类似这样的东西(这是第三个占位符)

    `!p snip.rv = varDeps(t[3])`
        function($scope, ${3:deps}) {
            //....
        }
于 2015-03-11T19:34:03.470 回答