Bagaimana cara membuat tab berfungsi normal di Xcode 4?

89

Xcode akhirnya menambahkan tab tetapi masalahnya adalah tab itu berperilaku sangat aneh. Misalnya, mereka akan membiarkan tab tetap terbuka hanya jika dibuka ke tab baru.

Jika Anda membuka file hanya dengan mengklik di pohon proyek, Xcode akan menutup tab Anda segera setelah Anda mengklik file lain di pohon.

Apakah mungkin untuk membuatnya berperilaku seperti tab nyata dan mencegah Xcode untuk menggunakannya kembali? Bagaimana?

sorin
sumber
19
Saya juga berpikir bahwa navigasi XCode itu kooky dan aneh. Tab, tetapi juga setiap tab memiliki riwayat, tetapi riwayat bukan hanya file, itu juga tempat di dalam file ... Bepergian dengan keyboard itu mudah. "Bekerja seperti di Safari" tidak membuatnya bagus ...
david van brink
1
@davidvanbrink Saya tidak mengerti, bagaimana antarmuka Xcode sama sekali seperti di film ?
bobobobo
1
Saya yakin j03m telah menjawab dengan benar pertanyaan Anda
Błażej

Jawaban:

72

UPDATE untuk 2020:

Akhirnya, hampir 10 tahun kemudian, Xcode 12.x sekarang tampaknya menyelesaikan sebagian besar masalah yang dijelaskan di sini. Ada opsi Gaya Navigasi baru di panel pengaturan Navigasi yang mengontrol perilaku ini.

Perilaku ini memiliki beberapa kebiasaan baru / pilihan desain yang tampaknya masuk akal, tetapi saya masih terbiasa dengan pengalaman baru. Misalnya, tab akan digunakan kembali kecuali file di tab tersebut telah diedit baru-baru ini; tab seperti itu ditunjukkan dengan judul miring .


JAWABAN SEBELUMNYA

Saya tidak berpikir Anda saat ini bisa mendapatkan perilaku yang Anda inginkan (atau saya inginkan). Meskipun tab berfungsi seperti Safari, tab tersebut tidak berfungsi seperti tab di IDE populer lainnya (Visual Studio atau Eclipse). Dan bagi saya ini menyebalkan.

Secara umum, saya berharap tab IDE menyimpan lebih dari 1 file yang terbuka. Jadi jika saya mengklik file di pohon proyek, saya berharap file itu akan beralih ke tab yang telah saya buka dengan file itu - jika saya sudah membukanya. Sebaliknya, XCode 4 mengubah tab saat ini ke file yang saya klik - membuat 2 tab dengan file yang sama. Memiliki 2 tab dengan file yang sama cukup tidak berguna.

Ini memaksa pengguna untuk memindai bilah tab terlebih dahulu untuk melihat apakah file sedang dibuka; jika tidak dibuka maka Anda dapat melihat ke pohon proyek. Tetapi jika Anda mengklik pohon proyek terlebih dahulu (yang cenderung saya lakukan) maka Anda akan dihukum karena Anda baru saja mematikan tab.

