Pelengkapan otomatis Xcode 7.3 sangat menyebalkan

96

Ada pelengkapan otomatis baru di Xcode. Mungkin mungkin berguna karena tidak hanya memeriksa awal nama, dll. Tetapi saya menemukan bahwa sangat sering tidak menemukan nama kelas atau nama const sama sekali dll. Saya perlu mengetikkan seluruh nama sendiri. Secara keseluruhan, saya merasa itu membuat hidup saya lebih sulit dan pengkodean lebih memakan waktu. Apakah ada cara untuk beralih ke cara lama yang dulu berfungsi?

matthewfx
sumber
Pengguna yang menggunakan 7,3 sebagai beta telah mengeluh tentang hal itu selama berminggu-minggu: stackoverflow.com/questions/35586056/…
matt
Anda dapat mengunduh xcode lama secara manual di developer.apple.com/downloads , mis. xcode 7.2.1: adcdownload.apple.com/Developer_Tools/Xcode_7.2.1/…
George
43
Saya tidak percaya mereka mengeluarkan rilis besar dengan sesuatu yang sama pentingnya dengan pelengkapan otomatis rusak. Seolah-olah tidak ada seorang pun di Apple yang benar-benar menggunakan Xcode untuk pengembangan.
soleil
3
Ini sangat mempengaruhi produktivitas saya sehingga saya kembali ke Xcode 7.2.1 sehingga saya benar-benar dapat kembali ke kecepatan pengembangan normal lagi. Saya lebih dari biasanya kesal dengan Apple dengan yang satu ini. Mereka tidak hanya memaksa saya ke El Capitan untuk menjalankan Xcode 7.3 tetapi ketika saya sampai di sana saya menemukan tanah yang dijanjikan jauh dari kenyataan. Apakah mereka menguji hal ini sama sekali? Rasa tidak hormat yang khas untuk pengembang 'mereka', seperti biasa.
Quintin Willison
2
Xcode 7.3.1 dirilis kemarin, setelah pengujian saya, bug ini masih ada ... Tapi Apple mengatakan mereka memperbaikinya di 7.3.1.
Vincent Duduk

Jawaban:

18

Xcode 7.3.1

  1. Di Xcode> Preferensi> Pengeditan Teks

    hapus centang Enable type-over completions

  2. restart Xcode

Ted
sumber
14

Tampaknya mengosongkan kotak centang "Aktifkan penyelesaian tipe-over" di XCode -> Preferensi -> Pengeditan Teks berhasil. Setidaknya dalam kasus saya, pelengkapan otomatis kembali ke cara lama, sehingga dapat melengkapi otomatis nama kelas yang harus saya ketik secara manual sebelum itu.

Alex Bykov
sumber
Sudah mencobanya, tetapi masih belum melengkapi nama kelas dengan benar.
Erik B
Saya tidak melihat perbedaan. Masih perlu menyelesaikan nama khusus ... :(
matthewfx
Untuk membuat ini bekerja, Anda harus mengaktifkan pengindeksan. Untuk mengaktifkan pengindeksan, Anda tidak dapat melakukannya dari dalam Xcode. Anda harus menjalankan baris berikut di shell. Kemudian restart Xcode. % defaults delete com.apple.dt.Xcode IDEIndexDisable lihat stackoverflow.com/questions/7328041/…
andrewz
5

Ini sama sekali bukan solusi yang memadai, TETAPI ini memungkinkan saya untuk (hampir) menjaga kewarasan saya selama beberapa hari terakhir: Setelah setiap pembuatan, Anda perlu membuang folder Data Turunan Anda. Anda dapat menemukan folder ini di Xcode > Preferences > Locations > Derived Data. Buang saja semuanya dan itu akan memulai langkah pengindeksan ulang yang seharusnya mengembalikan fungsionalitas pelengkapan otomatis yang tepat. Sayangnya, saya telah menemukan bahwa setelah saya membuat, perilaku pelengkapan otomatis kembali ke keadaan rusak.

evanflash.dll
sumber
4

cukup buka folder data turunan Xcode dan hapus folder tersebut

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

lalu mulai ulang Xcode, sekarang pelengkapan otomatis berfungsi dengan sangat baik

Hashem Aboonajmi
sumber
Ini berhasil untuk saya, saya tidak tahu mengapa dinilai negatif.
Mike M
1

Saya mendapat kesan bahwa beberapa 'bagian' dari pelengkapan otomatis gagal begitu saja setelah beberapa saat. Saya gunakan untuk me-restart Mac agar bisa kembali bekerja. Tapi terkadang itu gagal lagi. Mungkin jawaban dari @Alex Bykov yang dikombinasikan dengan restart akan berhasil.

Pokoknya: penyelesaian otomatis Xcode selalu omong kosong. AppCode digunakan untuk membuatnya jauh lebih baik. Sayangnya belum dengan sigap.

brainray
sumber
1

Tutup Xcode, buka Xcode, biarkan indeks, berhasil.

Juan Boero
sumber
1
Sayangnya itu satu-satunya pilihan.
thedp
0

itu tidak menemukan nama kelas

Sebagai solusi, Anda dapat mencoba menekan Command + Shift + K dan Command + B beberapa kali , ini berfungsi sementara.

ZGMF-X42S
sumber
1
Apakah Cmd + Shfit + K (Bersihkan), Cmd + Shfit + Opt + K (Bersihkan Folder Bangun), tutup Xcode, hapus ~/Library/Developer/Xcode/DerivedData, boot ulang OS X, dan itu masih tidak membantu. :-)
TaylanUB
1
Kami memiliki proyek yang cukup besar yang membutuhkan waktu 20 menit untuk dikompilasi dari awal, jadi membersihkan dan membangun kembali bukanlah pilihan bagi kami ...
longbow
0

