intellij-idea Live模板中的当前文件路径

kqhtkvqz  于 2022-11-01  发布在  其他
关注(0)|答案(2)|浏览(202)

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

tvokkenx

tvokkenx1#

docs(着重号矿):
您可以使用具有多个参数的groovyScript宏。第一个参数是要执行的脚本文本或包含脚本的文件的路径。接下来的参数绑定到脚本内可用的_1、_2、_3、..._n变量。此外,脚本内还提供了_editor变量。此变量绑定到当前编辑器。
_editorEditorImpl的一个示例,它包含对VirtualFile的引用,该引用表示当前打开的文件。
因此,以下脚本获取当前打开文件的完整路径。

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

或者,如果要获取相对于项目根目录的路径,请执行以下操作:

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

ubof19bj2#

从IntelliJ IDEA 2019.3开始,Live Template宏filePath()fileRelativePath()都是available。不再需要复杂的Groovy脚本宏。

相关问题