Jadi saya sedang mengerjakan pelengkapan otomatis NSTextView
dalam sebuah paket bernama Penyelesaian Otomatis TextKit.
Ini adalah proyek Paket Swift baru pertama yang saya mulai dengan Xcode 16, saya yakin; yang sebelumnya masih Xcode 15. Dan dengan 16, mereka mengubah cara Anda mereferensikan paket lokal dari aplikasi contoh di subfolder.
Sebelumnya, Anda dapat membuat proyek Xcode misalnya Demo/
subfolder, lalu seret dan lepas paket folder induk ke dalam proyek. Paket tersebut tidak akan ditambahkan ke daftar “Ketergantungan Paket”, melainkan ditambahkan seperti grup lain ke proyek – sebuah fitur yang diperkenalkan beberapa waktu lalu, menurut saya, memungkinkan penggantian sementara terhadap dependensi paket yang biasanya hanya dapat dibaca, sehingga Anda dapat mengubah kode paket misalnya untuk memperbaiki bug.
Dengan Xcode 16, Anda harus menambahkan ketergantungan lokal, dengan ../../PACKAGE_NAME/
sebagai jalannya.
Dan mereka tidak berperilaku sama.
Perilaku baru baru saja rusak.
- Tidak ada operasi file: Saat saya menambahkan file baru ke paket lokal, atau menghapus file, atau mengganti nama file, proyek aplikasi demo Xcode tidak dapat memecahkan masalah ini. Saya mendapatkan kesalahan pembangunan dan perlu membuka kembali proyek. (Memodifikasi file yang sudah ada dapat dilakukan, namun jika Anda memasukkan tipe atau fungsi baru, file tersebut juga tidak akan dapat digunakan dengan benar
- Tidak ada tes: Menambah penghinaan, saya juga tidak bisa menjalankan tes Paket lokal. Rencana pengujian Xcode tidak “melihat” pengujian paket sama sekali. Jadi saya tidak bisa memulai dengan demo interaktif dan mengembangkan Paket dari sana.
- Tidak ada dua konteks Xcode: SAYA Juga tidak dapat membuka Paket secara terpisah, karena sudah terbuka di jendela Xcode aplikasi demo. (Jika masalah sebelumnya menambah penghinaan terhadap cedera, saya tidak tahu pepatah apa yang harus digunakan untuk mengungkapkan betapa frustrasinya masalah ini.)
Saya tidak bisa bekerja seperti itu.
Saya tidak tahu bagaimana kalian semua bisa bertahan.
Hikmahnya di sini adalah saya dapat menggunakan editor lain untuk mengedit Paket dan menjalankan tes, setidaknya: the swift
alat build berfungsi dengan baik dari baris perintah, dan SourceKit LSP dapat diservis. Anda dapat menggunakan editor modern untuk membuka Paket Swift, mengkompilasi dan menguji, serta menggunakan Xcode untuk mengkompilasi dan menjalankan proyek aplikasi.
Bagi saya, itu berarti saya bisa mengembangkan dan menguji Paket itu sendiri di Emacs. (Anda juga memiliki izin pribadi saya untuk menggunakan Neovim. Tapi bukan VSCode!)
Secara keseluruhan, ini konyol.
Saya lebih suka menyimpan Xcode 15. Saya mencobanya selama mungkin. (Saya masih menjalankan Sonoma di Mac saya!) – Namun inilah yang kami dapatkan dengan pembaruan perangkat lunak Apple tahun 2020: versi utama wajib mengalami peningkatan setiap tahun untuk semua OS, SDK, dan Xcode, dalam berbagai kondisi rusak, dan tidak ada cara untuk bukan tingkatkan sebagai pengembang. Saya baik-baik saja dengan perangkat lunak yang rusak, saya tidak baik-baik saja dengan semua dorongan dan dorongan.
Namun saya sangat senang karena saya memiliki opsi untuk menggunakan LSP dan DAP untuk mendapatkan penyelesaian otomatis dan umpan balik pengeditan sumber, penyorotan sintaksis yang tepat, dan kemudian kompilasi atau pengujian dengan pintasan yang sama, ⌘B atau ⌘U masing-masing. Ini terlihat agak aneh pada awalnya, tapi lebih baik daripada meluncurkan kembali Xcode empat kali per jam.
Jika Anda belum memiliki proyek hobi untuk tahun 2025, saya sarankan Anda mempelajari editor cadangan yang mumpuni. Untuk berjaga-jaga.