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

<p>у меня eclipse 3.3.2 с pdt, выполняющим php разработку . все проекты, которые я создаю, даже проекты svn, имеют завершение кода .... теперь я просто открыл другой проект svn, и у него нет завершения кода. или php шаблоны (ctrl-space ничего не делает в этом проекте) . однако я могу открыть другие проекты и завершить работу кода, все в них работает.</p><p>почему завершение кода и шаблоны могут быть отключены только в одном проекте, и как я могу включить его снова?</p>

<p>возможно, eclipse не понимает, что проект имеет «php-природу». попытайтесь сравнить файл .project в обоих проектах, чтобы найти различия. он должен содержать что-то вроде:</p><pre><code> <natures> <nature>org.eclipse.php.core.phpnature</nature> </natures> </code></pre><p>файл .project будет находиться в вашей рабочей области в каталогах проекта.</p>

<p>ищите путь к файлу .build в вашем проекте ... поместите эту строку между тегом:</p><p><code><buildpathentry kind="con" path="org.eclipse.php.core.language"/></code></p><p>сохраните его и перезапустите eclipse. теперь все должно быть в порядке ... это сработало для меня. :)</p>

<p>спасибо! я потратил целый день, чтобы выяснить, почему у меня не было завершения кода ...</p><p>проблема в том, что если вы создаете проект svn, .project - это основной файл без ссылки на завершение кода. вы должны создать базовый проект php и сравнить два файла и заменить недостающую часть в проекте svn.</p><p>теперь у меня есть завершение кода для каждого файла в проекте, даже для библиотеки zend framework</p>

<p>это всего лишь одна строка, которую нужно добавить в файл .project, а затем перезапустить eclipse, чтобы получить код завершения: где он говорит </p><pre><code>--- <natures> </natures> --- </code></pre><p>после изменения должно быть </p><pre><code>--- <natures> <nature>org.eclipse.php.core.phpnature</nature> </natures> --- </code></pre><p>это должно сделать.</p>

<p>@guido phpnature не исправляет это. </p><p>@edward tanguay да, это потому, что когда вы создаете новый проект php, eclipse добавляет файл .buildpath с</p><pre><code><?xml version="1.0" encoding="utf-8"?><buildpath> <buildpathentry kind="src" path=""/> <buildpathentry kind="con" path="org.eclipse.php.core.language"/></buildpath> </code></pre><p>когда вы импортируете существующий проект, ваш eclipse не генерирует файл .buildpath, но вы можете добавить его вручную или создать новый php проект с существующим источником (вы можете выбрать его в мастере).</p>

<p>у меня иногда такая же проблема. для меня это работает, чтобы перестроить проект php с «project» -> «clean».</p>

<p>если у вас есть эта проблема, выполните следующие действия:</p><ul> <li>выберите «php включить путь» в дереве вашего проекта </li> <li>щелкните правой кнопкой мыши на нем, затем нажмите «build path> configure build path»</li> <li>в открывшемся окне добавьте папку, которую вы хотите создать, чтобы она могла помочь при кодировании.</li> </ul><p>вот и все :) я надеюсь, что это решит вашу проблему, я решил свою одну :)</p>

<p>убедитесь, что файл открывается в «редакторе php». щелкните правой кнопкой мыши файл и выберите<em> открыть с помощью </em>, чтобы выбрать правильный редактор. </p><p>если окажется, что вы используете не тот редактор, вы можете изменить ассоциацию в<em> настройки »общие» типы контента </em></p>

<p>щелкните правой кнопкой мыши на экране редактирования, перейдите в раздел java -> редактор -> помощник по содержимому -> дополнительно ... выберите предложения соответственно</p>

<p>внимание</p><p>помимо уже упомянутых решений для получения полной помощи автозаполнения, есть еще одна странность: она может быть не включена.</p><p>перейдите в «окно»> «свойства», а затем в php> «редактор»> «помощник по коду» (у java есть аналогичная опция) и установите «включить автоматическую активацию», желательно с задержкой, которую вы считаете удобной (0 мс). если вас беспокоит, что программа вдруг решает что-то сделать для вас без запроса (и делает это неправильно), снимите флажок «автоматически вставлять отдельные предложения», и все будет в порядке.</p>

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

<p>я решил эту проблему, включив индексатор full c/c++ (windows-> свойства -> c/c++ -> indexer), а также установил переключатель «использовать активную конфигурацию кнопок». после этого очистите и соберите все.</p><p>это работало на eclipse cdt 3.4</p>

<p>проверьте библиотеку вашего проекта. возможно, вы включили два таких jar-файла, в которых доступен один и тот же класс, или, например, один класс в коде может быть связан с двумя jar-файлами. в этом случае eclipse также перестает помогать коду, так как он полностью запутан.</p><p>лучший способ проверить это - перейти к файлу, в котором помощник не работает, и прокомментировать там все операции импорта, чем добавлять импорт по одному и проверять при каждом импорте, работает код-помощник или нет. вы можете легко найти класс с дублирующимися ссылками. ,.</p>

<p>если вы пришли сюда в поисках завершения кода в php eclipse не работает, убедитесь, что ваш проект поддерживается как проект php. щелкните правой кнопкой мыши на проекте, а затем перейдите к настройке -> добавить поддержку php. если у вас есть правильные настройки для помощника по коду, он должен работать мгновенно. иногда новички, как я, работают с проектами или начинают проекты как чистые, а не как php, поэтому eclipse не знает, как относиться к проекту. </p>

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

<p>мне пришлось щелкнуть правой кнопкой мыши по проекту в проводнике php, перейти к «пути сборки php». это было пусто. я нажал «добавить папку», установил флажок рядом с корневой папкой моего проекта и нажал «ок», затем снова «ок».</p><p>после этого завершение кода, похоже, сработало. должен просто работать из коробки, если вы спросите меня, но что угодно.</p>