在PhpStorm Live Template中获取目录路径

时间:2017-06-22 14:35:40

标签: phpstorm

我试图通过PhpStorm的模板系统(文件和代码模板)生成命名空间,我无法通过PhpStorm的文档看到任何帮助/方法。

我想知道是否有办法根据目录自动定义命名空间:

<?php
// I'm wanting to apply to $namespace
namespace $namespace;

class ${NAME} implements
    \Zend\Mail\Mailable
{
    /** \Zend\Mail\Factory */
    private $factory;
...

}#set( $factory = "factory" ) #set( $this- = "this-" ) #set( $directory = ?)

如果我的目录/文件名为zend/mail/model/notice/send.php,我希望生成Zend\Mail\Model\Notice;的命名空间,我可以通过${NAME}变量获取类名。

我知道我可以在创建文件时通过对话框让模板请求命名空间,但是我想知道是否可以自动执行此操作?

2 个答案:

答案 0 :(得分:1)

文件路径没有预定义的变量,请投票通过IDEA-136387以获得有关此功能的任何进展的通知。

答案 1 :(得分:1)

如果需要,可以使用groovyScript。

例如,您可以创建一个变量$ FOLDER_OF_FILE $并将此groovyScript设置为采用文件文件夹。

groovyScript("String[] p=_editor.getVirtualFile().getPath().split('/');String prevLast = p[p.length-2];")

您可以根据自己的需要更改和调整我的示例