Tab order and selected tab not remembered by project

Hi, guys!

IDE, 8.5.4 nightly

I’ve noticed a real annoyance when switching projects and starting Komodo. While all of the tabs are opened, they are in whatever order Komodo decides to read them in, with the last one always the one selected.

Seems to me that the tab order and selected tab should be something that is saved in the project, as well as the open tabs.

This really becomes a big pain when I am bouncing back and forth between two related projects, such as an api and a consumer of the api. Is this a bug?

Thanks,
Wayne

EDIT: It’s also a big pain when I’ve got a lot of tabs open, order them in a useful fashion, and have my carefully crafted tab order disappear on the next invocation of the project.

For me it works.
Before closing:
After closing:
My config for Project and workspace:

Also I think there are no changes in project system between IDE 8.5.3 and IDE 8.5.4.

Thanks Defman… I was in error about exiting and restarting, tab order and selected file are remembered.

This only occurs when I switch between projects. It appears that the project is not being updated when it’s closed by switching to another project. Even if I explicitly save the project before switching. I think there’s a bug in the project save/restore logic when switching.

Thanks,
Wayne

EDIT: Hmmm… I assume that Komodo forces a project save on exit. I’m thinking that moving tabs and tab selections around doesn’t mark the project as dirty, so that when a save isn’t forced, the regular save sees a clean project and does nothing.

Yeah, after switching between projects active tab not remembered. It’s just select last tab (but tabs ordering remembered).

My tab ordering reverts every time.

I think it’s wrong just because for me all (without active tab) works normal.
I can write a simple macro to save project by Ctrl+S. (And it’s not override default file saving).
ko.commands.doCommand("cmd_saveProject");
For macro set trigger “Before file saving”.
I think this can help for project saving.

I’m not a macro whiz and I just want it to behave correctly. Perhaps the bug is a windows issue? Anyhow selected tab should be working and tab order should be working and is what happens on shutdown/restart IDE. I assume that for whatever the reason, you are only experiencing half the bug. Something is screwy re switching projects vs shutdown/restart.

I am opening the other project in a new Komodo window for now until the bug is fixed. But I would vastly prefer a fix.

Anyone else want to give this a try and see how your system is responding?

Today (if you live not in Russia - it was in 6-8PM, I think (I have some problems with time and geography, lol)) I check this on Windows. (I’m hate Windows, they have a really bad font smoothing and my eyes was full of blood when I’m work in Windows more than 1 hour, but I’m test this anyway)

Thanks, Defman.

I don’t know if that save will actually work, or if it’s the same command being called when I click save project (which appears to do nothing if all I’ve done is move around tabs and selected different tabs.)

Anyhow, If I’m not saving any files… Too bad there’s not a ‘before project close’ and a force project save. Anyhow, I hope the active state devs can weigh in about what’s happening.

I’m in NYC. Shouldn’t you be in bed? G’night, Defman. Thanks again.

http://docs.activestate.com/komodo/8.5/komodo-js-api.html
Command “cmd_saveProject” equal button “Save Project” and equal bind “Save Project”.

I think Komodo/ActiveState devs will add this option in IDE9. I’m asking for this option too, developers.

I should, but…
I’m sleep ~6-7 hours just because I’m hardcore web-developer from Russia and just because Summer! Weekends! (Also ATM I don’t have a bear (like true man from Russia), only cat). :wink:

Damn, I should stop thinking… I’m starting to think the behavior is due to tab order/selected tab being stored not in the project, but the workspace… Of course I’m just guessing. But that would explain the behavior I’m seeing.

I’m not sure myself about this myself, @toddw would be best suited to answer your questions but he is currently on vacation, he’ll be able to weigh in on monday.

As a workaround until then you could perhaps try this macro by @careyh which would allow you to manually save/restore your workspace: http://komodoide.com/resources/macros/cgchoffman--worspacesaverestoretool/

Hi, Defman!

I just realized that you probably weren’t making a change in your tab order. Tab order doesn’t come up randomly. but if I change the order of tabs, switch to another project and then switch back to the original project, the change in order is ‘forgotten’, reverting to the original order. Try that and see if you see the same issue.

Thanks.
Wayne

Okay, I’m testing it on Debian 7 and Windows 7 as far as I can. Thanks for report.
#####Debian#####

  • I have same issue if I don’t save my project.
  • I have same issue if I save project.
  • I don’t have same issue if I save project and restart Komodo
  • I don’t have same issue if I don’t save project and restart Komodo

I suggest for Komodo devs create a special xml or JSON file for each project contains tab ordering and recreates each time when I switch project, save project or close Komodo.

XML structure:

<project {unique_id}-{project_name}>
<tab position=1 file='{abs_path_to_file}'>
<tab position=2 file='{another_abs_path_to_file}'>
...
<tab position=n file='{n_abs_path_to_file}'>
</project>

JSON structure:

Project: {
name: {project-name},
unique_id: {project-unique-id},
tabs_order: {
tab_1: {
file: abs_path_to_file
},
tab_2: {
file: abs_path_to_file
},
...
tab_n: {
file: abs_path_to_file
}
}
}

#####Windows#####

Will be later

Hi, Defman…

Yeah, all of these results are consistent with saving the tab ordering/selected tab in the workspace and not in the project. I’m pretty sure that’s the case. That being the case, I think it’s a little more difficult given the ‘workspace and projects’ settings in preferences. In particular, the ‘workspace’ and ‘opening and closing projects’ sections.

It looks to me like the workspace is deliberately separated from the project in order to allow any combination of the project open/close settings. While the project has a recently opened file list, it seems that the workspace carries the burden of tab management. For those of us who have restore workspace, close all tabs on project close and open all tabs on project open, it seems pretty clear that what we want is each project to be it’s own ‘workspace’ for all intents and purposes.

I think it’s doable, but there’s more logic to it than just saving the data in the project.

Eagerly waiting for Todd to weigh in…

Wayne

Hmmm… what are the default settings for this?

cast @toddw
Don’t forget about summon users to topic if you need.

1 Like

Also can you make your posts more smaller and more informative if it’s faces to me? I know English but read a very big posts is difficult to me just because I’m not English pro.
Thanks.

1 Like

Sure, Defman, I’ll do my best to simplify my posts.
I try to follow Einstein’s Razor: “Everything should be made as simple as possible, but no simpler.”
But I often fail. :blush:

1 Like

I’ve decided to not fight the tide…

Instead of switching projects, when I need to reference a file in tightly coupled project, I’m just going to open it.

I went ahead and started adding directories to fast open to make that easier, using activestate’s go.py (which I had to update to 3 as I don’t use 2 anymore).

Activestate… Komodo should completely integrate with go.py… in particular, I would like to be able to add links to directories directly from the fast open dialog and not just links to files. I would like to be able to add files from go.py and not just directories.

Thanks,
Wayne

We do integrate with go.py - i.e. you can access Go Shortcuts by typing the name of the shortcut i.e. myshortcut/

Shortcuts can be either files or directories, go doesn’t care, though obviously the command line cannot perform “go myshortcut” if that’s a file (i.e. “cd myshortcut”).