Pausing on a breakpoint may focus the breakpoint in an editor that doesn't contain the breakpoint's file, even if another foreground editor does contain that file

Originator:brandon
Number:rdar://38233179 Date Originated:2018/03/07
Status:Open, Duplicate Of 26820432 Resolved:
Product:Xcode Product Version:9.2
Classification:UI Reproducible:Always
 
Summary:

Pausing on a breakpoint focuses the breakpoint in an editor that doesn't contain the breakpoint's file, even if another editor does contain that file. There are many configuration options available that affect this behaviour, but unfortunately none provide my desired behaviour. If I have arranged a set of files that are related to the task at hand in a set of editors in a single tab, the current behaviour often leads to losing one of the opened files and then having the paused one open more than once. It would make me more productive if I could keep a set of opened files open until they are changed or closed only by myself instead of automatically.

Steps to Reproduce:

Run or test a target in a way that pauses on a breakpoint in a file that may or may not be already open in an editor in the active tab.

Expected Results:

I can configure Xcode's navigation preferences or behaviours in a way so that when a breakpoint is hit and the breakpoint's file is already open in an editor in the active tab, that editor is focused without changing the contents of any editors. If the breakpoint's file is not open in the active tab, alternative behaviours could be: switch to an existing tab that contains the editor, open the file in a new assistant editor, open the file in an existing assistant editor, open the file in the primary editor. These fallback behaviours are more similar to the existing preference options in Xcode.

Actual Results:

If I only have a primary editor open, Xcode will open the breakpoint's file in that editor. If I have an assistant editor with the breakpoint's file open in it, depending on my chosen preferences the files open in the editors _may or may not_ change.

Navigation preferences > Navigation:

Uses Primary Editor: always focuses the breakpoint in the primary editor
Uses Focused Editor: if the primary editor is focused, the breakpoint is focused there. if an assistant editor is focused, the breakpoint is focused there instead.

Behaviour preferences > Running/Testing Pauses > Show editor as:

Current: opens breakpoint file in primary even if it’s open in an assistant
Standard: closes any assistant editors that are open, focuses the breakpoint in the (now only) primary editor
Assistant: keeps assistant layout, but if an assistant that doesn’t contain the breakpoint file is focused (i.e. there’s 3+ editors), opens the breakpoint file in that one even if another assistant already has it open
Versions: haven’t tried, probably not what i want

Version/Build:

Version 9.2 (9C40b)

Configuration:

Comments

Apple Developer Relations

Engineering has determined that your bug report is a duplicate of another issue and will be closed. The open or closed status of the original report your bug was duplicated to appears in a text box within the bug detail section of the bug reporter user interface. For security and privacy reasons, we don't provide access to the original bug yours was duped to. If you have any questions or concerns, please update your report directly at this link: https://bugreport.apple.com/.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!