我是PHPStorm的新手,想问一下如何使用Code Completion(Command + Space)获得完全分类的类名(类的绝对路径)?
例如,我的代码中有一个函数:
<?php
namespace A;
use C\D\Class;
/**
* @return Class (what PHPStorm suggests)
* @return \C\D\Class (what I need)
*/
function foo() {
return new Class();
}
?>
此函数返回\ C \ D \ Class的实例 为此函数生成docblock时,我使用Command + Space在@return关键字后面放置类名。 PHPStorm在扩展列表中建议Class,但是当我选择必要的类时,它只放置“Class”而不是“\ C \ D \ Class”。
我该如何解决?
提前致谢。
答案 0 :(得分:25)
我也有同样的问题。 实际上它很简单,但我也没有找到选项。它隐藏得很好。
打开设置并转到:
IDE设置 - &gt;编辑 - &gt;自动导入
在那里,您会找到“在命名空间范围内启用自动导入”复选框。取消选中它,使用“use”关键字不会缩短名称空间。
但是现在PhpStorm会告诉你没必要使用完整的命名空间。为避免这种情况,只需禁用检查“不必要的完全限定名称”。
您仍然可以告诉PhpStorm导入当前类的命名空间。对我来说,它只是用光标标记类并按ALT + ENTER。然后出现此对话框:
当我用ENTER确认时,此类的名称空间将被导入并缩短:
答案 1 :(得分:0)
目前唯一的方法是开始输入\C\D\Cla
然后完成。如果这不是你想要的,可以在Issue Tracker上创建可用性问题。