[Feature request] VSCode-like workspace

69 views
Skip to first unread message

Krysl H

unread,
Aug 4, 2021, 9:27:06 AM8/4/21
to OneCommander
google  groups is too inconvenient to use, so i made a  Trello list "workspace-for-oc".
If I have a new idea, I will add it in the trello list.

Milos Paripovic

unread,
Aug 4, 2021, 8:25:13 PM8/4/21
to OneCommander
Thanks but there is already a Trello linked from the OC homepage. I am afraid I don't get the reference to workspace and some other items. It that is from VS code, I don't use it so I'd need to know how exactly that is supposed to work.

Krysl H

unread,
Aug 5, 2021, 7:31:27 AM8/5/21
to OneCommander
I know there is a Trello ToDo list.  I found that you are using it, so for convenience I also edited things on it and added you as an administrator. 
Google groups is based on email, so it's impossible to edit what I had posted, but trello could, that's why I use it. Using Google groups to discuss things and trello to edit complex requirements is the right way I think.

My title may be misleading. My mother tongue is Chinese, and I often read technical documents in English but rarely write or speak in English, so there may be some words that do not express the meaning well. I am sorry that I may not be able to improve my English writing level in a short time.

The way OC works now is what I call default workspace — closing OC and opening all tabs are restored. The difference with the workspace I mentioned is that all open windows use "default workspace" by default.
I planned to use a little trick to simulate multiple workspaces, but it failed because now OC only allows me to open one instance. But only one workspace at a time is still possible: 

D:\Program Files\.ocsettings (OneCommander Settings Folder)
D:\Program Files\OneCommander (original install dir)
  OneCommander.exe
  Settings -> ..\.ocsettings  (symbolic link)

MyWorkspaceA
  myfileA
  myfileB
  .ocsettings (OneCommander Settings Folder)
  .oc -> D:\Program Files\OneCommander (Junction)
  oneCommander.exe -> .\.oc\OneCommander.exe (symbolic link)

MyWorkspaceB
  myfileA
  myfileB
  .ocsettings (OneCommander Settings Folder)
  .oc -> D:\Program Files\OneCommander (Junction)
  oneCommander.exe -> .\.oc\OneCommander.exe (symbolic link)

I record a video to show it:
GoogleDrive: OneCommander Multi Workspaces.mp4

Krysl H

unread,
Aug 5, 2021, 1:11:14 PM8/5/21
to OneCommander
Oh, I misunderstood the meaning of "reference to", resulting  misunderstanding the whole sentences. It's my fault, hope you can forgive my bad english.
I found an official document introducing the "workspace" of VSCode, which should be helpful.  What is a VS Code "workspace"?

I quoted a passage from the article:
The concept of a workspace enables VS Code to:
  • Configure settings that only apply to a specific folder or folders but not others.
  • Persist task and debugger launch configurations that are only valid in the context of that workspace.
  • Store and restore UI state associated with that workspace (for example, the files that are opened).
  • Selectively enable or disable extensions only for that workspace.   
The point is the two sentences above that I bolded. Corresponding to OC is:
  • Favorites Groups can be different in different workspace.
  • Store and restore UI state for different workspace
video in my previous email show how a basic workspace should be. The above two points can be achieved, just can not open multiple different workspaces at the same time.

I found that you mentioned before:
    "The problem with multiple instances would be that one would overwrite settings of the other instance. 
     Windows within the same instance may be easier, but it would require a large rewrite, so I'll consider it when new framework comes out."
it seems like if use completely different setting dirs, implement "multiple instances" maybe not too difficult?(still forbid to open multiple instances in the same settings folder)
It would be great if there is a command line: 
    onecommander.exe 
        -s, --settings-dir <settings dir> 
        -w, --workspace-dir <workspace dir>    (a folder contains settings dir (Maybe it can be called ".oc/"), if there's no setting dir, OC prompts to create a new configuration or copy an existing configuration)
        -c, --copysettings [<settings dir>]    (copy settings from default settings dir or given dir)

Milos Paripovic

unread,
Aug 5, 2021, 5:29:00 PM8/5/21
to OneCommander
Thanks for the detailed explanation. It is partially implemented, so some of it is fixed from that old thread you have found. If you click New window button at the bottom left, you will see a dialog where you can give new window a name (or select a previously used one)... so it is basically a way to have multiple workspace. Each window has it's own layout and position saved, AND unique set of tabs. But having its own favorites is missing. I will think of a way for each window to have its own favorites, so until then you can use custom order of tabs per saved window. 
So it is the same limitation that only one instance is possible, but it supports multiple windows. Once you make another window and give it a name, you will see what json files are created in the settings dir. A switch to start with a different window/workspace would be useful so I will add that too. I'll see what else VS Code offers in that workflow.
And I should probably rename that from windows to workspaces, and maybe move it somewhere else as probably nobody has figured out that feature.
Reply all
Reply to author
Forward
0 new messages