Я хотел запустить новый проект 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
.
Я благодарен за любую помощь
У меня была такая же проблема при обновлении 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 ) не работало для меня. Зафиксирована эта проблема:
Потребовалось некоторое время, в то время как база данных 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, так что это еще одна возможность.
Теперь все должно работать как шарм (на Kepler Service Release 2)