How to disable Temporary Tabs in Xcode?

It's maddening. I just opened a file and now it's gone because I had the audacity to open another file. I've learned that I can double click the tab of the first file to make it a permanent tab... but, of course, I'll need to do that every time I ever open any file ever, and if I close that file and come back to it later I'm going to be constantly having to double click tabs just to make Xcode stop replacing my tabs for me.

It's nuts. It's driving me insane.

Please. Is there any way to just DISABLE the temporary tabs behavior? I don't find it helpful in any way and I find it to be destructive to my development workflows.

Hello @ kennywyland. Can you describe the behavior you're looking for? Do you want each click on a file to open in a new window/tab? Or something else?

Everyone has different workflows, and Xcode provides a handful of options to handle that. For example, I'm usually working on a single file at a time, but occasionally I need to see two or more files, so I have my preferences set to

  • Optional navigation: Uses Tab
  • Double-click navigation: Uses Tab

This way, I can either option-click or double-click a file to open it in a new tab. Once opened in a tab, if I click away and click back, it switches to that tab.

You can also select all the files you plan to work on and use File > Open in tab, which opens all of those files into their own tabs.

Additionally, since Xcode remembers open tabs, when I reopen the Xcode project, all of my tabs are still there.

If there's behavior you're looking for that's not present, I would encourage you to submit your suggestion so the Xcode engineering team can evaluate it. You can do so from the Feedback Assistant app or website.

A detailed report allows the engineering teams to investigate the issue, and contact you via Feedback Assistant if they need more details or when the issue is resolved.

You can add your Feedback number (FBXXXX) to this thread for tracking purposes.

—Jason.

Hi Jason,

I don't click files to open them. I use Cmd-Shift-O to open quickly, type the first couple letters and then hit enter. Having to scroll through hundreds of source files in my project is not an efficient way to open files especially when I know the name and can just type a couple of letters of the name and it jumps right to it. I can open them quickly with a few keystrokes and don't have to move my hands off of the keyboard. The other way I navigate to different files is to to Ctrl-Cmd click a function/property name to navigate to that file. Doing a Ctrl-Cmd-Click is already a pain, please don't tell me that I need to contort my hand to do a Ctrl-Option-Cmd-Click in order to return to the standard functionality for tabs.

:(

How do I want it to work? I'd like it to work the way that editor tabs have worked for as long as editor tabs were a thing in IDEs. When I open a tab, leave the tab open. I'll close it when I'm done. If I navigate to a different file, open that different file in a different tab and don't close my previous tab. I don't see a way to a way to add even more keys to the Open Quickly behavior and I'm not looking forward to having to make a weird claw with my hand in order to hold down even more keys to navigate to a function.

It's especially vexing when the file that I'm dealing with is a storyboard, because the storyboard(s) in our apps can get exceedingly large and it takes Xcode a little bit of time to load, parse, and render it. So, it causes Xcode to pause a bit while processing. Then if I try to open a UITableViewCell subclass after that, and it replaces my storyboard tab with the new class... I have to wait for Xcode to load, parse, and render the storyboard again when I need to look at it again 4 seconds later.

What I want is to remove the entire concept of Temporary Tabs from Xcode, but I'll settle for the ability to disable them for me.

Just leave my tabs alone. You want Xcode to keep replacing your tab? Cool. You do you. But give me the ability to just use normal tabs that I've been using for almost 25+ years.

This change to the editor tabs is the main reason I've moved to doing almost all of my development with JetBrains's AppCode instead of using Xcode. But I'm doing something right now that I use to use Xcode for and this problem has returned to my life, so I'm trying to find a way to get Xcode to behave in a way that isn't maddening.

You can also select all the files you plan to work on and use File > Open in tab, which opens all of those files into their own tabs.

This kind of thing sounds like something you could do when working on a beginner's project or a 1st year CS class project. This is not the kind of thing you can do with even a reasonably complex professional level app that has hundreds and hundreds of .m and/or .swift files.

Kenny

FB11750631

 I use Cmd-Shift-O to open quickly, type the first couple letters and then hit enter.

In my setup, pressing option-Return opens in a separate tab. Once open an tab, Return alone will switch to that open tab.

The other way I navigate to different files is to to Ctrl-Cmd click a function/property name to navigate to that file.

Ctrl-Command-click brings up a navigation window, and Return jumps to the selected definition. Option-Return will open it in a new tab.

This kind of thing sounds like something you could do when working on a beginner's project or a 1st year CS class project. This is not the kind of thing you can do with even a reasonably complex professional level app that has hundreds and hundreds of .m and/or .swift files.

Thanks for sharing your opinion. Everyone has different workflows, as you've clearly described, and I would respectfully ask that you not to appear dismissive or presumptive of anyone's experience or process just because it's not your experience or process.

FB11750631

Thank you for filing this. I see the engineering team has already engaged you in the feedback, and have asked for specific additional information so they can track down the performance issue in particular. You may want to file a separate report on just that, so it can be tracked by you more easily.

Regards,

—Jason.

I use Cmd-Shift-O to open quickly, type the first couple letters and then hit enter.

That still opens a temporary tab! It's not as quick as just clicking and it opens a temporary tab. Amazing apple still haven't even added this as an option.

It's end of 2024, Xcode 16.0 with AI things and you can't use tabs the way you want :( I miss AppCode so much :'(

It's absolutely insane. A lot of us work with different technologies and have to switch between various IDEs. Every single one of them, I can configure to behave roughly in the same predictable way, making switching between them seamless.

All of them, except xcode. Because Apple apparently knows better and has to force their way onto others. Simple things like a predictable tab management, or even reliable automatic removal of trailing whitespace just don't function properly here.

How to disable Temporary Tabs in Xcode?
 
 
Q