2013-09-25 11 views
5

Załóżmy, że mam klasaJak skomentować klasę dla uzupełniania kodu w phpstorm

class Class1 
{ 
    public function method1(){ 
     return "hello world"; 
    } 

} 

i mam innej klasy, która używa tego w klasie

class Class2 
{ 
    /** @var $firstClass Class1 */ 
    private $firstClass; 

    public function __construct($firstClass) 
    { 
      $this->firstClass = $firstClass; 

    } 

    public function method2() 
    { 
      return $this->firstClass-> "I want code completion to work here" 
    } 
} 

Jak mogę uzyskać kod zakończenia do pracuj używając PHPDoc. Szukałem phpdoc dla zakresu, deklaracji, wszelkiego rodzaju rzeczy. Nie mogę znaleźć warunków lub umiejscowienia wiersza komentarza dla phpdoc, aby to wybrać.

Używam phpstorm. Wsparcie!

+1

Twój przykład działa dobrze (sprawdzony w wersji EAP v6.0.3 i v7). Prawdopodobnie twój prawdziwy kod różni się od przykładu. BTW - nie ma potrzeby stosowania nazwy zmiennej podczas pisania komentarza PHPDoc dla zmiennej/pola klasy (ponieważ taki komentarz PHPDoc ** musi ** być umieszczony tuż przed tym polem), powinno wystarczyć: '/ ** @var Class1 */private $ firstClass; ' – LazyOne

+0

Musiałem zamiast tego ręcznie dodać nazwę zmiennej w komentarzu PHPDoc, w przeciwnym razie nie otrzymałem autouzupełniania. Na przykład w ten sposób (bez dodawania '$ newUser', autouzupełnianie nie działa). '/ ** @var $ newUser \ Model \ User * /' – MDT

Odpowiedz

10

Sprawdź przestrzeń nazw klas.

Jeśli klasa ma przestrzeń nazw, upewnij się, że poprawnie zdefiniowałeś je w komentarzach lub aliasach.
Komentarze przykład:

... 
    /** @var \vendor\namespace\Class1 */ 
    private $firstClass; 
... 

Alias ​​przykład:

use \vendor\namespace\Class1; 
... 
    /** @var Class1 */ 
    private $firstClass; 
... 


Sprawdź katalogi projektów definicja.

Jeśli katalogi klas nie są zdefiniowane w ustawieniach projektu, PHPStorm nie może indeksować tych klas. W tym przypadku kodowanie nie zadziała. Jak set up project directories in PHPStorm.


Wyczyść pamięć podręczną PHPS.

Czasami pamięć podręczna PHPStorm stała się nieważna. Z tego powodu, kodowanie może nie działać poprawnie. Official how to cache cleanup.

Powiązane problemy