4

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

谢谢!

4

1 回答 1

12

根据文档(强调我的):

您可以使用带有多个参数的 groovyScript 宏。第一个参数是执行的脚本文本或包含脚本的文件的路径。下一个参数绑定到脚本中可用的 _1、_2、_3、..._n 变量。此外,_editor 变量在脚本中可用。此变量绑定到当前编辑器。

The_editor是一个实例,EditorImpl它持有对VirtualFile表示当前打开文件的 的引用。

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

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

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

groovyScript("_editor.getVirtualFile().getPath().replace(_editor.getProject().getBaseDir().getPath(), \"\")")
于 2017-03-24T08:04:36.533 回答