Detach Xcode Console -- via Terminal

I have been complaining on social media about the Xcode Console sticking to the bottom, and how I’d prefer a horizontal split etc.

And there have been good suggestions to e.g. open a new Console tab or window. (Thanks Dominik Hauser for the tip!) That didn’t stick because I needed to adjust the Xcode behaviors and sometimes that didn’t compose well with what I’ve been doing.

But what about using Terminal?

Terminal is a perfect console and it’s a separate app and its window is, well, ‘detached’ from Xcode by default.

It’s under the app Scheme settings, of all locations, below the localization options. I never look there, until I fiddled with localization today, and only when something did not work did I check out all the settings here in earnest. (If “banner blindness” on the web is a thing, there surely must be a “settings blindness” in Xcode – because there’re so many!)

Scheme editor ▶ Run ▶ Options -- there, at the bottom, you can switch to Terminal

As always, there are downsides, of course:

  • Xcode opens a new Terminal window every time, so it starts with the default settings, font, and size;
  • Quitting/Terminating the app will close the Terminal window;
  • The Xcode Console will not get the output, so there’s no log in your build history’s “Run” entries (see “Report navigator”, +9), i.e. the thing you could open in another Xcode window to detach the Console.
  • LLDB still runs in the Xcode Console, not the Terminal window. That means you’d need to check the Terminal for any debug log output. You’re still stuck in the small console pane at the bottom. (Separate “Run” tabs/windows show output but aren’t interactible.)
Terminal output silences the console (bottom right) and any “Run” windows you might have open (right).

I’m not using Terminal.app, I’m using iTerm 2 or the eshell, so I might get by with customizing the default Terminal profile to start with a palatable font and window size.

But the limitations above really make this more annoying than useful to me.

Also, from 6 test runs, one failed. Frank Gregor had no success getting this to work at all.

All in all, this is not the saving option we’ve been looking for.