实时模板中的当前文件路径

时间:2016-07-20 18:50:02

标签: intellij-idea live-templates

是否可以在IntelliJ中的实时模板中获取当前文件的完整路径?我已尝试使用groovyScript("new File('.').absolutePath")函数,但返回/Applications/IntelliJ IDEA.app/Contents/bin/.而不是我希望的文件路径。

谢谢!

1 个答案:

答案 0 :(得分:8)

根据docs(强调我的):

  

您可以将groovyScript宏与多个参数一起使用。第一个参数是执行的脚本文本或包含脚本的文件的路径。下一个参数绑定到脚本中可用的_1,_2,_3,... _ n个变量。 此外,脚本中还提供了_editor变量。此变量绑定到当前编辑器。

_editorEditorImpl的一个实例,其中包含对代表当前打开文件的VirtualFile的引用。

因此,以下脚本获取当前打开文件的完整路径。

groovyScript("_editor.getVirtualFile().getPath()")

或者,如果您想获得相对于项目根目录的路径:

groovyScript("_editor.getVirtualFile().getPath().replace(_editor.getProject().getBaseDir().getPath(), \"\")")