How to Set Up Cursor and Migrate from VS Code in 2026: Complete Guide
Step-by-step guide to installing Cursor, importing your VS Code extensions and settings, and getting productive with AI-assisted coding in minutes.
DevTools Review
Cursor is a fork of VS Code with deep AI integration baked into every part of the editing experience. Because it shares VS Code’s foundation, migrating takes just a few minutes — you keep your extensions, themes, keybindings, and snippets while gaining access to Tab completions, inline editing with Cmd+K, Chat, Composer, and Agent mode.
This guide walks you through the entire process, from download to your first AI-powered edit.
Try Cursor FreePrerequisites
Before you start, make sure you have:
- A computer running macOS (10.15+), Windows (10+), or Linux (Ubuntu 20.04+, Fedora, Arch)
- VS Code installed (optional — only needed if you want to import existing settings)
- A GitHub or Google account for signing in to Cursor
- At least 500 MB of free disk space
- An internet connection for downloading, signing in, and using AI features
Step 1: Download Cursor
Head to cursor.com and click the download button. The site auto-detects your operating system and offers the correct installer.
- macOS: You’ll get a
.dmgfile. Open it and drag Cursor into your Applications folder. - Windows: Run the
.exeinstaller and follow the setup wizard. You can choose whether to add Cursor to your PATH during installation. - Linux: Download the
.AppImagefile. Make it executable withchmod +x cursor-*.AppImageand run it directly, or grab the.debpackage on Debian/Ubuntu-based systems.
The download is roughly 200–300 MB depending on your platform. Installation takes under a minute on most machines.
Step 2: Launch and Import VS Code Settings
When you open Cursor for the first time, you’ll see an onboarding wizard. The most important screen is the VS Code import prompt. Click Import to bring over:
- Extensions — all your installed VS Code extensions
- Themes and icon packs — your visual setup stays identical
- Keybindings — custom keyboard shortcuts carry over
- User settings — everything in your
settings.json(font size, tab width, formatting rules, etc.) - Snippets — any custom code snippets you’ve created
After importing, Cursor should look and feel nearly identical to your VS Code setup, but now with AI features layered on top.
If you skip this step during onboarding, you can trigger the import later from Cursor Settings > General > Account > Import VS Code Settings.
Tip: If you use VS Code Profiles, Cursor imports your default profile. You may need to reconfigure profile-specific settings manually.
Step 3: Sign In to Your Cursor Account
Cursor prompts you to create an account or sign in. You can authenticate with:
- GitHub
- Email and password
The free tier (Hobby) includes 2,000 completions and 50 premium requests per month — more than enough to follow this tutorial and evaluate the tool. The Pro plan ($20/month) removes completion limits and gives you 500 fast premium requests. The Business plan ($40/user/month) adds admin controls, enforced privacy mode, and centralized billing.
You can check your usage anytime at Cursor Settings > General > Account.
Step 4: Choose Your AI Model Preferences
Navigate to Cursor Settings > Models to configure which AI models power your experience. Cursor supports multiple providers:
- Chat, Composer, and Agent: GPT-4o, Claude 3.5 Sonnet, Claude Opus, Gemini models, and more
- Tab completions: Cursor’s own fine-tuned model runs by default, optimized for low-latency suggestions
You can enable or disable specific models from this screen. If you’re on the Pro plan, you can also add your own API keys for OpenAI, Anthropic, or Google under Cursor Settings > Models > API Keys to use models beyond your included quota.
Step 5: Index Your Codebase
Open a project folder with File > Open Folder (or Cmd+O on Mac / Ctrl+K Ctrl+O on Windows/Linux). Cursor automatically begins indexing your codebase. You’ll see a progress indicator in the bottom status bar.
Indexing builds a semantic understanding of your code so the AI can reference your actual functions, types, and project structure. Timing depends on project size:
| Project Size | Approximate Index Time |
|---|---|
| Small (under 1,000 files) | 5-10 seconds |
| Medium (1,000-10,000 files) | 15-45 seconds |
| Large (10,000+ files) | 1-3 minutes |
To speed things up and reduce noise, create a .cursorignore file in your project root:
node_modules
dist
build
.next
.git
coverage
*.min.js
vendor
This tells Cursor to skip directories that don’t contain useful context for AI suggestions.
Step 6: Try Tab Completions
Open any source file and start typing. Cursor’s Tab completion shows suggestions as grey ghost text. These are context-aware, pulling from your open files, project structure, and the indexed codebase.
Key shortcuts for Tab completions:
- Tab — accept the full suggestion
- Cmd+Right Arrow (Mac) / Ctrl+Right Arrow (Windows) — accept word by word
- Esc — dismiss the suggestion
- Alt+] / Alt+[ — cycle through alternative suggestions
Try writing a function signature and pausing for a moment. Cursor will suggest the implementation based on patterns it’s found in your codebase.
Step 7: Try Inline Editing with Cmd+K
Select a block of code (or place your cursor on an empty line) and press Cmd+K (Mac) or Ctrl+K (Windows/Linux). This opens the inline edit bar where you type a natural language instruction:
- “Add error handling with try/catch”
- “Make this function async”
- “Convert this to a switch statement”
- “Add TypeScript types to these parameters”
Cursor shows a diff preview of the proposed changes. Press Enter to accept or Esc to cancel. This is the fastest way to make targeted, single-location edits without leaving your code.
Step 8: Try Chat
Press Cmd+L (Mac) or Ctrl+L (Windows/Linux) to open the Chat panel on the right side. Chat is your AI pair programmer for asking questions and discussing code. Use @-mentions to give it precise context:
@filename.ts— reference a specific file@folder/— reference an entire directory@codebase— search across your full indexed project@docs— reference documentation you’ve added (see Pro Tips below)@web— let the AI search the web for current information
Example prompts to try:
Explain what @utils/auth.ts does step by step
What design patterns are used in @src/services/?
@codebase Where is the database connection configured?
Step 9: Try Composer and Agent Mode
Press Cmd+I (Mac) or Ctrl+I (Windows/Linux) to open Composer. This is Cursor’s multi-file editing interface. Describe a change that spans several files, and Composer generates coordinated edits across all of them:
- “Add a
createdAttimestamp to the User model, update the migration, and modify the API response” - “Rename the
processDatafunction totransformPayloadeverywhere it’s used” - “Create a new API endpoint for deleting user accounts, including the route, controller, and tests”
Agent mode takes this further. Toggle it on in the Composer panel. In Agent mode, Cursor autonomously:
- Reads and analyzes relevant files across your project
- Runs terminal commands (with your approval)
- Iterates on errors by reading output and adjusting its approach
- Creates and modifies multiple files in sequence
Agent mode is ideal for larger tasks like “Set up ESLint with the Airbnb config” or “Add pagination to all list endpoints.”
Step 10: Configure Key Settings
Open Cursor Settings (click the gear icon in the top-right, or press Cmd+Shift+J on Mac) and review these recommended settings:
Privacy Mode
Under General > Privacy, enable Privacy Mode to ensure none of your code is stored on Cursor’s servers or used for training. This is important for proprietary or enterprise codebases.
Tab Completion Behavior
Under Features > Cursor Tab, configure:
- Whether Tab completions trigger automatically or require manual invocation
- The aggressiveness of multi-line suggestions
- Whether to show suggestions inside comments and strings
Chat and Composer Defaults
Under Features, configure:
- Default model for Chat and Composer interactions
- Always search codebase — automatically include project context in every query
- Auto-run terminal commands — let Agent mode execute commands without asking each time (use with caution)
Pro Tips for a Better Setup
Create a .cursorrules file. Add this to your project root to give the AI standing instructions about your codebase:
You are working in a Next.js 14 app with TypeScript and Tailwind CSS.
Use the App Router with server components by default.
Follow the repository's existing patterns for error handling.
Always use named exports. Never use default exports.
Write tests using Vitest and Testing Library.
Cursor reads this file automatically and applies it to every AI interaction in the project.
Index external documentation. Go to Cursor Settings > Features > Docs, click Add, and paste URLs for your key dependencies (React docs, your ORM docs, your design system). Then use @docs in Chat to ask questions grounded in those actual docs rather than potentially outdated training data.
Use the terminal integration. When a command fails in Cursor’s integrated terminal, open Chat and ask “Why did that fail?” Cursor reads the recent terminal output and provides a targeted diagnosis.
Set Cursor as your default editor. Run cursor --install-extension from the command line to install the cursor CLI. Then you can open any project with cursor . from the terminal, just like you would with code . in VS Code.
Troubleshooting Common Issues
Extensions not working after import? Some VS Code extensions need to be reinstalled manually in Cursor. Open the Extensions panel (Cmd+Shift+X), find the broken extension, uninstall it, and reinstall. Extensions that rely on VS Code-proprietary APIs (such as some Microsoft-published extensions) may not be compatible.
Slow or stuck indexing?
Make sure you have a .cursorignore file excluding node_modules, .git, dist, and other large generated directories. If indexing seems stuck, try closing and reopening the project folder.
High CPU or memory usage?
This is common during initial indexing and should settle within a few minutes. If it persists, reduce your indexing scope with .cursorignore and close any unused workspace folders. Restarting Cursor can also help.
AI suggestions feel generic or irrelevant?
Add a .cursorrules file with project-specific context. Make sure relevant files are open in tabs — Cursor uses open files as additional context for completions. Also verify that codebase indexing has completed (check the status bar).
“You’ve reached your usage limit” message? You’ve hit the free tier cap. Check your usage at Cursor Settings > General > Account. Consider upgrading to Pro, or wait for the monthly reset.
Cmd+K or Cmd+L not responding? Another extension may have captured those keybindings. Go to Keyboard Shortcuts (Cmd+K Cmd+S), search for the shortcut in question, and resolve any conflicts.
VS Code and Cursor conflicting? You can run both side by side without issues. They use separate configuration directories. However, if you’ve set both as file association handlers, you may need to choose one as your default in your OS settings.
Next Steps
You’re set up and ready to go. Here are some resources to keep leveling up:
- Read our full Cursor review for a deep dive into features, performance, and pricing
- See how Cursor stacks up in our Cursor vs Copilot comparison
- Check out Cursor pricing details to pick the right plan for your needs
- Explore our Cursor tips and tricks to become a power user
Written by DevTools Review
We're developers who use AI coding tools every day. Our reviews are based on real-world experience, not press releases. We test with real projects and share what we actually find.