Parable Workspaces is the elegant and efficient workspace manager for your projects in vscode, cursor and antigravity.
- Instant Project Switching: Quickly jump between saved workspaces without losing your flow.
- Visual Identification: Assign colors and icons to your workspaces for instant recognition in the Activity Bar.
- Quick Access: Open and switch workspaces instantly from the top of the editor with a single keyboard shortcut or via the Command Palette (
Alt + P). - Automatic Detection: Get notified to save new folders as workspaces as soon as you open them.
- Peacock Integration: Customize the editor's color scheme per workspace to never lose track of where you are.
| Platform | Link |
|---|---|
| VS Code | Visual Studio Marketplace |
| Antigravity / Cursor | Open VSX Registry |
- Activity Bar: Click on the Parable Workspaces icon in the left sidebar of your editor;
- Command Palette: Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) and select the commandParable: List/Open Workspaces; - Keyboard Shortcut: Press
Alt + P(orCmd + Option + Pon Mac) to open the switcher dropdown at the top of your editor.
You can save and register a new workspace in Parable Workspaces in two ways:
- Sidebar Button: Click the
+(plus) icon at the top of the Parable Workspaces sidebar panel. - Command Palette: Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) and run theParable: Save Current Workspacecommand.
Tip
Automatic Detection: When you open a new folder in VS Code that is not yet mapped, Parable Workspaces will automatically trigger a popup notification in the bottom right corner of the editor, asking if you would like to save/register this new workspace. This keeps your workspace list updated effortlessly!
| Shortcut | OS | Description |
|---|---|---|
Alt + P |
Linux / Windows | Opens the workspace switcher at the top of the screen |
Cmd + Option + P |
macOS | Opens the workspace switcher at the top of the screen |
Requirements
- Node.js 22.x+
- VS Code 1.85.0+
Running and Debugging
- Open the project in Visual Studio Code.
- Install dependencies:
npm install
- Press
F5to start a new VS Code instance with the extension enabled. - To debug the Webview:
- Open the Parable Workspaces view.
- Run the command:
Developer: Open Webview Developer Toolsfrom the Command Palette.
- To debug the Extension Host:
- Check the
Debug Consolein the main VS Code window for logs and errors. - Set breakpoints directly in the TypeScript files.
- Check the
Available Commands
| Command | Description |
|---|---|
npm install |
Installs dependencies |
npm run build |
Compiles the extension |
npm run lint |
Runs ESLint checks |
npm run test |
Runs extension tests |
npm run package |
Packages the extension for distribution |
npm run publish |
Publishes the extension to VS Code Marketplace |
npm run ovsx:publish |
Publishes to OpenVSX Registry |
Coverage reports are generated in coverage/ and use the nyc tool.
This project uses GitHub Actions for continuous integration and deployment. The following workflows are configured:
- Trigger: Push to
masterbranch or pull requests - Actions:
- Validates conventional commits
- Builds and validates the VS Code extension (lint, test, package)
- Trigger: Manual dispatch (
workflow_dispatch) - Version auto-detection: The workflow reads commits since the last
v*tag and applies semantic versioning rules (breaking change β major,feat:β minor, everything else β patch). - Jobs:
prepare_releaseβ auto-calculates versions, bumps files, updates changelogs, opens a PR targetingmaster, and creates thev<version>tagpublish_vscode(conditional) β packages and publishes to Visual Studio Marketplace and OpenVSXcreate_release(conditional) β creates separate GitHub Releases per plugin and attaches built artifacts
- Trigger: Push to
masteraffectinglandpage/**, or manual dispatch - Actions:
- Builds and deploys the landing page to Vercel
- Go to Actions β Release in the GitHub repository.
- Click Run workflow.
- The workflow will automatically:
- Detect the new version from commits since the last release tag using semantic versioning.
- Bump versions in
package.json. - Update the
CHANGELOG.mdwith commit entries. - Open a release PR with the generated changes targeting
master. - Create the
v<version>git tag. - Publish to the selected marketplaces.
- Create separate GitHub Releases per plugin with built artifacts.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