Daniel
sumber
1
Kirimkan laporan bug! Nama tab harus sama dengan file saat ini di tab itu (!)
mda
13
XCode 6 masih tidak menangani tab seperti yang diharapkan :(
Ivan Marinov
1
Sepertinya sudah diperbaiki di XCode 7! Saya sudah mengaturnya jadi klik dua kali terbuka di tab baru, dan jika file sudah dibuka, Anda akan dibawa ke tab itu alih-alih yang baru.
cabaiNUT
1
cabai. Bagaimana cara mengatur pengaturan Anda untuk perilaku ini? Ketika saya mengklik dua kali, itu membuka file di tab baru, meskipun saya sudah membuka file di tab yang ada.
andynil
XCode 10 masih tidak menangani tab seperti yang diharapkan :(
pingu
90

Saya menggunakan metode yang mirip dengan franks:

  • Di Preferensi> Navigasi (atau Preferensi> Umum dalam versi Xcode sebelum 5) Anda dapat mengatur Navigasi Opsional ke Menggunakan Tab Terpisah
  • Sekarang memilih -klik file di file navigator akan membukanya di tab baru
  • Lebih baik lagi, mengikutsertakan tautan dalam kode membuka file tujuan di tab baru

Fitur besar yang hilang adalah menukar ke tab yang sudah terbuka yang berisi file jika ada (atau tetap di tab saat ini).

drömsynt
sumber
Luar biasa, jawaban ini menyelamatkan saya, dan Anda juga dapat menyetel ke Klik dua kali buka di Tab baru
melanke
8
Ini ada di tab Navigasi di Preferensi (Bisa jadi perubahan di Xcode 5). Preferensi -> Navigasi -> Navigasi Opsional -> Menggunakan Tab Terpisah
Priebe
Inilah yang saya cari! Saya selalu menggunakan IDE seperti VS atau PHPStorm yang menggunakan tab dan ini benar-benar menyelamatkan saya
hardsetting
3
Fitur besar yang hilang adalah menukar ke tab yang sudah terbuka yang berisi file jika ada (atau tetap di tab saat ini). Saya berharap ini ditambahkan
MistyD
3
Masih saya tidak suka fakta bahwa saya bisa mendapatkan dua tab dengan file sime terbuka. Saya tidak suka sama sekali sistem tab ruang kerja di Xcode ...
Nuno Gonçalves
24

Ini sebenarnya bukan jawaban sejauh mengandung solusi; Saya kebanyakan hanya ingin ikut mengeluh. Tetapi upvoting akan membuat Anda merasa lebih baik dan membuktikan Apple salah. :)

Masalah dengan implementasi tab Xcode 4 adalah Apple telah menerapkannya sebagai tab ruang kerja . Dengan kata lain, membuat tab baru pada dasarnya membuat ruang kerja baru, masing-masing dengan sub-panelnya sendiri dengan konfigurasinya, dll. Pada dasarnya, ini adalah keseluruhan lingkungan di setiap tab. Ada sejumlah masalah dengan pilihan ini.

Ini berbeda dari kebanyakan penerapan tab file IDE / editor teks di mana tab (umumnya) mewakili satu file, dan setiap file memiliki tabnya sendiri.

Masalah dengan tab ruang kerja adalah hanya ada begitu banyak potensi ruang kerja berbeda yang dapat kami manfaatkan, sangat membatasi penggunaan tab yang sebenarnya dengan cara ini. Di luar ini, ruang kerja tambahan hanya menjadi kewajiban, memperkenalkan lebih banyak hal yang perlu diperhatikan oleh pengguna aplikasi: misalnya, apa itu tampilan navigator, mode editor apa yang aktif (standar, asisten, versi), apakah konsol debug terbuka, dll. Mendadak beralih ke tab baru berarti Anda sekarang harus khawatir tentang mendapatkan lingkungan kembali dalam bentuk yang Anda butuhkan, karena ada kemungkinan besar tab lain tidak ditinggalkan dalam keadaan Anda berharap menemukannya di. Ini sebenarnya mencegah penggunaan tab karena memperkenalkan lebih banyak pekerjaan dalam alur kerja.

Tab file tidak memiliki masalah ini (tidak termasuk kasus khusus seperti panel tampilan terpisah) karena yang berubah hanyalah file yang Anda lihat, bukan seluruh lingkungan Anda. Selain itu, jika diimplementasikan dengan benar, tab file berfungsi dengan baik sebagai riwayat langsung, memungkinkan seseorang untuk dengan cepat beralih kembali ke file yang baru saja berfungsi, dengan sedikit usaha. Satu-satunya cara untuk melakukan ini di Xcode adalah dengan secara eksplisit mengatur lingkungan tab baru untuk setiap file yang ingin Anda kerjakan, tetapi Anda harus berhati-hati untuk tidak mengubah file di tab itu atau file Anda tiba-tiba hilang: sekali lagi, lebih banyak pekerjaan untuk pengguna.

Tab ruang kerja juga jauh lebih berat daripada tab file, karena ada lebih banyak hal yang perlu diingat dan berpindah ruang kerja melibatkan lebih dari sekadar berpindah file.

Yang benar adalah (dan saya pikir sebagian besar akan setuju dengan saya tentang ini), bagi pengembang, tab file jauh lebih berguna daripada tab ruang kerja, dan Xcode masih berdiri. kekurangan implementasi yang tepat dari fitur ini sehingga banyak yang akan menganggap fungsionalitas dasar yang diperlukan di IDE / editor.

devios1
sumber
18

Xcode->Preferences->General->Double Click Navigationdan dari daftar, pilih Uses Separate Tab.

Luca
sumber
4
Di XCode 5 Anda pergi kePreferences->Navigation->Double Click Navigation
Gerard
17

Yah, bukan jawaban nyata tapi solusi pribadi saya. Masalah sebenarnya bagi saya adalah, bahwa file yang dibuka di tab hilang dengan mudah di xcode 4. Menemukan file lagi bisa memakan waktu, jadi saya suka mereka berada di tab dan tetap di sana.

Saya menyelesaikan ini (entah bagaimana) untuk saya dengan mengidentifikasi tindakan yang saya lakukan yang menyebabkan tab beralih ke file lain dan menggantinya dengan tindakan yang setara yang membuka tab baru.

  • Alih-alih mengklik tunggal file di navigator, saya selalu mengklik dua kali yang telah saya setel untuk membuka tab baru
  • Sering kali saya tidak menggunakan navigator, karena memiliki status folder terbuka dan tertutup yang berbeda di setiap tab. Tidak berguna untukku. Jadi saya beralih menggunakan Option ⌥ Command ⌘ O. Saat membuka file dari daftar ini saya terus ShiftOption ⌥menekan. Di jendela kecil yang muncul saya memilih 'tab baru'.
  • Saat mengklik link dalam kode, saya juga menekan ShiftOption ⌥ Command ⌘, dan membuka di tab baru.

Saya menyimpan dua tab tetap untuk mengedit pengaturan terkait target dan untuk melihat hasil build. Saya benar-benar menonaktifkan semua pengalihan tab otomatis di prefs, karena saya perhatikan ini sangat mengganggu saya.

Saya sangat ingin mendapatkan sesuatu seperti bilah favorit xcode 3 di xcode 4, ini sangat mudah digunakan ..

jujur
sumber
2
Meskipun ini bukan "solusi" (sejauh yang saya tahu tidak ada), saya sangat menghargai mempelajari cara membuka tab melalui "buka cepat" dan mengklik tautan dalam kode. Membosankan tapi sangat berguna. Terima kasih.
ajmccall
8

Saya membayangkan jawaban saya tidak akan muncul untuk sementara waktu, tetapi jika Anda ingin ini berfungsi seperti studio visual atau intellij (atau setidaknya lebih dekat)

Preferensi-> Umum-> Navigasi Klik Ganda-> Menggunakan tab terpisah

Mengklik ganda file sekarang akan berhenti membukanya di jendela baru dan membukanya di tab baru.

Lajang masih bodoh dan mengambil alih tab Anda. Tetapi jika Anda terbiasa mengklik dua kali (yang sudah saya lakukan) ini akan menghemat beberapa sakit kepala. Saya seharusnya.

j03m
sumber
Pengaturan ini telah disebutkan di atas, lihat stackoverflow.com/a/6666097/239408 stackoverflow.com/a/11029748/239408
xverges
4

Saya benar-benar benci cara kerja tab di Xcode. Namun, satu-satunya solusi yang saya temukan yang berfungsi dengan baik adalah menggunakan pintasan tab OSX: CTRL + CMD + -> CTRL + CMD + <-

mithun_daa
sumber
3

Saya menemukan cara saya dalam Preferensi-Perilaku!

Saya membenci Xcode 4 terlebih dahulu untuk masalah tab yang dibahas di sini, terutama karena informasi debug terus membuka file baru di tab dan mengubah navigator

di Behaviors, Anda dapat menentukan tab Debug dan membuat Run dan Build melompat ke sana dengan berbagai cara. di tab Debug saya memberi lebih banyak ruang untuk navigator kiri dan bawah

untuk alasan serupa, saya juga memiliki tab Temukan

tab lainnya adalah untuk file yang saya tulis. Saya memulainya dengan .h yang biasanya cukup kecil jadi saya hanya perlu satu tampilan, dan kemudian dengan sekali klik di navegator saya membuka 2-3 versi file .cpp jadi Saya dapat mengaturnya ke lokasi di mana hot spot terbaru dalam file tersebut berada. lalu saya menutup navigator di tab tersebut

ini tidak membatalkan perawatan dan trik yang diberikan dalam jawaban lain di sini, tetapi membuatnya jauh lebih mudah

selamat coding!

Matthias Grob
sumber
3

Saya menemukan itu saat menekan optionakaalt saat membuka file di navigator, Anda akan melompat ke tab yang sudah terbuka dengan file tersebut dan tab baru akan terbuka jika belum terbuka.

Teknik ini juga berfungsi saat membuka file melalui cmdshift- Odan membuka saran dengan option- enteralih-alih enter...

Sekarang, jika ada cara untuk menjadikan ini sebagai default, yaitu kebutuhan untuk terus menekan optionsepanjang waktu akan dihapus, itu akan menjadi langkah maju yang besar.

Saya juga menggunakan Perilaku untuk menjaga tab saya agar tidak didaur ulang setelah pengujian atau kegagalan build.

(Seperti orang lain, saya sangat tidak menyukai perilaku tab Xcode. Apple harus melihat IntelliJ ...)

Hendrik
sumber
1
Ini adalah salah satu saran yang lebih berguna untuk penggunaan kembali tab yang ada. Jauh dari solusi sempurna (tampaknya tidak ada), tetapi itu membantu!
Mason Lee
1

xcode tab bar sangat payah, saya pikir Apple harus meningkatkan fitur navigasi tab untuk menghindari mengikuti 3 poin. 1. Klik dua kali file akan membiarkan xcode membuka tab lain jika sudah ada. 2. untuk lebih banyak tab, tab akan menjadi kecil sehingga saya tidak tahu file mana di tab mana, saya ingin tab menampilkan nama lengkap 3. untuk lebih banyak tab, tab baru akan disembunyikan, bukan dua baris tab . Saya ingin menampilkan dua baris bilah tab.

lbsweek
sumber
0

Tab di Xcode 4 berfungsi seperti tab di tempat lain di Mac OS X, misalnya di Safari dan Terminal.

Chris Hanson
sumber
Pertama, saya berbicara di sini tentang kriteria pembukaan tab, tidak masuk akal untuk membandingkan dengan aplikasi yang tidak berorientasi proyek . Masalahnya adalah mengklik pohon proyek memicu perilaku canggung terkait pembukaan tab.
sorin
2
Tab di Xcode 4 berperilaku seperti "tab nyata" karena mengikuti konvensi yang ditetapkan untuk tab di seluruh sistem operasi. Mereka melakukannya dengan sengaja. Anda dapat memilih untuk membuka opsi-klik atau klik dua kali apa pun yang telah Anda klik di tab (atau jendela) baru di preferensi Umum; Anda tidak dapat memilih untuk membuka tab baru dengan sekali klik.
Chris Hanson
Lebih khusus lagi, jika Anda mengklik file di navigator proyek, Xcode tidak "membuka tab" dan kemudian "menutup tab itu" saat Anda mengklik file lain di navigator proyek. Xcode menunjukkan file yang Anda klik di editor utama tab saat ini.
Chris Hanson
1
bagaimana dengan pintasan keyboard untuk memutar antar tab?
ming yeow
26
Saya secara kekanak-kanakan ingin memberi suara negatif, karena saya benci cara kerja tab! Jadikan aku semua Grrrr. :-)
david van brink
0

