Почему завершение кода Eclipse не работает в некоторых проектах? - PullRequest
24 голосов
/ 07 октября 2008

У меня Eclipse 3.3.2 с PDT, занимающимся разработкой PHP. Все проекты, которые я создаю, даже проекты SVN имеют завершение кода. Теперь я только что открыл другой проект SVN, и у него нет завершения кода или PHP-шаблонов (CTRL-space ничего не делает в этом проекте). Тем не менее, я могу открыть другие проекты и завершить работу кода в них.

Почему завершение кода и шаблоны могут быть "отключены" только в одном проекте и как я могу включить его снова?

Ответы [ 17 ]

42 голосов
/ 07 октября 2008

Может быть, Eclipse не понимает, что у проекта есть "природа PHP". Попробуйте сравнить файл .project в обоих проектах, чтобы найти различия. Он должен содержать что-то вроде:

 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>

Файл .project будет находиться в вашей рабочей области в каталогах проекта.

6 голосов
/ 22 мая 2009

Найдите файл .buildpath в вашем проекте ... поместите эту строку между тегами:

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

Сохраните его и перезапустите затмение. Теперь все должно быть в порядке ... Это сработало для меня. :)

5 голосов
/ 16 октября 2008

Спасибо! Я потратил целый день, чтобы понять, почему у меня не было завершения кода ...

Проблема в том, что при создании проекта SVN .project является базовым файлом без ссылки на завершение кода. Вы должны создать базовый проект PHP и сравнить два файла и заменить недостающую часть в проекте SVN.

Теперь у меня есть завершение кода для каждого файла в проекте, даже для библиотеки Zend Framework

5 голосов
/ 20 января 2010

Это всего одна строка, которую нужно добавить в файл .project, а затем перезапустить eclipse для получения завершения кода: Где написано

---
 <natures>
 </natures>
---

после изменения должно быть

---
 <natures>
  <nature>org.eclipse.php.core.PHPNature</nature>
 </natures>
---

Это должно сделать.

4 голосов
/ 18 марта 2011

@ Guido PHPNature не исправляет это.

@ Edward Tanguay Да, это потому, что когда вы создаете новый проект PHP, eclipse добавляет файл .buildpath с

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

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

3 голосов
/ 07 октября 2008

У меня иногда такая же проблема. Для меня это работает, чтобы перестроить проект PHP с «Project» -> «Clean».

2 голосов
/ 07 ноября 2010

Если у вас возникла эта проблема, выполните следующие действия:

  • Выберите "PHP Включить путь" в дереве вашего проекта
  • Щелкните правой кнопкой мыши на нем, затем выберите «Путь сборки> Настроить путь сборки»
  • В открывшемся окне добавьте папку, которую вы хотите создать, чтобы она могла помочь при кодировании.

Вот и все :) Я надеюсь, что это решит вашу проблему, я решил свою:)

1 голос
/ 16 августа 2010

ВНИМАНИЕ

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

Перейдите в «Окно»> «Свойства», а затем в «PHP»> «Редактор»> «Помощник по коду» (у JAVA есть аналогичная опция) и установите «Включить автоматическую активацию», желательно с задержкой, которую вы считаете удобной (0 мс). Если вас беспокоит, что программа вдруг решает сделать что-то для вас без запроса (и делает это неправильно), снимите флажок «Автоматически вставлять отдельные предложения», и все будет в порядке.

1 голос
/ 07 октября 2008

Убедитесь, что файл открывается в «редакторе PHP». Щелкните правой кнопкой мыши по файлу и выберите открыть с помощью , чтобы выбрать правильный редактор.

Если выясняется, что вы используете не тот редактор, вы можете изменить ассоциацию в Настройки »Общие» Типы контента

1 голос
/ 11 марта 2009

Щелкните правой кнопкой мыши на экране редактирования, выберите Java -> Редактор -> Помощник по содержимому -> Дополнительно ... выберите предложения соответственно

...