2010-04-15 13 views
12

Utilizando Eclipse + PDT, sé que puede especificar el tipo de devolución de un método o el tipo de una variable dentro de un método mediante sugerencias de tipo.PHP: escriba sugerencias para los campos con Eclipse PDT

¿Qué tal los campos de clase? ¿Puedo declarar el tipo de un campo para habilitar el autocompletado para esa variable?

he intentado algo en la línea de:

class MyClass { 

    protected $Field; /* @var $Field MyType */ 

    ... 

pero no funciona.

¿Hay alguna manera de lograr la autocompletación de los campos de clase con Eclipse y PDT?

gracias,

Silvio

Respuesta

18

Sí hay! Simplemente poner el tipo var antes de la declaración, así:

/** 
* @var Type 
*/ 
protected $Field; 

Asegúrese de que utiliza los comentarios de estilo javadoc (/ **, no sólo/*) me encontré con esto seleccionando el campo en el "Esquema "ver y luego hacer clic con el botón derecho> Origen> Generar comentario de elemento.

+0

Esto funciona para mí, pero no veo la sección "Fuente> Generar". ¿Hay algún otro plugin de eclipse que necesito instalar para ver eso? –

+0

@Matt Connolly: Instalé PDT todo en uno y lo tengo, no hay un complemento adicional especial. ¿Qué entradas ves cuando haces clic con el botón derecho en un elemento de la vista de esquema? – greg0ire

+0

No funciona para mí en Indigo. – jsalvata

19

Y si lo necesita para una variable local no declarada puede utilizar

/* @var $varname vartype */ 

Esto es muy útil si iterar sobre una matriz de objetos con un foreach.

Tenga en cuenta que debemos escribirlo con un asterisco/* y todo en una línea. La declaración debe colocarse antes del uso de la variable.

+0

No puedo hacer que esto funcione de manera consistente. A veces funciona, pero otras veces simplemente no funciona. Parece que no puedo encontrar un patrón para eso. –

+0

Funciona muy bien para mí con mis propios nombres de clase. ¿Has abierto más de un proyecto al mismo tiempo? Esto a veces confunde mi eclipse. – Martin

+0

¡Gran característica! Sin embargo, me gustaría saber por qué eligieron usar la versión de asterisco único, tienen un orden diferente de nombre y tipo que '@ param' o the _other_' @ var' y también requieren el nombre incluso si lo pones bien antes de la variable ... pero, bueno, quizás eso no sea para confundir a los programadores PHP con demasiada coherencia. –

Cuestiones relacionadas