FR: IDE Locked Tab Improvements

The IDE tab and locked tab behavior has improved over the years, but I sitll find myself running into some productivity slowdowns.

The pattern I find myself doing over and over in Xojo:

  • opening a class in a new tab, which is locked - this lets me isolate my work to this one specific class in it’s own tab.
  • Later, I (or the IDE) does something which causes me to lose that locked tab, forcing me to take steps to recreate it.

The specific issues:

  1. It’s difficult to get a locked tab isolated to a single class. Typically, it takes me several steps. For example: 1. New Tab, 2. Go to Location, 3. type class name, 4. click OK, 5. Double click the class name (so the tab is navigated to the class only), 6. Click the lock icon on the tab.
  2. Locked tabs do not always stay “locked” - there are a number of actions you can take in the IDE which will navigate the tab to another location. These include (A) Search, (B) Clicking on a syntax error…
  3. The IDE sometimes prefers to create a new tab (or jumps to the wrong existing tab) on certain actions. For example: If you have 3 tabs open, and one of those is a locked tab centered on class “Foobar”, if you are in another class and right-click “Go to Method foobar.foofoo()” the IDE will jump to the first open tab and show Foobar. I would have expected it to go to the Existing, Locked, tab that’s open with Foobar.

Brainstorming feature requests - if there is agreement on any of these, I will submit individual ones to Feedback as feature requests:

  • All navigation actions in the IDE should have a “create in new tab” option (perhaps explicit via a menu item, or hidden using a keyboard command such as Option or Shift)
  • When jumping to code or an object, the IDE should, by default, go to an existing tab, if that tab is open, locked, and showing the object or class. This behavior can be overriden by option-clicking
  • The IDE has an existing option “Double click opens item in new tab” - this should be expanded with further options:
  • Preference: [ ] New tabs open navigated to the Class or Module
  • Preference: [ ] New tabs open Locked
  • Preference: [ ] Clicking search results jumps to existing tab
  • Preference: [ ] Clicking search results jumps to new tab (if no existing tab)
  • Preference: [ ] Clicking syntax error jumps to existing tab
  • Preference: [ ] Clicking syntax error jumps to new tab (if no existing tab)

Thoughts?

Haha - I just looked in the IDE, and realized that the preference:
[ ] Double click opens item in new tab
Was OFF - no wonder I was frustrated. Did I turn that feature off at some point? Did I never know it was available?

With that feature turned ON, when you double-click a class in the navigator, it does what I want: Opens a new tab, navigated to the class, and locked.

However, it always opens a new tab, which is not ideal.

Also, most of my other comments still hold - it’s still too easy to lose your locked tab.

1 Like

I think some of this will be addressed in the upcoming IDE Redesign (Xojo Roadmap item 2 at Roadmap - Xojo Documentation). This, of course, assumes that it’s anywhere near to their UI mockup they showed off at XDC a few years ago.

I’m with you. I almost always open an object into a new tab so I can focus on that object. And, like you, find it irritating that I lose the lock on that tab and have recreate it at some point.

  • Preference: [X] New tabs open navigated to the Class or Module
  • Preference: [X] New tabs open Locked
  • Preference: [ ] Clicking search results jumps to existing tab
  • Preference: [X] Clicking search results jumps to new tab (if no existing tab)
  • Preference: [ ] Clicking syntax error jumps to existing tab
  • Preference: [X] Clicking syntax error jumps to new tab (if no existing tab)
3 Likes

Thanks, I hadn’t seen that - glad it’s scheduled to get some more attention.

Heh. Well it’s item #2 on the list so I expect it to be this year. However, let’s all hope that they get it right the first time because it would really stink to sit through another 6(?) years of a bad IDE.

We basically traded tab overload for tab confusion. I’ve posted before that this design was supposed to be browser-like. Everything you do in a tab should have been isolated to that tab. In practice, that rule needed be broken a few times, and the whole concept got muddy. I’m not proud of how the tabs turned out.

Some tab behaviors are really strange. The one that bites me the most is search results. I could be in a locked tab for ItemA, do a search, click on a result that is inside ItemA, and the IDE will show the result in a different tab. It seems to avoid locked tabs entirely, instead of trying to find an existing tab for the item.

I’m very curious to see what the chosen solution is.

1 Like

I posted a request (#39008) early on to lock folders to tabs as well. I group project classes in a single folder to de-clutter the navigator.

Locking tabs has never worked. Why is a new tab opened with the same content if I accidentally click a method to hard or whatever I do?

1 Like
Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.