2013-06-23 3 views
4

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

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

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

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

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

[/Edit]

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

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

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

ответ

0

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

+0

Спасибо, но в Eclipse это видно как проект PHP. Тег PHPNature установлен. Как я уже сказал, я пробовал все, что вы можете найти в google:/ – CharlyDelta

4

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

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

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

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

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

я также добавил мою папку, содержащую файлы PHP для сборки и включать в себя путь (ПКМ над проектом), но я не думаю, что это было необходимо, самая важная часть была изменение файла .buildpath для меня.

Надежда, что помогает ...

+1

Эй, Ларзан, и спасибо за ваш ответ. Это было также то, что я пробовал первым, но это также не помогло ... На данный момент я запускаю две версии Eclipse, Eclipse для разработчиков Java и Eclipse для разработчиков PHP. В PHP-Dev-версии он работает, но он все равно поддерживает два экземпляра Eclipse (обновления, настройки и т. Д.). Я должен делать все дважды ...) – CharlyDelta

+0

Добавление 'buildpathentry' сделало трюк для меня. Это новая (не модернизированная) версия Kepler SR1. – curtisdf

0

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

С уважением, Marek

29

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

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

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

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

+0

Спасибо, мужчина, это сработало! – Sark

+0

подтвердить. Такая же ситуация - после обновления до кеплерного кода завершение работы прекратилось –

+0

Удивительно, что сработало. Благодаря! –

1

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

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

0

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

Juno обычно устанавливает DLTK версии 4.0 по умолчанию, поэтому я загрузил DLTK 5.0 отсюда: http://download.eclipse.org/technology/dltk/downloads/drops/R5.0/R-5.0-201306060709/. Используйте базовых основ>EMF>выполнения Версия ссылку, которая загружает файл почтового индекса, так что вам нужно будет сделать локальный установки: В 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, так что это еще одна возможность.

0

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

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

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

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

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

2

Стандартное решение (на Eclipse forum) не работает для меня.Что устранили эту проблему было следующее:

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

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

0
  1. Скачать ZF2 и поставить его на perefered Местонахождение (~ Каркасы/ZF2)
  2. Eclipse: Window> Preferences> PHP> Библиотеки = Нажмите "New" -Кнопка, добавить имя
  3. выберите добавленный элемент и нажмите кнопку «Добавить внешнюю папку». Выберите пункт назначения ZF2
  4. Убедитесь, что ваш проект «Проект PHP» (см. «Отметка базы проектов-базы», ​​щелкните «Проект в меню»> «Природа проекта» и выберите «Проект PHP».
  5. Это приведет к восстановлению вашего проекта, если не также выбрать проект> создать проект

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

1

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

правой кнопкой мыши на проецировании в Project Explorer »Настройка» Добавить поддержку PHP ...

enter image description here