Xcode 7.3.1

Saya akan membagikan alasan lain yang mungkin, bahwa setelah beberapa hari kami mengetahuinya. Kami memiliki banyak skema, dan salah satunya, header penghubung sedang mengimpor file yang sudah tidak ada lagi. Jadi, itu tidak rusak saat kompilasi dan berjalan (tajuk milik skema lain) tetapi menyebabkan pelengkapan otomatis rusak (tidak dapat menemukan kelas obyektif-c).

Semoga bisa membantu seseorang!

Ernesto Fernandez
sumber
0

Setelah mencoba berbagai metode:

  • Hapus Data Berasal
  • Mengaktifkan Modul Diaktifkan di Build Settings
  • Bersih Penuh
  • Luncurkan ulang

Hanya ini yang berhasil:

  • Temukan kode yang diberi komentar (/ * abc * /) setelah @end di file Anda dan hapus.

Kredit untuk Max_B: https://forums.developer.apple.com/thread/7439

Dalam kasus saya, proyek lain diselesaikan secara otomatis dengan benar. Jika semua proyek Anda gagal untuk memprediksi kode dengan benar, maka itu mungkin masalah yang berbeda, dan jawaban lainnya mungkin berfungsi.

Johnny Rockex
sumber
-1

Saya mengalami masalah ini ketika mencoba membuat aplikasi OS X dan saya dapat memperbaiki masalah ini dengan memastikan bahwa dokumentasi Xcode 7.3 dan dokumentasi OS X 10.11.4 benar-benar diunduh. Melakukan ini sepenuhnya memulihkan fungsi pelengkapan otomatis saya. Instruksi lengkap saya ada di bawah dan juga dalam jawaban saya untuk pertanyaan serupa: https://stackoverflow.com/a/39420664/3444925

Saya memiliki masalah ini sendiri dan setelah melihat semua pertanyaan & jawaban serupa lainnya tentang ini, saya tidak dapat menemukan solusi. Namun, akhirnya saya menemukan apa yang berhasil untuk saya.

Pergi ke Xcode -> Preferences -> Components. Di sana Anda mungkin akan menemukan layar yang terlihat seperti berikut:

masukkan deskripsi gambar di sini

Ini menunjukkan bahwa dokumentasi belum diunduh dan oleh karena itu, setiap upaya untuk mengindeks ulang atau membuat ulang aplikasi tanpa mengunduh dokumentasi akan mencegah Anda untuk dapat menggunakan fungsionalitas pelengkapan otomatis.

Setelah saya mengunduh Dokumentasi Xcode 7.3 dan Dokumentasi OSX 10.11.4, ini sudah cukup bagi saya untuk mendapatkan kembali fungsi pelengkapan otomatis (saya mencoba membuat aplikasi OS X, jadi silakan unduh dokumentasi sebanyak yang relevan untuk Anda ).

jkunzika
sumber
Tautan ke sumber daya eksternal dianjurkan, tetapi harap tambahkan konteks di sekitar tautan sehingga sesama pengguna Anda tahu apa itu dan mengapa itu ada. Selalu kutip bagian paling relevan dari sebuah tautan penting, jika situs target tidak dapat dijangkau atau offline secara permanen.
pableiros
Saya baru saja menambahkan jawaban lengkap saya di sini sebagai kutipan blok di sini @pableiros
jkunzika
-1

Saya tidak mengalami ini sampai saya membuat beberapa file kelas baru. Kelas lain berfungsi dengan baik, tetapi pelengkapan otomatis TIDAK akan berfungsi untuk apa pun di file baru ...

PERBAIKI (untuk saya) - Saya harus menambahkan file tersebut ke SEMUA target saya, termasuk target pengujian unit meskipun saya belum menggunakannya.

ghostatron
sumber