将外部参数传递给实时模板

时间:2015-01-27 07:44:28

标签: intellij-idea webstorm live-templates

我认为我发现了一个用例,它位于文件模板和实时模板之间的中间位置。我希望使用实时模板来提供他们提供的额外功能,但仍然可以访问文件创建时指定的参数,就像在文件模板中一样。让我更具体一点,假设我有以下文件模板,扩展名为" controller.js":

angular.module('${Module_name}').controller('${NAME}Ctrl', function() {
});

现在,如果我使用此模板创建新文件,它将询问文件和模块名称。我进入"测试"和" myModule",分别创建一个" test.controller.js"文件包含以下内容:

angular.module('myModule').controller('testCtrl', function () {
});

到目前为止一切顺利,但如果我想将控制器名称作为名称的大写版本怎么办?或者让注射剂成为用户可以直接指定的参数,并立即将光标移动到控制器定义中?实时模板可以很好地完成所有这些工作(想象相应地设置了变量):

angular.module('$moduleName$').controller('$controllerName$Ctrl', function($injectables$) {
  $END$
});

...除了现在,无法访问$ {NAME}参数。内置的fileNameWithoutExtension()函数几乎可以工作,但是返回" test.controller"在这种情况下。

有没有办法解决这个问题?

0 个答案:

没有答案