El autocompletado de Xcode 7.3 es tan frustrante


96

Hay un nuevo autocompletado en Xcode. Probablemente podría ser útil porque verifica no solo el comienzo de los nombres, etc. Pero descubrí que muy a menudo no encuentra un nombre de clase o un nombre constante, etc. Necesito escribir el nombre completo por mí mismo. En general, descubrí que me hace la vida más difícil y la codificación requiere más tiempo. ¿Hay alguna forma de cambiar a la forma antigua en que solía funcionar?


Aquellos de uso que trataron con 7.3 como una versión beta se han estado quejando de eso durante semanas: stackoverflow.com/questions/35586056/…
Matt

puede descargar xcode antiguo manualmente en developer.apple.com/downloads , por ejemplo, xcode 7.2.1: adcdownload.apple.com/Developer_Tools/Xcode_7.2.1/…
George

43
No puedo creer que hayan publicado un lanzamiento importante con algo tan importante como el autocompletado roto. Es como si nadie en Apple realmente usara Xcode para el desarrollo.
soleil

3
Esto está afectando mi productividad tanto que estoy volviendo a Xcode 7.2.1 para poder volver a la velocidad de desarrollo normal nuevamente. Estoy más molesto de lo habitual con Apple con este. No solo me obligaron a ir a El Capitán para ejecutar Xcode 7.3, sino que cuando llegué allí, descubrí que la tierra prometida está lejos de ser una realidad. ¿Prueban estas cosas en absoluto? La típica falta de respeto hacia "sus" desarrolladores, como siempre.
Quintin Willison

2
Xcode 7.3.1 fue lanzado ayer, después de mis pruebas, este error todavía existe ... Pero Apple dice que lo arreglaron en 7.3.1.
Vincent Sit

Respuestas:


18

Xcode 7.3.1

  1. En Xcode> Preferencias> Edición de texto

    desmarcar Enable type-over completions

  2. reiniciar Xcode


14

Parece que desmarcar la casilla de verificación "Habilitar terminaciones de escritura" en XCode -> Preferencias -> Edición de texto funciona. Al menos en mi caso, el autocompletado volvió a una especie de forma antigua, por lo que podría autocompletar el nombre de la clase que tuve que escribir manualmente antes de eso.


Lo intenté, pero aún no completa los nombres de las clases correctamente.
Erik B

No veo la diferencia. Todavía necesito terminar los nombres personalizados ... :(
matthewfx

Para que esto funcione, debe activar la indexación. Para activar la indexación, no puede hacerlo desde Xcode. Tienes que ejecutar la siguiente línea en un shell. Luego reinicia Xcode. % defaults eliminar com.apple.dt.Xcode IDEIndexDisable ver stackoverflow.com/questions/7328041/…
andrewz

5

Esta no es de ninguna manera una solución adecuada, PERO me ha permitido (apenas) mantener mi cordura en los últimos días: después de cada compilación, debe eliminar la carpeta de datos derivados. Puede encontrar esta carpeta en Xcode > Preferences > Locations > Derived Data. Simplemente tire todo a la basura y comenzará un paso de reindexación que debería restaurar la funcionalidad de autocompletado adecuada. Desafortunadamente, descubrí que una vez que construyo, el comportamiento de autocompletar vuelve a su estado roto.


4

simplemente abra la carpeta de datos derivados de Xcode y elimine la carpeta

/Users/yourUserName/Library/Developer/Xcode/DerivedData

luego reinicia Xcode, ahora el autocompletado funciona como un encanto


Esto funcionó para mí, no sé por qué tiene una calificación negativa.
Mike M

1

Tengo la impresión de que algunas "partes" del autocompletado simplemente fallan después de un tiempo. Utilizo para reiniciar la Mac para que vuelva a funcionar. Pero a veces vuelve a fallar muy pronto. Tal vez la respuesta de @Alex Bykov combinada con un reinicio sea suficiente.

De todos modos: la finalización automática de Xcode siempre fue una mierda. AppCode solía hacerlo mucho mejor. Desafortunadamente, todavía no con Swift.


1

Cerró Xcode, abrió Xcode, déjelo indexar, funcionó.


1
Lamentablemente, es la única opción.
thedp

0

no encuentra un nombre de clase

Como solución alternativa, puede intentar presionar Comando + Mayús + K y Comando + B varias veces, funciona temporalmente.


1
¿ Cmd + Shfit + K (Limpiar), Cmd + Shfit + Opt + K (Carpeta de compilación limpia), cerró Xcode, eliminó ~/Library/Developer/Xcode/DerivedData, reinició OS X y todavía no ayudó. :-)
TaylanUB

