Як я можу зробити так, щоб вкладки працювали нормально на Xcode 4?


86

Xcode нарешті додав вкладки, але проблема в тому, що вони поводяться дуже дивно. Наприклад, вони залишатимуть вкладку відкритою, лише якщо вона була відкрита на новій вкладці.

Якщо ви відкриваєте файл, просто клацнувши в дереві проекту, Xcode закриє вашу вкладку, як тільки ви натиснете інший файл у дереві.

Чи можна змусити їх поводитися як справжні вкладки та запобігти повторному використанню Xcode? Як?


17
Я теж думаю, що навігація XCode виглядає химерною та дивною. Вкладки, але також кожна вкладка має свою історію, але історія - це не просто файли, це місця у файлах ... Переміщення за допомогою клавіатури - це просто відмовно. "Працює як у Safari" це не робить добре ...
Девід Ван Брінк,

1
@davidvanbrink Я не розумію, як інтерфейс XCode взагалі схожий на фільм ?
bobobobo

1
Я вважаю, що j03m правильно відповів на ваше запитання
Блажей

Відповіді:


69

ОНОВЛЕННЯ на 2020 рік:

Нарешті, майже через 10 років Xcode 12 beta 3, здається, в основному вирішує проблему, описану тут. На панелі налаштувань навігації є нова опція Стиль навігації , яка контролює цю поведінку.

Звичайно, це може змінитися в наступних бета-версіях або остаточному випуску Xcode 12.

У поведінці є кілька нових примх / виборів дизайну, які, здається, мають сенс, але я все ще звикаю до нового досвіду. Наприклад, вкладка буде повторно використана, якщо файл на цій вкладці не редагувався нещодавно; така вкладка позначена курсивом .


ПОПЕРЕДНЯ ВІДПОВІДЬ

Я не думаю, що ти в даний час можеш отримати поведінку, яку ти бажаєш (або я бажаю). Хоча вкладки працюють як Safari, вони не працюють як вкладки в інших популярних середовищах розробки (Visual Studio або Eclipse). І для мене такий відстій.

Загалом, я очікую, що вкладки IDE дозволять тримати більше 1 файлу відкритим. Отже, якщо я клацну файл у дереві проекту, я очікую, що він переключиться на вкладку, яку я відкрив із цим файлом - якщо я його вже відкрив. Натомість XCode 4 змінює поточну вкладку на файл, який я натиснув, - роблячи 2 вкладки з тим самим файлом. Мати 2 вкладки з одним і тим же файлом досить марно.

Це змушує користувача спочатку сканувати панель вкладок, щоб перевірити, чи файл відкритий на даний момент; якщо його не відкрити, ви можете переглянути дерево проекту. Але якщо спочатку натиснути на дереві проекту (що я, як правило, роблю), то вас карають, бо ви щойно вбили вкладку.


1
Подайте звіт про помилку! Назва вкладки має відповідати поточному файлу на цій вкладці (!)
мда

