我正在研究React项目,其中的组件具有以下文件结构:

ComponentName/
├── ComponentName.jsx
├── possiblySomeOtherFiles.js/jsx
└── index.js


和index.js像这样重新导出ComponentName.jsx:

import ComponentName from './ComponentName'

export default ComponentName


我想为此创建一个live template,如下所示:

import $COMPONENT_NAME$ from './$COMPONENT_NAME$'

export default $COMPONENT_NAME$


如何获得$COMPONENT_NAME$的值?我想从当前目录的名称中获取它,但无法弄清楚该怎么做。

我尝试将变量设置为groovyScript("_editor.getVirtualFile().getPath()")groovyScript("new File('.').absolutePath")(如提示here所示),但都返回:

groovy

/
lang / GroovyShell


到目前为止,这是否可能?

最佳答案

以下表达式可以完成此任务:

groovyScript("_editor.getVirtualFile().getParent().getName()")


它在Intellij IDEA中对我来说很好用,但在Webstorm中却不行,因为Groovy插件未捆绑并且无法添加到其中:(
请按照WEB-28139进行更新

09-11 18:16