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

Adu*_*hay 3 intellij-idea live-templates

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

谢谢!

fra*_*acz 10

根据文件(强调我的):

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

_editor实例EditorImpl包含对VirtualFile表示当前打开文件的引用.

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

groovyScript("_editor.getVirtualFile().getPath()")
Run Code Online (Sandbox Code Playgroud)

或者,如果要获取相对于项目根目录的路径:

groovyScript("_editor.getVirtualFile().getPath().replace(_editor.getProject().getBaseDir().getPath(), \"\")")
Run Code Online (Sandbox Code Playgroud)