13
XCode 6 досі не обробляє вкладки, як очікувалося :(
Іван Марінов,

1
Здається, це виправлено в XCode 7! Я встановив, що подвійне клацання відкривається на новій вкладці, і якщо файл уже відкрито, ви перейдете на цю вкладку замість нової.
chiliNUT

1
чиліГОРІХ. Як ви встановили налаштування для цієї поведінки? Коли я двічі клацаю, це відкриває файл на новій вкладці, навіть якщо файл уже відкрито на існуючій вкладці.
andynil

XCode 10 ще не виконує жодних вкладки , як очікується :(
Pingu

90

Я використовую метод, подібний до франків:

  • У меню « Налаштування»> «Навігація» (або « Налаштування»> «Загальне» у версіях XCode до 5) ви можете встановити « Необов’язкова навігація» на « Використовувати окрему вкладку»
  • Тепер opt -натиснувши файл у навігаторі файлів, ви відкриєте його в новій вкладці
  • А ще краще, неавтоматическое клацання посилання в коді відкриває файл призначення в новій вкладці

Основною функцією, яка відсутня, є перехід на вже відкриту вкладку, що містить файл, якщо він є (або залишається на поточній).


Чудово, ця відповідь мене врятувала, і ви також можете встановити Двічі клацнути відкритим у новій вкладці
melanke

8
Це знаходиться на вкладці Навігація в Налаштуваннях (це може бути зміна в Xcode 5). Prefences -> Навігація -> Додаткова навігація -> Використовує
окрему

Це саме те, що я шукав! Я завжди використовував IDE, такі як VS або PHPStorm, які використовували вкладки, і це насправді врятувало
жорстке налаштування

3
Найважливішою функцією є відсутність заміни на вже відкриту вкладку, що містить файл, якщо він є (або залишається на поточній). Я бажаю, щоб це додали
MistyD

3
Тим не менше мені не подобається той факт, що я можу отримати дві вкладки з відкритим файлом sime. Мені взагалі не подобається система вкладок робочої області в Xcode ...
Нуно Гонсалвес

24

Це насправді не відповідь, оскільки містить рішення; Я здебільшого просто хочу долучитися до захоплення. Але голосування призведе до того, що ви почуватиметеся краще і докажете Apple, що вона помиляється. :)

Проблема реалізації вкладок у Xcode 4 полягає в тому, що Apple застосувала їх як вкладки робочої області . Іншими словами, створення нової вкладки по суті створює нову робочу область, кожна з яких має власні підпанелі зі своїми конфігураціями тощо. Це, по суті, ціле середовище на кожній вкладці. З цим вибором існує низка проблем.

Це відрізняється від реалізації вкладками файлів більшості IDE / текстових редакторів, де вкладка (як правило) представляє один файл, і кожен файл має свою вкладку.

Проблема з вкладками робочої області полягає в тому, що існує лише стільки потенційних різних робочих областей, від яких ми могли б отримати вигоду, суворо обмежуючи фактичне використання вкладок таким чином. Окрім цього, додаткові робочі простори просто стають відповідальністю, вводячи більше речей, які користувач програми повинен турбувати про себе: наприклад, що таке перегляд навігатора, який режим редактора активний (стандартний, помічник, версія), чи консоль налагодження відкрита і т. д. і т. д. Раптовий перехід на нову вкладку означає, що тепер вам доведеться турбуватися про повернення середовища у потрібну вам форму, оскільки є велика ймовірність, що інша вкладка не залишилась у тому стані, в якому ви сподівайтесь знайти його в. Це насправді не рекомендує використовувати вкладки, оскільки це вносить більше роботи в робочий процес.

Вкладки файлів не мають цієї проблеми (не враховуючи особливих випадків, таких як розділені області перегляду), оскільки все, що змінюється, це файл, який ви переглядаєте, а не все ваше оточення. Більше того, якщо їх правильно впровадити, вкладки файлів чудово працюють як безпосередня історія, що дозволяє швидко повернутися до файлу, який працював нещодавно, докладаючи мало зусиль. Єдиний спосіб зробити це в Xcode - це явно встановити нове середовище вкладок для кожного файлу, з яким ви хочете працювати, але ви повинні бути обережними, щоб не змінити файл на цій вкладці, або ваш файл раптом загубиться: знову ж таки, більше роботи для користувача.

Вкладки робочої області також значно важчі, ніж вкладки файлів, оскільки пам’ятати набагато більше, і перемикання робочих областей передбачає набагато більше, ніж перемикання файлів.

Правда в тому, (і я думаю, що більшість з цим погодиться зі мною), для розробника вкладки файлів набагато корисніші, ніж вкладки робочої області, і, як це існує, Xcode все ще не має належної реалізації цієї функції, яку багато хто вважав би базовою необхідною функціональністю в IDE / редакторі.


18

Xcode->Preferences->General->Double Click Navigationі зі списку виберіть Uses Separate Tab.


4
У XCode 5 ви переходите доPreferences->Navigation->Double Click Navigation
Жерар

17

Ну, не справжня відповідь, а мій особистий обхідний шлях. Справжня проблема для мене полягає в тому, що файл, відкритий на вкладці, так легко зникає в xcode 4. Пошук файлу знову може зайняти багато часу, тому мені подобається, щоб вони знаходились на вкладці і залишались там.

Я вирішив це (якось) для мене, точно визначивши дії, які я роблю, що змушує вкладку переключатися на інший файл і замінювати їх еквівалентними діями, які замість цього відкривають нову вкладку.

  • Замість того, щоб натискати файл у навігаторі одним натисканням, я завжди двічі клацнув, що встановив, щоб відкрити нову вкладку
  • Найчастіше я не використовую навігатор, оскільки він має різний стан відкритих і закритих папок на кожній вкладці. Мені не корисно. Тому я перейшов на використання Option ⌥ Command ⌘ O. Відкриваючи файл із цього списку, який я зберігаюShiftOption ⌥ натискаю. У маленькому вікні, що з’являється, я вибираю «нова вкладка».
  • При натисканні на посилання в коді я ShiftOption ⌥ Command ⌘теж натискаю і відкриваю в новій вкладці.

Я тримаю дві фіксовані вкладки навколо для редагування цільових налаштувань та перегляду результатів збірки. Я повністю вимкнув усі автоматичні перемикання вкладок у префайлах, бо помітив, що це мене сильно відволікло.

Я б дуже хотів отримати щось на зразок панелі улюблених xcode 3 у xcode 4, це було так просто у використанні ..


2
Хоча це не "рішення" (такого, наскільки я можу зрозуміти, немає), я вдячний тому, як навчитися відкривати вкладки за допомогою "швидкого відкриття" та натискання посилань у коді. Втомлива, але дуже корисна. Дякую.
ajmccall

8

Думаю, що моя відповідь деякий час не з’явиться, але якщо ви хочете, щоб це працювало як Visual Studio чи Intellij (або принаймні ближче)

Налаштування-> Загальне-> Навігація подвійним клацанням-> Використовує окрему вкладку

Двічі клацнувши файл, зупинить його відкриття у новому вікні та відкриє на новій вкладці.

Сингл все ще німий і бере на себе вашу вкладку. Але якщо ви звикнете до подвійного клацання (яким я вже був), це позбавить вас головного болю. Я вважаю.


Цей параметр вже згадувалося вище, див stackoverflow.com/a/6666097/239408 stackoverflow.com/a/11029748/239408
xverges

4

Я абсолютно ненавиджу, як працюють вкладки в Xcode. Однак єдине обхідне рішення, яке я виявив, що працює гідно, - це використання ярликів на вкладках OSX: CTRL + CMD + -> CTRL + CMD + <-


3

Я знайшов свій шлях у налаштуваннях-поведінці!

Я ненавидів Xcode 4 спочатку за проблеми з вкладками, які тут обговорювали, головним чином через те, що інформація про налагодження постійно відкривала нові файли на вкладках та змінювала навігатор

у "Поведінках" ви можете визначити вкладку "Налагодження" і змусити "Запустити та побудувати" переходити туди різними способами. на вкладці Налагодження я надаю більше місця навігаторам ліворуч та знизу

з подібних причин у мене теж є вкладка Знайти

інші вкладки призначені для файлів, в які я пишу. Я починаю їх із .h, який, як правило, досить малий, тому мені потрібен лише один вигляд, а потім одним натисканням кнопки в навігаторі відкриваю 2-3 версії файлу .cpp, щоб Я можу встановити їх у місцях, де знаходяться останні гарячі точки у файлі. тоді я закриваю навігатори в цих вкладках

це не втрачає уваги та хитрості, наведені в інших відповідях тут, але робить їх набагато менш важкими

щасливого кодування!


3

Я дізнався, що при натисканні optionакаalt під час відкриття файлів у навігаторі ви перейдете на вкладку, вже відкриту разом із файлом, і відкриється нова вкладка, якщо вона ще не була відкрита.

Цей метод також працює при відкритті файлів з допомогою cmdshift- Oі відкриття пропозиції з option- enterзамість простого enter...

Тепер, якщо існує якийсь спосіб зробити це за замовчуванням, тобто необхідність постійно натискати optionвесь час буде знята, це був би великий крок вперед.

Також я використовую поведінку, щоб уникнути повторної переробки вкладок після невдалих випробувань або побудови.

(Як і інші люди, я абсолютно не люблю поведінку вкладок Xcode. Apple повинна поглянути на IntelliJ ...)


1
Це одна з найбільш корисних пропозицій щодо повторного використання існуючих вкладок. Далеко не ідеальне рішення (мабуть, його немає), але воно допомагає!
Mason Lee

1

Панель вкладок xcode настільки смоктана, що, на мою думку, Apple повинна покращити функцію навігації по вкладках, щоб уникнути наступних 3 балів. 1. подвійне клацання файлу дозволить xcode відкрити іншу вкладку, якщо вона вже була там. 2. для більшої кількості вкладок вкладка стане маленькою, і, отже, я не знаю, який файл у якій вкладці, я хочу, щоб вкладка відображала повне ім'я 3. для ще більшої кількості вкладок нові вкладки будуть приховані замість двох рядків вкладок . Я хочу, щоб на ньому були два рядки панелей вкладок.


0

Вкладки в Xcode 4 працюють як вкладки в інших місцях Mac OS X, наприклад у Safari та Terminal.


По-перше, я говорю тут про критерії відкриття вкладок, немає сенсу порівнювати із програмами, які не орієнтовані на проекти . Проблема полягає в тому, що натискання на дерево проекту викликає незручну поведінку щодо відкриття вкладок.
сорін

2
Вкладки в Xcode 4 поводяться як "справжні вкладки", оскільки відповідають умовам, встановленим для вкладок в іншій операційній системі. Вони роблять це за задумом. Ви можете вибрати, щоб натиснути кнопку опції або двічі клацнути, щоб відкрити все, що ви клацнули на новій вкладці (або вікні) у загальних налаштуваннях; Ви не можете вибрати, щоб відкрити нову вкладку одним клацанням миші.
Кріс Хенсон,

Більш конкретно, якщо ви клацнете файл у навігаторі проекту, Xcode не «відкриє вкладку», а потім «закриє цю вкладку», коли ви клацнете інший файл у навігаторі проекту. Xcode відображає файл, на який ви клацнули в основному редакторі поточної вкладки.
Кріс Хенсон,

1
як щодо комбінації клавіш для обертання між вкладками?
ming yeow

26
Я по-дитячому хочу проголосувати проти, бо ненавиджу, як працюють вкладки! Змушує мене всіх Grrrr. :-)
Девід ван Брінк,

0

Якщо у вас увімкнена панель вкладок (Перегляд / Показати панель вкладок) і ви двічі клацнете файл, він з’явиться у власному вікні з однією вкладкою ( Переконайтеся, що панель вкладок увімкнена як у новому, так і в старому (основному) вікнах) ).

Тепер все, що вам потрібно зробити, це перетягнути це нове вікно з його вкладки та опустити його на панель вкладок головного вікна.

введіть тут опис зображення

Він залишатиметься закріпленим як окрема вкладка, показуючи цей файл.

Щоб змінити файл, відкритий на цій новій вкладці, перейдіть у розділ « Проект / Розкрити» в «Навігаторі проектів» , який відкриє навігатор проекту зліва.


3
Це "все, що вам потрібно робити" кожен раз? ;) Ви можете визначити (у Налаштуваннях -> Поведінка), що подвійне клацання має відкриватися в новій вкладці замість нового вікна, але це все одно не покращує жахливо реалізацію вкладок.
devios1

Ви прокоментували ігнорувати відповідь @ Daniel, але ваша відповідь не стосується того факту, що коли ви натискаєте один раз на файл, він змінює файл, відкритий на поточній вкладці. Це на відміну від більшості інших IDE, і це не має сенсу.
0x6A75616E
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.