I often find myself creating monolithic workspaces with several projects because I can quickly start a new project by typing “git clone” in the CLI and I can transfer files between the projects. The disadvantage to monolithic workspaces is that as I switch between projects tabs from various projects are jumbled together making it difficult context switch. A way to quickly open sub-workspaces would help me keep my tabs organized by making it so each project I start in a monolithic workspace can have its own workspace.
Some details of how I would want sub-workspaces to work:
- In the file browser, a “Open sub-workspace” item would be added to the context menu for folders. Clicking it would open a new browser tab with a sub-workspace with that folder at its root.
- A sub-workspace would share a terminal environment with its parent.
- A sub-workspace would not show up in my list of workspaces. It would run on the same machine as the parent workspace. All of its data would be stored in a .c9 directory in its root directory.
- A sub-workspace would be accessible at a url subpath of the main workspace - e.g. c9.io/nathanathan/parentWorkspace/subworkspace/directory/path/to/subworspace. Navigating to one of these URLs would create a sub-workspace at the given path regardless of whether one was previously opened there.