【问题标题】:PhpStorm combine multiple Predefined Live Template functionsPhpStorm 结合了多个预定义的实时模板功能
【发布时间】:2017-04-25 12:21:22
【问题描述】:

我有一个项目,其中我的文件采用“lisp-case”(连字符分隔),我想将文件名用作实时模板中的变量,但必须先将其转换为 CamelCase。

我发现您可以在“编辑模板变量”下设置表达式fileNameWithoutExtension(),还有一个名为camelCase() 的函数应该能够将我的文件名转换为CamelCase。但我无法弄清楚如何将这两者结合起来。我尝试做camelCase(fileNameWithoutExtension()),但不幸的是,这不起作用。

是否可以通过其他方式实现?

【问题讨论】:

  • 请截图——在这里可以正常工作:它将abc-def-hed.php文件名转换为abcDefHed
  • 谢谢。我添加了一个屏幕截图。如果我尝试将 fileNameWithoutExtension() 包装在 camelCase() 中并按 Enter 键保存条目,则窗口将关闭,但未保存更改。
  • 另外,在编辑字段时,它呈现为一个有点奇怪的选择框。也许这是这个特定版本中的一个错误。我在 Mac 的 PhpStorm 10.0.4 上。有可用的更新,我会尝试一下...

标签: phpstorm live-templates


【解决方案1】:

camelCase(fileNameWithoutExtension())

这是一个正确的语法。

是否可以通过其他方式实现?

请确保为该变量选中Skip if defined 复选框。

如果我尝试将fileNameWithoutExtension() 包装在camelCase() 中并按回车键保存条目,窗口将关闭但更改未保存

这是一个 IDE 错误(https://youtrack.jetbrains.com/issue/IDEA-132965 -- 应该在当前 2017.1.x 版本中修复)。

在任何情况下:在离开该字段之前按 Enter ... 或立即单击 OK 按钮(然后您可以重新打开此窗口进行进一步更改)。

此外,在编辑字段时,它会呈现为一个有点奇怪的选择框。也许这是这个特定版本中的一个错误。我正在使用 Mac 版 PhpStorm 10.0.4。

这里不是 Mac 用户.. 但它确实是一个可编辑的下拉框(它列出了所有可能的功能)。

【讨论】:

  • 我没有在下拉列表中获得可能性列表。但我更新到最新版本并修复了:)
  • 另外,我尝试了在字段内部或外部按 Enter 或直接按 OK 的各种组合,但并没有保存字段的内容。但是现在使用最新版本,它可以按预期工作 - 当我打开下拉菜单时,我也会得到选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 1970-01-01
  • 2020-12-07
相关资源
最近更新 更多