Завершение кода Eclipse PDT + не работает вообще

Я хотел запустить новый проект Zend, и в настоящее время у меня возникают некоторые проблемы, связанные с Eclipse PDT … Моя проблема в том, что завершение кода в Eclipse для PHP не работает вообще.

Я пробовал много разных уроков и т. Д., Например, создавая новый проект и импортируя файлы; создание там нового рабочего пространства и импортных проектов; почти все возможные комбинации настроек пути сборки и импорта библиотек; удалив несколько файлов в .metadata (вы найдете много учебников, подобных этому, если вы его задумали), но ничего не получилось.

[Edit] Также установлен PHPNature (благодаря tranisstor):

<natures> <nature>org.eclipse.php.core.PHPNature</nature> <nature>org.eclipse.wst.common.project.facet.core.nature</nature> </natures> 

(Он также не работает, если есть только набор PHPNature, а другой нет)

[/Редактировать]

Проблема в деталях: я создал новый проект Zend и попытался запустить кодирование в IndexController.indexAction (). Первое, что я сделал: я набрал $this-> , но не закончилось завершение кода … Я подумал, может быть, мне нужно будет добавить библиотеку Zend, которую я сделал. Когда я нажимаю на Zend_Controller_Action в class IndexController extends Zend_Controller_Action я могу видеть документацию Zend_Controller_Action , я также могу нажать F3, и появится файл с агрессивным ответом … Что означает, что Zend успешно добавлен в качестве библиотеки. Я также пробовал Ctrl + Space , но ничего не происходит. Кстати, стандартные функции PHP, такие как isset() также не будут отображаться в завершении кода

У кого-нибудь есть идея, как это исправить? Я использую Eclipse Juno, с Eclipse PDT 3 и Zend Framework 1.x (не знаю точно, но это не ZF2, и он работает хорошо, если я открываю http://localhost .

Я благодарен за любую помощь

Solutions Collecting From Web of "Завершение кода Eclipse PDT + не работает вообще"

У меня была такая же проблема при обновлении eclipse до Kepler. Следующие работали для меня:

Удалять файлы в рабочей области / .metadata / .plugins / org.eclipse.dltk.core.index.sql.h2

Причина заключалась в том, что старый DLTK-индекс рабочей области не соответствует новой версии и нуждается в перестройке. Запустите eclipse, и индекс DLTK будет восстановлен.

После этого сработало для меня повторное завершение кода.

я чувствую тебя, мне тоже приходилось иметь дело с этим довольно часто, и упомянутые модификации файла проекта не сделали этого. Что мне помогло:

отредактируйте файл .buildpath и добавьте

 <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/> 

Тогда мой полный файл сборки может выглядеть sth. как это:

 <?xml version="1.0" encoding="UTF-8"?> <buildpath> <buildpathentry kind="src" path=""/> <buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/> </buildpath> 

Я также добавил свою папку, содержащую php-файлы, в путь сборки и включения (RMB над проектом), но я не думаю, что это было необходимо, самой важной частью была модификация файла .buildpath для меня.

Надеюсь, это поможет…

Стандартное решение (на форуме Eclipse ) не работало для меня. Зафиксирована эта проблема:

  1. перейдите в «Свойства для моего проекта» (щелкните правой кнопкой мыши по нему в «Проводнике PHP», затем «Свойства»)
  2. выберите «Путь сборки PHP» / «Добавить папку»
  3. там я отметил / выбрал основную папку моего проекта.

Потребовалось некоторое время, в то время как база данных DLTK была обновлена ​​(это может заблокировать вашу машину на пару минут, быть терпеливым), но затем она начала работать отлично.

Удалите рабочую область / .metadata / .plugins / org.eclipse.dltk.core.index.sql.h2 / *. Он должен работать.

Надеюсь, поможет!

Я думаю, что это лучший способ:

Щелкните правой кнопкой мыши на проекте в проводнике проекта »Настройка» Добавить поддержку PHP …

введите описание изображения здесь

Возможно, вам нужно отредактировать файл .project-File и добавить тег «PHP nature». См. Эту тему для получения дополнительной информации. У меня когда-то была эта проблема после того, как я поставил проект под контроль версии svn, и это, похоже, является общей проблемой.

Я нашел решение на форуме eclipse . Переход к PDT 3.1.2 решил проблему.

С уважением, Марек

У меня была аналогичная проблема, но она включала только один файл PHP. Затем я обнаружил, что я использовал следующий синтаксис для инициализации переменной внутри метода:

 $rule = ($fullValidation)?(new StartTimeRule()):(new NullRule()); 

Кажется, что проблема заключается в использовании встроенного условия. Код работал, но, видимо, нарушил некоторые функции Eclipse, такие как команда F3, автозаполнение, представление схемы и т. Д. Я мог ошибаться, но я думаю, что это ошибка индексатора DTLK.

Я изменил эту строку стандартным оператором if, а не встроенным условием, и все функции теперь работают снова.

Надеюсь, это поможет!

Попробовав другие возможные решения на этой странице, мне удалось получить завершение кода для работы в PDT 3.2 с помощью новейшего инструментария Dynamic Language Toolkit в Eclipse Juno.

Обычно Juno устанавливает DLTK версии 4.0, поэтому я загрузил DLTK 5.0 здесь: http://download.eclipse.org/technology/dltk/downloads/drops/R5.0/R-5.0-201306060709/ . Используйте ссылку Core Frameworks > EMF > Runtime Version , которая загружает zip-файл, поэтому вам нужно будет выполнить локальную установку: в Eclipse выберите « Справка» > « Установить новое программное обеспечение» > « Добавить» > « Архив» > перейти к zip-файлу> введите DLTK в Имя и подтвердите.

Используйте новое программное обеспечение Eclipse для установки PDT 3.2 из репозитория PDT, если он еще не установлен: http://download.eclipse.org/tools/pdt/updates/3.2/release

Вариант 2. Прежде чем я попытался использовать предыдущий метод, я установил PDT 3.1, который я получил с сайта обновления Juno (вместо репозитория PDT): Установите новое программное обеспечение > http://download.eclipse.org/releases/juno . Завершение кода работало в 3.1, так что это еще одна возможность.

  1. Загрузите ZF2 и поместите его в свое переадресованное местоположение (~ Frameworks / ZF2)
  2. Eclipse: Окно> Предпочтения> PHP> Библиотеки = Нажать «Новый» -Button, добавить имя
  3. выберите добавленный элемент и нажмите «Добавить внешнюю папку» -Бутон. Выберите пункт назначения ZF2
  4. Убедитесь, что ваш проект «Проект PHP» (см .: «Отметьте базовую папку проекта», выберите «Проект в меню»> «Природа проекта» и выберите «Проект PHP».
  5. Это приведет к восстановлению вашего проекта, если не будет также выбрано Project> build Project.

Теперь все должно работать как шарм (на Kepler Service Release 2)