{"id":35107549,"url":"https://github.com/benpm/vscode-sync-storage","last_synced_at":"2026-05-21T09:04:21.081Z","repository":{"id":329716981,"uuid":"1119441457","full_name":"benpm/vscode-sync-storage","owner":"benpm","description":"vscode extension that allows storing arbitrary files inside of compressed strings, and then syncing them with built-in settings sync","archived":false,"fork":false,"pushed_at":"2025-12-21T10:47:42.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-23T02:48:42.813Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benpm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-19T09:23:53.000Z","updated_at":"2025-12-21T10:47:15.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/benpm/vscode-sync-storage","commit_stats":null,"previous_names":["benpm/vscode-sync-storage"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/benpm/vscode-sync-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benpm%2Fvscode-sync-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benpm%2Fvscode-sync-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benpm%2Fvscode-sync-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benpm%2Fvscode-sync-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benpm","download_url":"https://codeload.github.com/benpm/vscode-sync-storage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benpm%2Fvscode-sync-storage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28082916,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-27T02:00:05.897Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-12-27T18:27:38.342Z","updated_at":"2026-05-21T09:04:21.075Z","avatar_url":"https://github.com/benpm.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](icon.png)\n\n# VS Code Sync Storage\n\n[![Build](https://img.shields.io/github/actions/workflow/status/benpm/vscode-sync-storage/package.yml?branch=main\u0026label=build)](https://github.com/benpm/vscode-sync-storage/actions/workflows/package.yml)\n[![Publish](https://img.shields.io/github/actions/workflow/status/benpm/vscode-sync-storage/publish.yml?label=publish)](https://github.com/benpm/vscode-sync-storage/actions/workflows/publish.yml)\n[![Version](https://img.shields.io/visual-studio-marketplace/v/benpm.vscode-sync-storage)](https://marketplace.visualstudio.com/items?itemName=benpm.vscode-sync-storage)\n[![Installs](https://img.shields.io/visual-studio-marketplace/i/benpm.vscode-sync-storage)](https://marketplace.visualstudio.com/items?itemName=benpm.vscode-sync-storage)\n\nA VS Code extension that allows you to store and sync arbitrary files across your VS Code instances using the built-in Settings Sync feature.\n\n## Features\n\n- **Virtual Workspace**: Open a special workspace that stores files in the extension's internal storage\n- **Automatic Sync**: All files are automatically synced across your VS Code instances via Settings Sync\n- **Simple File Operations**: Create, edit, delete, and organize files just like a normal workspace\n- **Persistent Storage**: Files are stored in VS Code's global state and persist across sessions\n\n## Usage\n\n### Opening the Sync Storage Workspace\n\n1. Open the Command Palette (`Ctrl+Shift+P` or `Cmd+Shift+P`)\n2. Type \"Open Sync Storage Workspace\" and select the command\n3. Your Sync Storage workspace will open\n\n### Creating Files\n\n**Option 1: Using the Command**\n1. Open the Command Palette\n2. Type \"Sync Storage: New File\"\n3. Enter the filename when prompted\n\n**Option 2: Using the Explorer**disc\n1. Right-click in the Explorer when in the Sync Storage workspace\n2. Select \"New File\" from the context menu\n3. Enter the filename\n\n### Managing Files\n\n- **Edit files**: Just open and edit them like normal files\n- **Delete files**: Right-click and select \"Delete\" or use the Delete key\n- **Create folders**: Right-click and select \"New Folder\"\n- **Clear all files**: Run \"Sync Storage: Clear All Files\" from the Command Palette\n\n## How It Works\n\nThe extension creates a virtual file system using the `syncstore://` URI scheme. All files are:\n- Stored in VS Code's `globalState` storage\n- Serialized to base64 strings for efficient storage\n- Marked for sync using `setKeysForSync()` to enable cross-device synchronization\n- Automatically synced when you have Settings Sync enabled in VS Code\n\n### Architecture\n\n```\n┌─────────────────────────────────────────┐\n│        VS Code Editor                   │\n│  ┌───────────────────────────────────┐  │\n│  │  Sync Storage Workspace           │  │\n│  │  (syncstore:// URI scheme)        │  │\n│  └───────────────────────────────────┘  │\n│              ↓                          │\n│  ┌───────────────────────────────────┐  │\n│  │  FileSystemProvider               │  │\n│  │  (Handles file operations)        │  │\n│  └───────────────────────────────────┘  │\n│              ↓                          │\n│  ┌───────────────────────────────────┐  │\n│  │  globalState Storage              │  │\n│  │  (Base64 serialized files)        │  │\n│  │  ← setKeysForSync(['files'])      │  │\n│  └───────────────────────────────────┘  │\n│              ↓                          │\n│  ┌───────────────────────────────────┐  │\n│  │  VS Code Settings Sync            │  │\n│  │  (Syncs across devices)           │  │\n│  └───────────────────────────────────┘  │\n└─────────────────────────────────────────┘\n```\n\n## Requirements\n\n- VS Code 1.85.0 or higher\n- Settings Sync enabled in VS Code for cross-device synchronization\n\n## Development\n\n### Building from Source\n\n```bash\n# Install dependencies\nnpm install\n\n# Compile TypeScript\nnpm run compile\n\n# Watch for changes\nnpm run watch\n\n# Package the extension\nnpm run package\n```\n\n### Installation\n\n1. Build the extension using `npm run package`\n2. Install the `.vsix` file in VS Code using \"Extensions: Install from VSIX\"\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenpm%2Fvscode-sync-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenpm%2Fvscode-sync-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenpm%2Fvscode-sync-storage/lists"}