2010-04-15 3 views
12

Используя Eclipse + PDT, я знаю, что вы можете указать тип возвращаемого метода или тип переменной в методе с помощью подсказок типа.PHP: Введите подсказки для полей с Eclipse PDT

Как насчет полей классов? Могу ли я объявить тип поля, чтобы включить автозаполнение для этой переменной?

Я пытался что-то на линии:

class MyClass { 

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

    ... 

, но он не работает.

Есть ли способ достичь автозаполнения полей классов с помощью Eclipse и PDT?

спасибо,

Сильвио

ответ

18

Да, есть! Просто поставить тип уага перед объявлением, как это:

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

Убедитесь, что вы используете комментарии Javadoc стиля (/ **, а не просто/*) Я нашел это, выбрав поле в «Outline ", а затем щелкните правой кнопкой мыши> Источник> Создать комментарий элемента.

+0

Это работает для меня, но я не вижу раздел «Источник> Генерация». Есть ли какой-то другой плагин eclipse, который мне нужно установить, чтобы увидеть это? –

+0

@Matt Connolly: Я установил PDT все в одном, и у меня оно есть, никакого специального дополнительного плагина. Какие записи вы видите, когда вы щелкаете правой кнопкой мыши элемент элемента Outline? – greg0ire

+0

Не работает для меня в Индиго. – jsalvata

19

И если вам это нужно для не объявленного локальных переменных вы можете использовать

/* @var $varname vartype */ 

Это очень полезно, если вы перебрать массив объектов с Еогеаспом.

Обратите внимание: нам нужно набрать его одним звездочкой/* и все в одной строке. Декларация должна быть помещена перед использованием переменной.

+0

Я не могу заставить это работать последовательно. Иногда это срабатывает, но в других случаях просто нет. Я не могу найти шаблон для этого. –

+0

Он отлично работает для меня с моими собственными именами классов. Вы открыли одновременно несколько проектов? Это иногда путает мое затмение. – Martin

+0

Отличная особенность! Хотя, мне очень хотелось бы знать, почему они решили использовать одиночную версию звездочки, имеют другой порядок имени и типа, чем '@ param' или _other_' @ var', а также требуют названия, даже если вы правильно перед переменной ... но, может быть, это просто для того, чтобы не путать PHP-программистов со слишком большой последовательностью. –

 Смежные вопросы

  • Нет связанных вопросов^_^