Jika Anda telah tab bar diaktifkan (Lihat / Show Tab Bar) dan Anda klik dua kali file, yang muncul dalam itu jendela sendiri, dengan tab tunggal ( Pastikan Tab Bar diaktifkan di kedua yang) jendela utama baru dan lama ( ).

Sekarang yang harus Anda lakukan adalah menyeret jendela baru itu dari tabnya dan menjatuhkannya ke bilah tab jendela utama Anda.

masukkan deskripsi gambar di sini

Ini akan tetap berlabuh sebagai tab terpisah, menampilkan file itu.

Untuk mengubah file yang terbuka di tab baru itu, buka Project / Reveal di Project Navigator , yang membuka navigator proyek di sisi kiri.

bobobobo
sumber
3
Apakah itu "yang harus Anda lakukan" setiap saat? ;) Anda dapat menentukan (di Preferensi-> Perilaku) bahwa klik dua kali akan terbuka di tab baru, bukan di jendela baru, tetapi itu tetap tidak meningkatkan implementasi tab yang sangat buruk di tempat pertama.
devios1
Anda berkomentar untuk mengabaikan jawaban @ Daniel, tetapi jawaban Anda tidak menjawab fakta bahwa ketika Anda mengklik satu file, itu mengubah file yang terbuka di tab saat ini. Ini tidak seperti kebanyakan IDE lainnya dan tidak masuk akal.
0x6A75616E