Pregunta

Tengo Eclipse 3.3.2 con PDT haciendo desarrollo PHP. Todos los proyectos que creo, incluso los proyectos SVN tienen finalización de código. Ahora acabo de abrir otro proyecto SVN y no tiene código completo ni plantillas PHP (CTRL-space no hace nada en ese proyecto). Sin embargo, puedo abrir los otros proyectos y completar el código todo el trabajo en ellos.

¿Por qué la finalización del código y las plantillas serían " off " en un solo proyecto y ¿cómo puedo volver a activarlo?

¿Fue útil?

Solución

Tal vez Eclipse no entiende que el proyecto tiene " PHP nature " ;. Intente comparar el archivo .project en ambos proyectos para buscar diferencias. Debe contener algo como:

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

El archivo .project estará en su espacio de trabajo bajo los directorios del proyecto.

Otros consejos

Busque la ruta del archivo .build en su proyecto ... coloque esta línea entre la etiqueta:

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

Guárdelo y reinicie eclipse. Ahora todo debería estar bien ... Esto funcionó para mí. :)

¡Gracias! Pasé todo el día para descubrir por qué no tenía la finalización del código ...

El problema es que si crea un proyecto SVN, el .project es un archivo básico sin referencia de terminación de código. Debe crear un proyecto PHP básico y comparar los dos archivos y reemplazar la parte que falta en el proyecto SVN.

Ahora tengo la finalización del código para cada archivo del proyecto, incluso para la biblioteca Zend Framework

Es solo una línea para agregar en el archivo .project y luego reiniciar eclipse para completar el código: Donde dice

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

después de que el cambio tiene que ser

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

Eso debería hacer.

@Guido PHPNature no soluciona esto.

@Edward Tanguay Sí, eso es porque cuando creas un nuevo proyecto PHP, eclipse agrega un archivo .buildpath con

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

cuando importa un proyecto existente, eclipse no genera el archivo .buildpath, pero puede agregarlo a mano o crear un nuevo proyecto PHP con la fuente existente (puede elegir en el asistente).

A veces tengo el mismo problema. Para mí funciona reconstruir el proyecto PHP con & Quot; Project & Quot; - > " Limpiar " ;.

Si tiene este problema, siga estos pasos:

  • Seleccione " PHP Incluir ruta " en el árbol de tu proyecto
  • Haga clic derecho sobre él y luego haga clic en " Build Path > Configure Build Path "
  • En la ventana de apertura, agregue la carpeta que desea compilar, para que pueda ayudar con el código.

Eso es todo :) Espero que resuelva tu problema, resolví el mío :)

Asegúrese de que el archivo se abra con el " editor PHP " ;. Haga clic derecho en el archivo y seleccione abrir con para seleccionar el editor correcto.

Si resulta que ha estado usando el editor incorrecto, puede cambiar la asociación en Preferencias & # 187; General & # 187; Tipos de contenido

Haga clic derecho en la pantalla de edición, vaya a Java - > Editor - & Gt; Asistente de contenido - & Gt; Avanzado ... seleccione propuestas en consecuencia

ATENCIÓN

Además de las soluciones ya mencionadas para que toda la ayuda de autocompletar funcione, hay otra peculiaridad: es posible que no esté habilitada.

Ir a la ventana > Propiedades y luego a PHP & Gt; Editor & Gt; Code Assist (JAVA tiene una opción similar) y establece & Quot; Habilitar la activación automática & Quot ;, preferiblemente con un retraso que veas cómodo (0ms). Si el programa le molesta y decide de repente hacer las cosas por usted sin avisar (y hacerlo mal), anule la selección de & Quot; Inserte propuestas individuales automáticamente & Quot; y deberías estar bien.

He notado que a veces cuando desproteges un proyecto de svn en eclipse (subversivo o subclipe " desprotege un proyecto como ") y aunque lo desproteges como un proyecto php, elimine el archivo .project o sería un proyecto genérico. Descubrí que solo debo ir a ese directorio y eliminar .project .settings / y .cach /

Luego cree un nuevo proyecto php y señale el directorio donde extrajo los archivos. Y debe completar el código y svn debe estar vinculado a su repositorio.

Tuve un problema de que la ruta de compilación estaba vacía, por lo que no se completó el código de ninguno de los archivos que intenté editar. Asegúrese de configurar correctamente su ruta de compilación, especialmente si está vinculando la fuente desde otra ubicación que no sea el espacio de trabajo.

Como la carpeta apache htdocs, por ejemplo.

He resuelto esto habilitando el indexador Full C / C ++ (Windows - > propiedades - > C / C ++ - > Indexer), y también presioné el botón de radio quot; Usar configuración de botón activa " ;. Después de eso Limpiar y construir todo.

Eso funcionó en Eclipse CDT 3.4

Si vino aquí buscando que la finalización del código en php eclipse no funcionara, asegúrese de que su proyecto sea compatible con un proyecto php. Haga clic derecho en el proyecto y luego vaya a configurar - & Gt; Añadir soporte php. Si tiene la configuración correcta para la asistencia de código, debería funcionar instantáneamente. A veces, los novatos como yo modifican los proyectos o comienzan proyectos como limpios y no como php, por lo que eclipse no sabe cómo tratar el proyecto.

Tuve que hacer clic derecho en el proyecto en el Explorador de PHP, ir a " PHP Build Path " ;. Esto estaba vacio. Hice clic en & Quot; Agregar carpeta & Quot ;, seleccioné la casilla de verificación junto a la carpeta raíz de mi proyecto e hice clic en & Quot; OK & Quot ;, luego & Quot; OK " de nuevo.

Después de que la finalización del código parecía funcionar. Debería salir de la caja si me preguntas, pero lo que sea.

Verifique la biblioteca de su proyecto. Puede ser que haya incluido dos de esos archivos jar en los que está disponible la misma clase o que una clase de código se puede volver a convertir en dos archivos jar. En tal caso, eclipse también deja de ayudar al código, ya que está totalmente confundido.

Una mejor manera de verificar esto es ir al archivo donde la asistencia no funciona y comentar todas las importaciones allí, que agregar las importaciones una por una y verificar en cada importación si code-assist está funcionando o no. Puede encontrar fácilmente la clase con referencias duplicadas.

Una solución podría ser incluir un archivo php ficticio que requiera todas sus clases de PHP. Para que el analizador PHP también reconozca estas clases. Archivo ficticio de ejemplo:

if(false) {
     require_once 'class/one.php';
     require_once 'class/two.php';
     require_once 'class/three.php';
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top