如何在PHPStorm的代码完成中获得完全分类的类名?

Nik*_*hov 7 namespaces phpstorm

我是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();
}
?>
Run Code Online (Sandbox Code Playgroud)

此函数返回\ C\D\Class的实例为此函数生成docblock时,我使用Command + Space在@return关键字后面放置类名.PHPStorm在扩展列表中建议Class,但是当我选择必要的类时,它只放置"Class"而不是"\ C\D\Class".

我该如何解决?

提前致谢.

Arm*_*min 26

我也有同样的问题.实际上它很简单,但我也没有找到选项.它隐藏得很好.

打开设置并转到:

IDE设置 - >编辑器 - >自动导入

PhpStorm中的设置对话框

在那里,您将找到"在命名空间范围内启用自动导入"复选框.取消选中它,使用"use"关键字不再缩短名称空间.

但是现在PhpStorm会告诉你没有必要使用完整的命名空间.为了避免这种情况,只需禁用检查"不必要的完全限定名称".

在PhpStorm中的设置对话框中进行检查

您仍然可以告诉PhpStorm导入当前类的命名空间.对我来说,它只是用光标标记类并按ALT + ENTER.然后出现此对话框:

导入类对话框

当我用ENTER确认时,该类的名称空间将被导入并缩短: 缩短班级名称


MaX*_*Xal 0

目前唯一的方法是开始输入\C\D\Cla然后完成。如果这不是您想要的,请随时在问题跟踪器上创建可用性问题。