8

PHPStorm は初めてで、コード補完 (コマンド + スペース) を使用して完全に分類されたクラス名 (クラスへの絶対パス) を取得するにはどうすればよいですか?

たとえば、コードに次の関数があります。

<?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 を提案しますが、必要なクラスを選択すると、「\C\D\Class」ではなく「Class」のみが配置されます。

どうすれば修正できますか?

前もって感謝します。

4

2 に答える 2

27

私も同じ問題を抱えていました。実際には非常に簡単ですが、オプションも見つかりませんでした。うまく隠されています。

設定を開き、次の場所に移動します。

IDE 設定 -> エディタ -> 自動インポート

PhpStorm の設定ダイアログ

「名前空間スコープで自動インポートを有効にする」チェックボックスがあります。チェックを外すと、「use」キーワードを使用して名前空間が短縮されなくなります。

しかし、PhpStorm は、完全な名前空間を使用する必要がないことを通知します。それを避けるには、インスペクション「不要な完全修飾名」を無効にしてください。

PhpStorm の設定ダイアログでのインスペクション

現在のクラスの名前空間をインポートするように PhpStorm に指示することは引き続き可能です。私にとっては、カーソルでクラスをマークしてALT + ENTERを押すだけです。次に、このダイアログが表示されます。

クラスのインポートダイアログ

ENTER で確認すると、このクラスの名前空間がインポートされて短縮されます。 クラス名を短くする

于 2014-03-21T09:33:04.217 に答える