Наконец, Xcode добавил вкладки, но проблема в том, что они ведут себя очень странно. Например, они будут держать вкладку открытой только в том случае, если она была открыта на новой вкладке.
Если вы откроете файл, просто щелкнув в дереве проекта, Xcode закроет вашу вкладку, как только вы нажмете на другой файл в дереве.
Можно ли заставить их вести себя как настоящие вкладки и предотвратить их повторное использование Xcode? Как?
Ответы:
ОБНОВЛЕНИЕ на 2020 год:
Наконец, почти 10 лет спустя, Xcode 12.x теперь в основном решает описанную здесь проблему. На панели настроек навигации появился новый вариант стиля навигации , который управляет этим поведением.
В поведении есть некоторые новые особенности / варианты дизайна, которые кажутся понятными, но я все еще привыкаю к новому опыту. Например, вкладка будет использоваться повторно, если файл на этой вкладке не редактировался недавно; такая вкладка выделяется курсивом .
ПРЕДЫДУЩИЙ ОТВЕТ
Я не думаю, что в настоящее время вы можете добиться желаемого (или желаемого мной) поведения. Хотя вкладки работают как Safari, они не работают как вкладки в других популярных IDE (Visual Studio или Eclipse). И для меня это отстой.
В общем, я ожидаю, что вкладки IDE будут держать открытыми более 1 файла. Поэтому, если я щелкну файл в дереве проекта, я ожидаю, что он переключится на вкладку, которую я открыл с этим файлом, если я уже открыл ее. Вместо этого XCode 4 изменяет текущую вкладку на файл, который я щелкнул, создавая 2 вкладки с одним и тем же файлом. Наличие двух вкладок с одним и тем же файлом бесполезно.
Это заставляет пользователя сначала сканировать панель вкладок, чтобы увидеть, открыт ли файл в данный момент; если он не открыт, вы можете посмотреть дерево проекта. Но если вы сначала щелкнете по дереву проекта (что я обычно и делаю), то вас накажут, потому что вы только что убили вкладку.
источник
Я использую метод, аналогичный франкам:
Отсутствует большая особенность - переключиться на уже открытую вкладку, содержащую файл, если он есть (или остаться в текущей).
источник
На самом деле это не ответ, поскольку он содержит решение; Я в основном просто хочу присоединиться к схватке. Но голосование за вас заставит вас почувствовать себя лучше и доказать, что Apple ошибалась. :)
Проблема с реализацией вкладок в Xcode 4 заключается в том, что Apple реализовала их как вкладки рабочего пространства . Другими словами, создание новой вкладки, по сути, создает новое рабочее пространство, каждая со своими собственными субпанелями со своими конфигурациями и т. Д. По сути, это целая среда на каждой вкладке. С этим выбором возникает ряд проблем.
Это отличается от реализации вкладок файлов в большинстве IDE / текстовых редакторов, в которых вкладка (как правило) представляет один файл, а каждый файл имеет свою собственную вкладку.
Проблема с вкладками рабочего пространства состоит в том, что мы могли бы извлечь выгоду из очень большого количества потенциально различных рабочих пространств, что серьезно ограничивает фактическое использование вкладок таким образом. Помимо этого, дополнительные рабочие области просто становятся обузой, вводя больше вещей, которые должны беспокоить пользователя приложения: например, что такое вид навигатора, какой режим редактора активен (стандартный, помощник, версия), открыта консоль отладки и т. д. и т. д. Внезапное переключение на новую вкладку означает, что теперь вам нужно беспокоиться о возвращении среды в нужную вам форму, потому что есть большая вероятность, что другая вкладка не была оставлена в том состоянии, в котором вы ожидайте найти его. Это фактически препятствует использованию вкладок, потому что это вводит больше работы в рабочий процесс.
Вкладки файлов не имеют этой проблемы (не считая особых случаев, таких как разделенные панели просмотра), потому что все, что изменяется, - это файл, который вы просматриваете, а не вся ваша среда. Более того, при правильной реализации вкладки файлов отлично работают в качестве непосредственной истории, позволяя быстро переключиться на файл, с которым недавно работали, без особых усилий. Единственный способ сделать это в Xcode - явно настроить новую среду вкладок для каждого файла, с которым вы хотите работать, но вы должны быть осторожны, чтобы не изменить файл на этой вкладке, иначе ваш файл внезапно потеряется: опять же, больше работы для пользователя.
Вкладки рабочего пространства также значительно тяжелее, чем вкладки файлов, потому что нужно помнить гораздо больше, а переключение рабочих пространств требует гораздо большего, чем переключение файлов.
По правде говоря (и я думаю, что большинство согласится со мной в этом), для разработчика вкладки файлов гораздо более полезны, чем вкладки рабочей области, и в его нынешнем виде в Xcode по- прежнему отсутствует надлежащая реализация этой функции, которую многие сочли бы базовой необходимой функциональностью в IDE / редакторе.
источник
Xcode->Preferences->General->Double Click Navigation
и из списка выберитеUses Separate Tab
.источник
Preferences->Navigation->Double Click Navigation
Ну, не настоящий ответ, но мой личный обходной путь. Настоящая проблема для меня заключается в том, что файл, открытый на вкладке, так легко удаляется в xcode 4. Повторный поиск файла может занять много времени, поэтому мне нравится, когда они находятся во вкладке и остаются там.
Я решил это (каким-то образом) для себя, точно определив действия, которые я делаю, которые заставляют вкладку переключаться на другой файл и заменять их эквивалентными действиями, которые вместо этого открывают новую вкладку.
У меня есть две фиксированные вкладки для редактирования параметров, связанных с целью, и для просмотра результатов сборки. Я полностью отключил автоматическое переключение вкладок в настройках, потому что заметил, что это меня сильно отвлекает.
Мне бы очень хотелось получить что-то вроде панели избранного xcode 3 в xcode 4, это было так просто в использовании ..
источник
Думаю, мой ответ какое-то время не всплывет, но если вы хотите, чтобы это работало как Visual Studio или intellij (или, по крайней мере, ближе)
Настройки-> Общие-> Двойной щелчок по навигации-> Использует отдельную вкладку
Двойной щелчок по файлу перестанет открывать его в новом окне и откроет его в новой вкладке.
Сингл по-прежнему тупой и занимает вашу вкладку. Но если вы привыкнете к двойному щелчку (что я уже делал), это избавит вас от головной боли. Я полагаю.
источник
Я абсолютно ненавижу работу вкладок в Xcode. Однако единственный обходной путь, который я обнаружил, который работает достойно, - это использование ярлыков вкладок OSX: CTRL + CMD + -> CTRL + CMD + <-
источник
Я нашел свой путь в Preferences-Behaviors!
Сначала я ненавидел Xcode 4 из-за проблем с вкладками, обсуждаемых здесь, в основном потому, что отладочная информация продолжала открывать новые файлы во вкладках и изменять навигатор
в Behaviors вы можете определить вкладку Debug и сделать так, чтобы Run и Build переходили туда разными способами. во вкладке Debug я оставляю больше места для навигаторов слева и снизу
по тем же причинам у меня тоже есть вкладка "Найти"
другие вкладки предназначены для файлов, в которые я пишу. Я начинаю их с .h, который обычно достаточно мал, поэтому мне нужно только одно представление, а затем одним щелчком мыши в навигаторе я открываю 2-3 версии файла .cpp, поэтому Я могу установить их в тех местах, где есть недавние горячие точки в файле. затем закрываю навигаторы на этих вкладках
это не отменяет осторожность и уловки, данные в других ответах здесь, но делает их гораздо менее сложными
удачного кодирования!
источник
Я выяснил, что при нажатии optionaka altпри открытии файлов в навигаторе вы перейдете на вкладку, которая уже открыта с файлом, и откроется новая вкладка, если она еще не была открыта.
Этот метод также работает при открытии файлов с помощью cmdshift- Oи открытии предложения с помощью option- enterвместо простого enter...
Теперь, если бы был какой-то способ сделать это по умолчанию, то есть необходимость постоянно нажимать optionбыла бы устранена, это было бы большим шагом вперед.
Также я использую Behaviors, чтобы мои вкладки не использовались повторно после сбоев тестирования или сборки.
(Как и другим людям, мне совершенно не нравится поведение вкладок Xcode. Apple должна взглянуть на IntelliJ ...)
источник
Панель вкладок xcode настолько отстойна, что я думаю, что Apple должна улучшить функцию навигации по вкладкам, чтобы избежать следующих трех пунктов. 1. двойной щелчок по файлу позволит xcode открыть другую вкладку, если она там уже была. 2. для большего количества вкладок вкладка станет маленькой, и поэтому я не знаю, в каком файле на какой вкладке, я хочу, чтобы вкладка показывала полное имя 3. для еще большего количества вкладок новые вкладки будут скрыты вместо двух строк вкладок . Я хочу, чтобы он показывал две строки панелей вкладок.
источник
Вкладки в Xcode 4 работают так же, как вкладки в других местах Mac OS X, например в Safari и Terminal.
источник
Если у вас включена панель вкладок (Просмотр / Показать панель вкладок) и вы дважды щелкаете файл, он появляется в его собственном окне с одной вкладкой ( убедитесь, что панель вкладок включена как в новом, так и в старом (главном) окнах ).
Теперь все, что вам нужно сделать, это перетащить это новое окно с его вкладки на панель вкладок главного окна.
Он останется закрепленным в виде отдельной вкладки, отображающей этот файл.
Чтобы изменить файл, открытый на этой новой вкладке, перейдите в Project / Reveal в Project Navigator , который откроет навигатор проекта с левой стороны.
источник