String PHPStorm:对字符串文本中的类名执行“转到声明”

String PHPStorm:对字符串文本中的类名执行“转到声明”,string,declaration,phpstorm,literals,classname,String,Declaration,Phpstorm,Literals,Classname,我正在使用PHPStorm EAP版本PS-138.940 我的代码如下: Config(__NAMESPACE__."\ObjectsToIdentifiers")->oldTables = array('Modules\Old\Model\DeviceStock','Modules\Old\Model\ProductPack','Modules\Old\Model\SpareStock','Modules\Old\Model\ConsumStock'); 在这种情况下,功能是不相关的

我正在使用PHPStorm EAP版本PS-138.940

我的代码如下:

Config(__NAMESPACE__."\ObjectsToIdentifiers")->oldTables = array('Modules\Old\Model\DeviceStock','Modules\Old\Model\ProductPack','Modules\Old\Model\SpareStock','Modules\Old\Model\ConsumStock');
在这种情况下,功能是不相关的。重要的是数组中的条目。这些是完全限定的类名-前导/被省略,但是添加它并不能解决我的问题。我希望能够在其中一个字符串文本中单击,按Ctrl+B并重定向到类定义

请注意,这在ExtJS javascript框架中起作用,其中

"MyApp.namespace.view.MyComponent"
我会带我去那里

是否有任何方法可以手动配置此功能,或者我必须提交功能请求。如果是,我该怎么做

更新1:


我在JetBrains Youtrack上创建了一个功能请求:

遇到了这个问题,我想在Storm中找到一些东西,让我可以快速地将\Some\ClassName转换为\Some\ClassName::class,比如意图或插件,但到目前为止还没有找到任何东西

我很惊讶没有提到::class static属性。它生成类的FQN,并从导入别名解析

以下应该是IDE可以解决的合法重写:

//相同的命名空间,因此不需要前缀 ConfigObjectsToIdentifiers::类 ->旧表=[ Modules\Old\Model\DeviceStock::class, Modules\Old\Model\ProductPack::class, Modules\Old\Model\SpareStock::class, 模块\Old\Model\ConsumStock::类 ]; //或者,如果导入这些类: 使用Modules\Old\Model\DeviceStock作为OldDeviceStock; //你可以参考 OldDeviceStock::类;
不幸的是,现在如果您跳转到别名的定义,Storm将不会带您到实际的类,而是在其中定义别名。没有太大的帮助,但由于实际的类就在那里,所以只需要做一半。

您可以使用Alt+up来选择字符串,然后使用Command+O。这需要做更多的工作,但很容易接受。我认为PhpStorm还不能识别字符串中的类。有没有办法手动配置这个AFAIK?IDE目前不支持这个。或者我必须提交功能请求。-是的,我会投票-@deceze,在Windows和Linux上是Ctrl+W和Ctrl+N,谢谢。但是它并不顺利,因为选择包含引号,这阻碍了类搜索识别它。但是标记字符串仍然比手动搜索文件要好。@LazyOne我创建了一个功能请求。看到我编辑的帖子里的链接了。有什么消息吗?我看到2011年以前的类似请求仍然标记为待讨论:。我猜这太难实现了,IDE无法知道您是要输出字符串还是使用它进行调度。PHP有时很糟糕