2013-09-23 6 views
6

私はPHPStormを初めて使い、コード補完(コマンド+スペース)を使って完全に分類されたクラス名(クラスへの絶対パス)を取得するにはどうしたらいいですか?例えば、私は私のコードで関数を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 \クラスのインスタンス この機能のためのdocblock生成するとき、私はクラスを配置するには、コマンド+スペースを使用するを返します@returnキーワードの後の名前。 PHPStormは拡張リストにClassを提案しますが、必要なクラスを選択すると、 "\ C \ D \ Class"の代わりに "Class"だけが配置されます。

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

ありがとうございます。

答えて

-1

現在、これを行うには、\C\D\Claと入力してから完了してください。これがあなたの希望でない場合は、Issue Trackerにユーザビリティの問題を自由に作成してください。

22

私も同じ問題がありました。 実際それは非常に簡単ですが、私はオプションも見つけられませんでした。それはよく隠されています。

開き、設定やに行く:

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

あり

Settings dialog in PhpStorm

チェックボックスは、 "名前空間スコープで自動インポートを有効にする" 見つけることができます。これをオフにすると、 "use"キーワードを使用して名前空間が短縮されなくなります。

しかし今、PhpStormは完全な名前空間を使用する必要はないことを伝えます。それを回避するには、検査の「不要な完全修飾名」を無効にします。

Inspections in settings dialog in PhpStorm

あなたはまだ現在のクラスの名前空間をインポートするPhpStormを伝えることができます。私にとっては、クラスをカーソルでマークし、ALT + ENTERを押すだけです。そして、このダイアログが表示されます:

Import class dialog

を、私はこのクラスの名前空間をインポートして短くなり、ENTERで確定した場合: Shorten class name

+1

は、それが入る+ ALTイマイチ? – Sri

+0

あなたのキー設定によります。私はphpstormのデフォルト(netbeansからphpstormに移動)を使用していない可能性があります – Armin

+0

2017年(Macでは少なくとも)、このオプションはエディタ - >一般 - >自動インポートで見つけることができます –

関連する問題