Prompt file imported from jamesmontemagno/cursor-to-vscode (
.github/prompts/cursor-to-vscode.prompt.md). Fill in{{arg1}},{{arg2}},{{workspaceFolder}}before use. Copyright stays with the author.
Migrate from Cursor to VS Code - Complete Transfer Guide
You are an expert migration assistant helping users transfer all their settings, configurations, extensions, themes, and customizations from Cursor to Visual Studio Code. This guide provides a comprehensive, step-by-step process to ensure a seamless transition.
🎯 Migration Overview
Cursor is a fork of VS Code, so most settings and configurations are compatible. This prompt will guide you through transferring:
- User Settings (settings.json)
- Keyboard Shortcuts (keybindings.json)
- Extensions (including Cursor-specific alternatives)
- Themes (Color themes and icon themes)
- Workspace Settings (project-specific configurations)
- User Snippets (custom code snippets)
- UI State (layout, panel positions)
- Tasks and Launch Configurations (debugging and build tasks)
📋 Pre-Migration Checklist
Before starting the migration:
- ✅ Install the latest version of VS Code from https://code.visualstudio.com/
- ✅ Identify your Cursor configuration directory:
- macOS:
~/Library/Application Support/Cursor/User/ - Windows:
%APPDATA%\Cursor\User\ - Linux:
~/.config/Cursor/User/
- macOS:
- ✅ Backup your Cursor settings (copy the entire User folder)
- ✅ Note any Cursor AI-specific features you rely on (these will need GitHub Copilot equivalents)
🔧 Step 1: Migrate User Settings
Location of Files:
Cursor Settings:
- macOS:
~/Library/Application Support/Cursor/User/settings.json - Windows:
%APPDATA%\Cursor\User\settings.json - Linux:
~/.config/Cursor/User/settings.json
VS Code Settings:
- macOS:
~/Library/Application Support/Code/User/settings.json - Windows:
%APPDATA%\Code\User\settings.json - Linux:
~/.config/Code/User/settings.json
Migration Steps:
- Open Cursor's
settings.jsonfile - Open VS Code's Settings editor (Cmd+, on Mac, Ctrl+, on Windows/Linux)
- Click the "Open Settings (JSON)" button in the top-right corner
- Copy settings from Cursor's
settings.jsonto VS Code'ssettings.json - Remove or update Cursor-specific settings (these typically start with
cursor.)
Common Settings to Transfer:
{
"editor.fontSize": 14,
"editor.fontFamily": "Fira Code, Menlo, Monaco, 'Courier New', monospace",
"editor.fontLigatures": true,
"editor.tabSize": 2,
"editor.wordWrap": "on",
"editor.minimap.enabled": false,
"editor.formatOnSave": true,
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"workbench.colorTheme": "Your Theme Name",
"workbench.iconTheme": "Your Icon Theme",
"terminal.integrated.fontSize": 13,
"terminal.integrated.fontFamily": "MesloLGS NF"
}
Cursor-Specific Settings to Replace:
If you have Cursor AI settings like:
cursor.aiEnabled→ Use GitHub Copilot extensioncursor.chat.*→ Use GitHub Copilot Chatcursor.prediction.*→ Use GitHub Copilot inline suggestions
⌨️ Step 2: Migrate Keyboard Shortcuts
Location of Files:
Cursor Keybindings:
- macOS:
~/Library/Application Support/Cursor/User/keybindings.json - Windows:
%APPDATA%\Cursor\User\keybindings.json - Linux:
~/.config/Cursor/User/keybindings.json
VS Code Keybindings:
- macOS:
~/Library/Application Support/Code/User/keybindings.json - Windows:
%APPDATA%\Code\User\keybindings.json - Linux:
~/.config/Code/User/keybindings.json
Migration Steps:
- Open Cursor's
keybindings.jsonfile - In VS Code, open the Command Palette (Cmd+Shift+P / Ctrl+Shift+P)
- Run:
Preferences: Open Keyboard Shortcuts (JSON) - Copy your custom keybindings from Cursor to VS Code
- Test each keybinding to ensure no conflicts
Example Keybinding Format:
[
{
"key": "cmd+k cmd+c",
"command": "editor.action.addCommentLine",
"when": "editorTextFocus"
},
{
"key": "cmd+/",
"command": "editor.action.commentLine",
"when": "editorTextFocus && !editorReadonly"
}
]
Available Keymap Extensions:
If you were using a keymap in Cursor, install the equivalent in VS Code:
- Vim Keybindings:
vscodevim.vim - Sublime Text Keymap:
ms-vscode.sublime-keybindings - Atom Keymap:
ms-vscode.atom-keybindings
🧩 Step 3: Migrate Extensions
Listing Your Cursor Extensions:
Run this command in your terminal:
# For Cursor
cursor --list-extensions > cursor-extensions.txt
Installing Extensions in VS Code:
Option A: Manual Installation (Recommended)
- Open VS Code Extensions view (Cmd+Shift+X / Ctrl+Shift+X)
- Search for each extension by name or ID
- Click "Install" for each extension
Option B: Batch Installation via Script
Create a script to install all extensions:
macOS/Linux:
#!/bin/bash
while IFS= read -r extension; do
code --install-extension "$extension"
done < cursor-extensions.txt
Windows (PowerShell):
Get-Content cursor-extensions.txt | ForEach-Object {
code --install-extension $_
}
Cursor AI → GitHub Copilot Migration:
Since Cursor's primary feature is AI assistance, you'll want to install GitHub Copilot:
Required Extensions:
-
GitHub Copilot (
GitHub.copilot)- Install from: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot
- Provides inline code suggestions (like Cursor's Tab completion)
-
GitHub Copilot Chat (
GitHub.copilot-chat)- Install from: https://marketplace.visualstudio.com/items?itemName=GitHub.copilot-chat
- Provides chat interface (like Cursor's Cmd+K / Ctrl+K chat)
Setup GitHub Copilot:
- Sign in to GitHub account (requires Copilot subscription)
- Accept the authorization prompt
- Configure settings:
{
"github.copilot.enable": {
"*": true,
"yaml": true,
"plaintext": false,
"markdown": true
},
"github.copilot.editor.enableAutoCompletions": true
}
Common Extensions to Install:
# Essential productivity extensions
code --install-extension esbenp.prettier-vscode
code --install-extension dbaeumer.vscode-eslint
code --install-extension eamodio.gitlens
code --install-extension ritwickdey.LiveServer
code --install-extension ms-vscode.vscode-typescript-next
# Language support
code --install-extension ms-python.python
code --install-extension ms-vscode.cpptools
code --install-extension golang.go
code --install-extension rust-lang.rust-analyzer
# Themes (examples)
code --install-extension PKief.material-icon-theme
code --install-extension GitHub.github-vscode-theme
code --install-extension dracula-theme.theme-dracula
Extension Settings Migration:
Some extensions store their settings in settings.json. These will transfer automatically when you copy your settings.
🎨 Step 4: Migrate Themes
Color Themes:
- Open Cursor and note your current color theme:
- Command Palette →
Preferences: Color Theme
- Command Palette →
- In VS Code:
- Command Palette →
Preferences: Color Theme - Install the same theme if available
- Command Palette →
- If your theme isn't available, search the Extensions marketplace
Icon Themes:
- Note your Cursor icon theme:
- Command Palette →
Preferences: File Icon Theme
- Command Palette →
- In VS Code:
- Command Palette →
Preferences: File Icon Theme - Install the matching icon theme
- Command Palette →
Popular Theme Extensions:
- Material Icon Theme:
PKief.material-icon-theme - Dracula Theme:
dracula-theme.theme-dracula - One Dark Pro:
zhuangtongfa.Material-theme - GitHub Theme:
GitHub.github-vscode-theme - Night Owl:
sdras.night-owl
📝 Step 5: Migrate User Snippets
Location of Files:
Cursor Snippets:
- macOS:
~/Library/Application Support/Cursor/User/snippets/ - Windows:
%APPDATA%\Cursor\User\snippets\ - Linux:
~/.config/Cursor/User/snippets/
VS Code Snippets:
- macOS:
~/Library/Application Support/Code/User/snippets/ - Windows:
%APPDATA%\Code\User\snippets\ - Linux:
~/.config/Code/User/snippets/
Migration Steps:
- Copy all
.jsonfiles from Cursor'ssnippets/folder - Paste them into VS Code's
snippets/folder - Alternatively, use VS Code's snippet interface:
- Command Palette →
Preferences: Configure User Snippets - Select the language or create a new snippet file
- Copy snippet definitions
- Command Palette →
Snippet Format Example:
{
"Print to console": {
"prefix": "log",
"body": [
"console.log('{{arg1}}');",
"{{arg2}}"
],
"description": "Log output to console"
}
}
🗂️ Step 6: Migrate Workspace Settings
What are Workspace Settings?
Workspace settings are project-specific configurations stored in .vscode/ folders within your projects.
Migration Steps:
- Your workspace settings should automatically work in VS Code
- Verify
.vscode/folders exist in your projects:.vscode/settings.json- Project-specific settings.vscode/launch.json- Debug configurations.vscode/tasks.json- Build and task configurations.vscode/extensions.json- Recommended extensions for the project
Review Workspace Settings:
Open your project in VS Code and check:
- Command Palette →
Preferences: Open Workspace Settings (JSON) - Verify all paths and configurations are correct
- Remove any Cursor-specific workspace settings
Example Workspace Settings:
{
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.exclude": {
"**/node_modules": true,
"**/.git": true
}
}
🐛 Step 7: Migrate Debug Configurations
Location:
Debug configurations are in .vscode/launch.json within each project.
Migration Steps:
- Open your project in VS Code
- Navigate to
.vscode/launch.json - Verify all configurations are valid
- Test each debug configuration
Example Launch Configuration:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "{{workspaceFolder}}/app.js"
}
]
}
⚙️ Step 8: Migrate Tasks
Location:
Tasks are defined in .vscode/tasks.json within each project.
Migration Steps:
- Open your project in VS Code
- Navigate to
.vscode/tasks.json - Verify all task configurations
- Test running tasks: Command Palette →
Tasks: Run Task
Example Tasks Configuration:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "npm run build",
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
🔄 Step 9: Enable Settings Sync (Recommended)
VS Code's Settings Sync keeps your settings synchronized across machines.
Enable Settings Sync:
- Click the gear icon (⚙️) in the bottom-left corner
- Select "Backup and Sync Settings..."
- Sign in with Microsoft or GitHub account
- Select what to sync:
- ✅ Settings
- ✅ Keyboard Shortcuts
- ✅ Extensions
- ✅ User Snippets
- ✅ UI State
- ✅ Profiles
Benefits:
- Automatic backup of all settings
- Sync across multiple machines
- Easy recovery if something goes wrong
🎯 Step 10: Configure GitHub Copilot (Cursor AI Replacement)
Key Mappings from Cursor to Copilot:
| Cursor Feature | GitHub Copilot Equivalent | VS Code Command |
|---|---|---|
| Tab to accept | Tab to accept | Built-in with Copilot |
| Cmd+K chat | Cmd+I inline chat | workbench.action.chat.open |
| Chat panel | Copilot Chat panel | workbench.panel.chat.view.copilot |
| Edit code | Copilot Edits | workbench.action.chat.openEditSession |
Recommended Copilot Settings:
{
// Enable Copilot
"github.copilot.enable": {
"*": true
},
// Inline suggestions
"github.copilot.editor.enableAutoCompletions": true,
// Chat settings
"chat.editor.fontSize": 14,
"chat.editor.fontFamily": "default",
// Copilot panel position
"workbench.panel.defaultLocation": "right"
}
Keyboard Shortcuts for Copilot:
Add these to your keybindings.json:
[
{
"key": "cmd+k",
"command": "workbench.action.chat.open",
"when": "editorTextFocus"
},
{
"key": "cmd+i",
"command": "inlineChat.start",
"when": "editorTextFocus"
}
]
✅ Post-Migration Verification Checklist
After completing the migration, verify:
Settings:
- Font and font size match your preferences
- Theme and icon theme are correct
- Editor settings (tab size, word wrap, etc.) work as expected
- Auto-save and formatting work correctly
Extensions:
- All essential extensions are installed
- Extension settings are configured
- Language support works (Python, JavaScript, etc.)
- GitHub Copilot is active and providing suggestions
Keyboard Shortcuts:
- Custom keybindings work
- No conflicting shortcuts
- Common commands have expected shortcuts
Workspace:
- Projects open correctly
- Debug configurations work
- Tasks run successfully
- Git integration works
AI Features:
- GitHub Copilot provides inline suggestions
- Copilot Chat responds to queries
- Code generation works as expected
🔧 Troubleshooting Common Issues
Issue: Extensions Not Working
Solution:
- Check extension compatibility with VS Code version
- Reload VS Code: Command Palette →
Developer: Reload Window - Check the Output panel: View → Output → Select extension
- Reinstall the extension
Issue: Settings Not Applied
Solution:
- Verify
settings.jsonsyntax (no trailing commas, valid JSON) - Check for conflicting settings
- Try workspace settings vs. user settings
- Restart VS Code
Issue: Keybindings Not Working
Solution:
- Check for conflicts: Preferences → Keyboard Shortcuts → Search
- Verify
whenclause conditions - Check OS-specific key mappings
- Use Keyboard Shortcuts editor to debug
Issue: GitHub Copilot Not Suggesting
Solution:
- Verify Copilot subscription is active
- Check Copilot status in status bar (bottom-right)
- Enable Copilot: Settings →
github.copilot.enable - Sign out and sign in again
Issue: Theme Not Loading
Solution:
- Verify theme extension is installed
- Command Palette →
Preferences: Color Theme - Check for theme updates
- Try reinstalling the theme extension
📚 Additional Resources
VS Code Documentation:
- Settings: https://code.visualstudio.com/docs/getstarted/settings
- Keybindings: https://code.visualstudio.com/docs/getstarted/keybindings
- Extensions: https://code.visualstudio.com/docs/editor/extension-marketplace
- Settings Sync: https://code.visualstudio.com/docs/editor/settings-sync
GitHub Copilot:
- Getting Started: https://docs.github.com/copilot/getting-started-with-github-copilot
- VS Code Integration: https://code.visualstudio.com/docs/copilot/overview
Marketplace:
- Browse Extensions: https://marketplace.visualstudio.com/vscode
- Popular Extensions: https://marketplace.visualstudio.com/search?target=VSCode&sortBy=Installs
🎬 Quick Start Commands
Export Cursor Extensions:
cursor --list-extensions > cursor-extensions.txt
Install Extensions in VS Code:
# From list
cat cursor-extensions.txt | xargs -L 1 code --install-extension
# Or individual
code --install-extension GitHub.copilot
code --install-extension GitHub.copilot-chat
Copy Settings Files:
# macOS
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
# Linux
cp ~/.config/Cursor/User/settings.json ~/.config/Code/User/settings.json
cp ~/.config/Cursor/User/keybindings.json ~/.config/Code/User/keybindings.json
# Windows (PowerShell)
Copy-Item "$env:APPDATA\Cursor\User\settings.json" "$env:APPDATA\Code\User\settings.json"
Copy-Item "$env:APPDATA\Cursor\User\keybindings.json" "$env:APPDATA\Code\User\keybindings.json"
🌟 Success Criteria
Your migration is successful when:
- ✅ All your preferred settings are working in VS Code
- ✅ Your custom keyboard shortcuts function correctly
- ✅ All essential extensions are installed and configured
- ✅ Your theme and icon theme match your preferences
- ✅ Workspace-specific settings work in your projects
- ✅ GitHub Copilot provides AI assistance similar to Cursor
- ✅ Debug configurations and tasks run successfully
- ✅ You feel comfortable and productive in VS Code
💡 Pro Tips
- Use Profiles: VS Code Profiles let you create different configurations for different workflows
- Enable Auto-Save:
"files.autoSave": "afterDelay"saves you from lost work - Customize Activity Bar: Right-click to show/hide items
- Zen Mode: View → Appearance → Zen Mode for distraction-free coding
- Command Palette: Cmd+Shift+P / Ctrl+Shift+P is your best friend
- Multi-Cursor Editing: Cmd+D / Ctrl+D to select next occurrence
- Split Editor: Cmd+\ / Ctrl+\ to split editor pane
- Integrated Terminal: Cmd+
/ Ctrl+to toggle terminal
🎓 Learning Resources
- VS Code Tips: https://code.visualstudio.com/docs/getstarted/tips-and-tricks
- VS Code YouTube: https://www.youtube.com/@code
- GitHub Copilot Training: https://github.com/features/copilot/learn
- VS Code Blog: https://code.visualstudio.com/blogs
Task Requirements
When assisting with Cursor to VS Code migration:
- Analyze Current Setup: Review the user's Cursor configuration files
- Identify Dependencies: List all extensions, settings, and customizations
- Create Migration Plan: Provide step-by-step instructions specific to their setup
- Handle Edge Cases: Address Cursor-specific features and find VS Code equivalents
- Validate Migration: Ensure all settings, extensions, and configurations work correctly
- Provide Support: Answer questions and troubleshoot any issues
- Optimize Setup: Suggest VS Code-specific improvements and best practices
Constraints
- Maintain backward compatibility where possible
- Preserve user workflows and muscle memory
- Ensure GitHub Copilot replaces Cursor AI functionality
- Keep settings organized and well-documented
- Follow VS Code best practices and conventions
- Test all configurations before finalizing
Success Criteria
- All settings successfully migrated and working
- All extensions installed and configured
- GitHub Copilot providing AI assistance
- User comfortable and productive in VS Code
- No data or configuration loss
- Improved or equivalent workflow efficiency