cursor-to-vscode-migration

Migrate editor setup from Cursor to VS Code. Cleans old VS Code data, copies settings/keybindings from Cursor, removes Cursor-specific config keys, and installs all extensions fresh. Use when switching from Cursor to VS Code.

16 stars

Best use case

cursor-to-vscode-migration is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Migrate editor setup from Cursor to VS Code. Cleans old VS Code data, copies settings/keybindings from Cursor, removes Cursor-specific config keys, and installs all extensions fresh. Use when switching from Cursor to VS Code.

Teams using cursor-to-vscode-migration should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/cursor-to-vscode-migration/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/tools/cursor-to-vscode-migration/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/cursor-to-vscode-migration/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How cursor-to-vscode-migration Compares

Feature / Agentcursor-to-vscode-migrationStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Migrate editor setup from Cursor to VS Code. Cleans old VS Code data, copies settings/keybindings from Cursor, removes Cursor-specific config keys, and installs all extensions fresh. Use when switching from Cursor to VS Code.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Cursor to VS Code Migration

## Overview

Automate the full migration from Cursor to VS Code on macOS: clean stale VS Code data, transfer settings/keybindings, filter out Cursor-specific config, and install extensions.

## Workflow

### 1) Pre-flight checks

Before doing anything, verify the environment:

- Confirm Cursor config exists at `~/Library/Application Support/Cursor/User/` and `~/.cursor/extensions/`.
- Confirm VS Code is installed (`code --version`).
- Warn the user if VS Code is currently running -- it should be closed during migration.

If either Cursor config or VS Code is missing, stop and inform the user.

### 2) Audit old VS Code data

Check what exists and report sizes:

```shell
du -sh ~/.vscode/ 2>/dev/null
du -sh ~/Library/Application\ Support/Code/ 2>/dev/null
ls ~/.vscode/extensions/ 2>/dev/null | wc -l
```

Show the user what will be cleaned and **confirm before proceeding**.

### 3) Clean old VS Code data

Only after user confirmation, clean in this order:

**a) Remove old extensions:**

```shell
rm -rf ~/.vscode/extensions/
```

**b) Remove old settings:**

```shell
rm -f ~/.vscode/settings.json
rm -f ~/Library/Application\ Support/Code/User/settings.json
rm -f ~/Library/Application\ Support/Code/User/keybindings.json
```

**c) Clear caches and storage (optional, confirm separately):**

Run `scripts/clean_vscode_caches.sh` to remove all cache/storage directories under `~/Library/Application Support/Code/` while preserving `User/` and `machineid`.

### 4) Copy settings and keybindings from Cursor

```shell
cp ~/Library/Application\ Support/Cursor/User/settings.json \
   ~/Library/Application\ Support/Code/User/settings.json

cp ~/Library/Application\ Support/Cursor/User/keybindings.json \
   ~/Library/Application\ Support/Code/User/keybindings.json
```

If keybindings.json doesn't exist in Cursor, skip it silently.

### 5) Remove Cursor-specific settings

After copying, strip keys that are Cursor-specific and meaningless in VS Code. Run:

```shell
node ~/.codex/skills/cursor-to-vscode-migration/scripts/strip_cursor_keys.cjs \
  ~/Library/Application\ Support/Code/User/settings.json
```

This removes any keys matching `cursor.*` and `cursor.cpp.*` patterns from the JSON. Report which keys were removed.

### 6) Copy snippets (if they exist)

```shell
if [ -d ~/Library/Application\ Support/Cursor/User/snippets ]; then
  cp -r ~/Library/Application\ Support/Cursor/User/snippets/ \
        ~/Library/Application\ Support/Code/User/snippets/
fi
```

### 7) Install extensions

Do NOT copy extension binaries from `~/.cursor/extensions/`. Install fresh from the VS Code marketplace.

**a) Extract extension IDs from Cursor:**

```shell
node ~/.codex/skills/cursor-to-vscode-migration/scripts/list_cursor_extensions.cjs
```

This reads `~/.cursor/extensions/`, extracts publisher.name IDs, and filters out known Cursor-only extensions (see skip list below).

**b) Install into VS Code:**

```shell
cat /tmp/extensions_to_install.txt | xargs -L 1 code --install-extension --force
```

**Skip list** -- extensions that only work in Cursor or are no longer needed:

- `openai.chatgpt`

If an extension fails to install, log it and continue. Report all failures at the end.

