it-swarm.com.ru

Почему завершение кода Eclipse не работает в некоторых проектах?

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

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

24
Edward Tanguay

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

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

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

42
Guido

Ищите путь к файлу .build в вашем проекте ... поместите эту строку между тегом:

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

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

6
parham

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

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

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

5
fabrizio

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

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

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

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

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

5
lagopixel

@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>

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

4
umpirsky

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

3
Joe Scylla

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

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

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

2
Ersin DOĞAN

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

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

1
Sietse

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

1
ddd

ВНИМАНИЕ

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

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

1
John

Иногда я замечал, что когда вы извлекаете проект из svn в Eclipse (subversive или subsclipe «извлекайте проект как»), и даже если вы извлекаете его как проект php, он либо удалит файл .project, либо будет общим проект. Я нашел просто зайти в этот каталог и удалить .project .settings/и .cach /

Затем создайте новый проект php и укажите каталог, в котором вы извлекли файлы. И у вас должно быть завершение кода, а svn должна быть ссылкой на ваш репозиторий.

0
Brendon-Van-Heyzen

Я решил эту проблему, включив индексатор Full C/C++ (Windows-> свойства -> C/C++ -> Indexer), а также установил переключатель «Использовать активную конфигурацию кнопок». После этого очистите и соберите все.

Это работало на Eclipse CDT 3.4

0
Andre

Проверьте библиотеку вашего проекта. Возможно, вы включили два таких jar-файла, в которых доступен один и тот же класс, или, например, один класс в коде может быть связан с двумя jar-файлами. В этом случае Eclipse также перестает помогать коду, так как он полностью запутан.

Лучший способ проверить это - перейти к файлу, в котором помощник не работает, и прокомментировать там все операции импорта, чем добавлять импорт по одному и проверять при каждом импорте, работает код-помощник или нет. Вы можете легко найти класс с дублирующимися ссылками. ,.

0
Mona

Если вы пришли сюда в поисках завершения кода в php Eclipse не работает, убедитесь, что ваш проект поддерживается как проект php. Щелкните правой кнопкой мыши на проекте, а затем перейдите к настройке -> Добавить поддержку PHP. Если у вас есть правильные настройки для помощника по коду, он должен работать мгновенно. Иногда новички, как я, работают с проектами или начинают проекты как чистые, а не как php, поэтому Eclipse не знает, как относиться к проекту. 

0
Camilo

У меня была проблема с тем, что путь сборки был пуст, поэтому не было завершения кода ни для одного из файлов, которые я пытался редактировать. Убедитесь, что вы правильно настроили путь сборки, особенно если вы связываете источник из какого-то другого места, кроме рабочего пространства.

Например, в папке Apache htdocs.

0
Vanja

Мне пришлось щелкнуть правой кнопкой мыши по проекту в проводнике PHP, перейти к «Пути сборки PHP». Это было пусто. Я нажал «Добавить папку», установил флажок рядом с корневой папкой моего проекта и нажал «ОК», затем снова «ОК».

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

0
strikernl