1
Tenemos un proyecto bastante grande que tarda 20 minutos en compilarse desde cero, por lo que limpiar y reconstruir no es una opción para nosotros ...
longbow

0

Xcode 7.3.1

Compartiré otra posible razón, que después de un par de días nos enteramos. Tenemos varios esquemas, y en uno de ellos, el encabezado de puente estaba importando un archivo que ya no existía. Por lo tanto, no se rompió mientras se compilaba y se ejecutaba (el encabezado pertenece a otro esquema) pero provocó que se rompiera el autocompletado (no se pudo encontrar ninguna clase de objetivo-c).

¡Espero que ayude a alguien!


0

Después de haber probado diferentes métodos:

  • Eliminar datos derivados
  • Desactivación del módulo habilitado en la configuración de compilación
  • Limpieza completa
  • Relanzar

Solo esto funcionó:

  • Busque cualquier código comentado (/ * abc * /) después de @end en sus archivos y elimínelo.

Crédito a Max_B: https://forums.developer.apple.com/thread/7439

En mi caso, otros proyectos se autocompletaron correctamente. Si todos sus proyectos no pueden predecir correctamente el código, entonces podría ser un problema diferente y las otras respuestas podrían funcionar.


-1

Me encontré con este problema al intentar crear una aplicación para OS X y pude solucionar este problema asegurándome de que la documentación de Xcode 7.3 y la documentación de OS X 10.11.4 se hayan descargado realmente. Hacer esto restauró completamente mi funcionalidad de autocompletar. Mis instrucciones completas se encuentran a continuación, así como en mi respuesta a una pregunta similar: https://stackoverflow.com/a/39420664/3444925

Yo mismo tuve este problema y después de revisar todas las otras preguntas y respuestas similares sobre esto, no pude encontrar una solución. Sin embargo, finalmente encontré lo que funcionó para mí.

Ir a Xcode -> Preferences -> Components. Allí probablemente encontrará una pantalla similar a la siguiente:

ingrese la descripción de la imagen aquí

Esto muestra que la documentación no se ha descargado y, por lo tanto, cualquier intento de volver a indexar o reconstruir la aplicación sin descargar la documentación le impediría poder utilizar la función de autocompletado.

Una vez que descargué la documentación de Xcode 7.3 y la documentación de OSX 10.11.4, esto fue suficiente para recuperar la funcionalidad de autocompletar (estaba tratando de crear una aplicación de OS X, así que siéntase libre de descargar toda la documentación que sea relevante para usted ).


Se recomiendan los enlaces a recursos externos, pero agregue contexto alrededor del enlace para que sus compañeros usuarios tengan una idea de qué es y por qué está allí. Siempre cite la parte más relevante de un enlace importante, en caso de que el sitio de destino sea inaccesible o se desconecte permanentemente.
pableiros

Acabo de agregar mi respuesta completa aquí como una cita de bloque aquí @pableiros
jkunzika

-1

No me encontré con esto hasta que creé un par de nuevos archivos de clase. Otras clases funcionaron bien, pero el autocompletado NO funcionaría para nada en los archivos nuevos ...

FIX (para mí): tuve que agregar esos archivos a TODOS mis objetivos, incluidos los objetivos de prueba unitaria, aunque todavía no los estaba usando.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.