php - programacion - ¿Por qué la finalización del código Eclipse no funciona en algunos proyectos?
ordenar codigo java eclipse (17)
¡Gracias! Pasé todo el día para descubrir por qué no tenía código completo ...
El problema es que si crea un proyecto SVN, el .project es un archivo básico sin referencia de compilación de código. Tienes que crear un proyecto PHP básico y comparar los dos archivos y reemplazar la parte faltante en el proyecto SVN.
Ahora tengo el código completo para cada archivo en el proyecto, incluso para la biblioteca de Zend Framework
Tengo Eclipse 3.3.2 con PDT haciendo desarrollo de PHP. Todos los proyectos que creo, incluso los proyectos SVN tienen código de finalización. Ahora acabo de abrir otro proyecto SVN y no tiene finalización de código ni plantillas PHP (el espacio CTRL no hace nada en ese proyecto). Sin embargo, puedo abrir los otros proyectos y completar el código de todo el trabajo en ellos.
¿Por qué la finalización del código y las plantillas estarían "desactivadas" en un solo proyecto y cómo puedo volver a activarlo?
@Guido PHPNature no soluciona esto.
@Edward Tanguay Sí, eso es porque cuando creas un nuevo proyecto PHP, eclipse agrega el 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 una fuente existente (puede elegirlo en el asistente).
A veces tengo el mismo problema. Para mí, funciona para reconstruir el proyecto PHP con "Proyecto" -> "Limpiar".
ATENCIÓN
Además de las soluciones ya mencionadas para que la ayuda de autocompletar funcione, hay otra peculiaridad: puede que no esté habilitada.
Vaya a Ventana> Propiedades y luego a PHP> Editor> Code Assist (JAVA tiene una opción similar) y configure "Enable auto activation", preferiblemente con un retraso que le parezca cómodo (0 ms). Si le molesta que el programa decida repentinamente hacer las cosas por usted sin aviso (y lo hace incorrectamente), deseleccione "Insertar propuestas individuales automáticamente" y debería estar bien.
Asegúrese de que el archivo se abra con el "editor de PHP". Haga clic con el botón derecho en el archivo y seleccione abrir con para seleccionar el editor adecuado.
Si resulta que ha estado usando el editor incorrecto, puede cambiar la asociación en Preferencias »General» Tipos de contenido
Busque el archivo .buildpath en su proyecto ... ponga esta línea entre la etiqueta:
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
Guárdalo y reinicia eclipse. Ahora todo debería estar bien ... Esto funcionó para mí. :)
Es solo una línea para agregar en el archivo .project y luego reiniciar eclipse para obtener el completado del código: Donde dice
---
<natures>
</natures>
---
después del cambio tiene que ser
---
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
</natures>
---
Eso debería hacer.
Haga clic derecho en la pantalla de edición, vaya a Java -> Editor -> Asistente de contenido -> Avanzado ... seleccione propuestas en consecuencia
Lo he resuelto habilitando el indexador de C / C ++ completo (Windows-> propiedades -> C / C ++ -> Indexador), y también presiono el botón de radio "Usar configuración de botón activo". Después de eso, limpia y compila todo.
Eso funcionó en Eclipse CDT 3.4
Me he dado cuenta a veces cuando compras un proyecto de svn en eclipse (subversivo o subsclipe "checkout a project as") y aunque lo verifiques como un proyecto php, eliminará el archivo .project o sería un genérico proyecto. He encontrado simplemente ir a ese directorio y eliminar el .project .settings / y .cach /
A continuación, cree un nuevo proyecto de php y señale el directorio donde comprobó los archivos. Y debe tener el código completado y svn debe ser un enlace a su repositorio.
Si tienes este problema, sigue estos pasos:
- Seleccione "Ruta de inclusión de PHP" en su árbol de proyectos
- Haga clic derecho sobre él y luego haga clic en "Crear ruta de acceso> Configurar ruta de compilación"
- En la ventana de apertura, agregue la carpeta que desea construir, para que pueda ayudar con el código.
Eso es todo :) Espero que resuelva tu problema, he resuelto el mío :)
Si vino aquí buscando que la finalización del código en php eclipse no funcione, asegúrese de que su proyecto sea compatible con un proyecto de php. Haga clic derecho en el proyecto y luego vaya a configurar -> Agregar soporte php. Si tiene la configuración correcta para la asistencia del código, debería funcionar instantáneamente. A veces los novatos a medida que retoco con los proyectos o comienzo proyectos tan limpios y no tan php, el eclipse no sabe cómo tratar el proyecto.
Tal vez Eclipse no entiende que el proyecto tiene una "naturaleza de PHP". 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 área de trabajo debajo de los directorios del proyecto.
Tuve que hacer clic derecho en el proyecto en PHP Explorer, ir a "PHP Build Path". Esto estaba vacío. Hice clic en "Agregar carpeta", seleccioné la casilla de verificación al lado de la carpeta raíz de mi proyecto y hice clic en "Aceptar", luego en "Aceptar" nuevamente.
Después de que la finalización del código pareció funcionar. Debería funcionar de la caja si me preguntas, pero lo que sea.
Tuve un problema: 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 área de trabajo.
Como la carpeta apache htdocs por ejemplo.
Una solución podría ser incluir un archivo ficticio php que requiera todas sus clases de PHP. Para que el analizador de PHP también reconozca estas clases. Ejemplo de archivo ficticio:
if(false) {
require_once ''class/one.php'';
require_once ''class/two.php'';
require_once ''class/three.php'';
}
Verifique la lib de su proyecto. Puede ser que haya incluido dos de estos archivos jar en los que esté disponible la misma clase o digamos que una clase en el código puede ser refrendado en dos archivos jar. En tal caso, también el eclipse deja de ayudar al código ya que está totalmente confundido.
Una mejor forma de verificar esto es ir al archivo donde la asistencia no está funcionando y comentar todas las importaciones allí, que agregar importaciones una por una y verificar en cada importación si la asistencia de código está funcionando o no. Puedes encontrar fácilmente la clase con duplicados refrences .