### 8) Post-migration checklist

After installation completes, report:

- Number of extensions installed successfully
- Any extensions that failed to install
- Any Cursor-specific settings keys that were removed
- Remind the user to:
  - Open VS Code and verify everything looks correct
  - Enable Settings Sync (Settings > Turn on Settings Sync) to back up the new config
  - Close and reopen VS Code if any extensions show update errors

## Error handling

- If a step fails, do not proceed to the next step. Report the error and ask the user how to proceed.
- Never force-delete anything without user confirmation.
- If VS Code CLI (`code`) is not available, instruct the user to install it: Command Palette > "Shell Command: Install 'code' command in PATH".

## Platform note

This skill targets macOS. Key path differences for Linux:

| macOS | Linux |
|-------|-------|
| `~/Library/Application Support/Cursor/` | `~/.config/Cursor/` |
| `~/Library/Application Support/Code/` | `~/.config/Code/` |

Related Skills

cursor-agent

16
from diegosouzapw/awesome-omni-skill

A comprehensive skill for using the Cursor CLI agent for various software engineering tasks (updated for 2026 features, includes tmux automation guide).

copilot-vscode

16
from diegosouzapw/awesome-omni-skill

VS Code Copilot platform reference: .agent.md all frontmatter fields, built-in tool names, agent types, context engineering, subagents, handoffs, MCP config, SKILL.md integration, custom instructions. Load when working with custom agents, tool lists, context strategy, or any VS Code Copilot platform feature.

db-migration

16
from diegosouzapw/awesome-omni-skill

Supabase migration patterns, RLS audit, schema validation. Guides safe DDL operations.

auth0-migration

16
from diegosouzapw/awesome-omni-skill

Use when migrating from existing auth providers (Firebase, Cognito, Supabase, custom auth) to Auth0 - covers bulk user import, gradual migration strategies, code migration patterns, and JWT validation updates

chat-migration-bridge-v45

16
from diegosouzapw/awesome-omni-skill

Quantum-classical hybrid checkpoint система. Используй когда (1) нужны cutting-edge технологии (real quantum algorithms, transformers, GNN), (2) research/innovation проекты с advanced ML requirements, (3) готовность к pre-AGI capabilities (15 функций), (4) hardware доступен (GPU/TPU recommended). 115 функций (39% real implementations vs 12% simulated), 5 сек, 99.7/100. Bridging v4.0→v5.0 AGI. Для researchers и innovators.

vue-3-nuxt-3-development-cursorrules-prompt-file-cursorrules

16
from diegosouzapw/awesome-omni-skill

Apply for vue-3-nuxt-3-development-cursorrules-prompt-file. --- description: Applies to Vue 3 and Nuxt 3 projects, enforcing best practices for frontend development including TypeScript, TailwindCSS, and Composition API. globs: **/*.{vue,ts,js,jsx,tsx}

tailwind-css-nextjs-guide-cursorrules-prompt-file-cursorrules

16
from diegosouzapw/awesome-omni-skill

Apply for tailwind-css-nextjs-guide-cursorrules-prompt-file. Prompt Generation Rules: - Analyze the component requirements thoroughly - Include specific DaisyUI component suggestions

nextjs15-react19-vercelai-tailwind-cursorrules-prompt-file-cursorrules

16
from diegosouzapw/awesome-omni-skill

Apply for nextjs15-react19-vercelai-tailwind-cursorrules-prompt-file. --- description: Best practices for using Tailwind CSS in Next.js 15 and React 19 applications, including responsive design, custom configurations, and performance optimization. globs: app/**/*

Creating Cursor Rules

16
from diegosouzapw/awesome-omni-skill

Expert guidance for creating effective Cursor IDE rules with best practices, patterns, and examples

angular-typescript-cursorrules-prompt-file-cursorrules

16
from diegosouzapw/awesome-omni-skill

Apply for angular-typescript-cursorrules-prompt-file. --- description: General rules for Angular components, focusing on code quality, performance, and maintainability. globs: **/*.component.ts

angular-migration

16
from diegosouzapw/awesome-omni-skill

Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.

cursor-desktop-guide

16
from diegosouzapw/awesome-omni-skill

Guide for using Cursor desktop features including AGENTS.md, Rules, Skills, Commands, Subagents, MCP, and Hooks. Use when the user asks about Cursor configuration, features, or how to set up the IDE environment.