Cursor editor and how to sync your settings
A guide to Cursor AI editor and syncing your configuration across devices
Cursor is an AI-powered fork of Visual Studio Code that embeds language models directly into the editor. Unlike bolt-on AI extensions, it treats AI as a core feature: inline editing, codebase-aware chat, and context-sensitive suggestions are built in rather than added on.
It stays compatible with VS Code’s extension ecosystem and uses a subscription model. Your existing workflow mostly carries over, with new tools for code generation and refactoring on top.
Settings synchronization
Cursor inherits VS Code’s settings sync infrastructure but runs it independently. Your VS Code settings won’t transfer automatically—syncing between the two requires manual work.
Enabling settings sync
Open the account menu (bottom-left corner) or use Command Palette > Settings Sync: Turn On. Sign in with GitHub, Microsoft, or email to sync across devices.
What syncs:
- Editor preferences and keybindings
- UI state and layout
- Installed extensions (list only, not the extensions themselves)
- Code snippets and workspace settings
- AI model preferences and history
Extensions don’t transfer—only the list of what you had installed. Fresh installs require re-downloading from the marketplace.
Manual migration from VS Code
To copy your VS Code config to Cursor:
# macOS/Linux
cp -r ~/.vscode/extensions ~/.cursor/extensions
cp ~/.config/Code/User/settings.json ~/.config/Cursor/User/settings.json
cp ~/.config/Code/User/keybindings.json ~/.config/Cursor/User/keybindings.json
# Windows (PowerShell)
Copy-Item -Recurse "$env:USERPROFILE\.vscode\extensions" "$env:APPDATA\Cursor\User\extensions"
Copy-Item "$env:APPDATA\Code\User\settings.json" "$env:APPDATA\Cursor\User\settings.json"
Most VS Code-compatible extensions work in Cursor without changes.
Settings location
Config files are in:
- macOS:
~/Library/Application Support/Cursor/User/ - Linux:
~/.config/Cursor/User/ - Windows:
%APPDATA%\Cursor\User\
settings.json holds editor preferences; keybindings.json has keyboard shortcuts. Extension settings appear in settings.json under their own namespace.
Configuration
AI model selection
Cursor supports GPT-4, Claude, and Gemini. Model choice affects response quality, speed, and token usage.
Set defaults under Settings > Cursor > Model:
- Faster models (GPT-3.5, Claude Instant) for autocomplete and quick queries
- Slower, more capable models (GPT-4, Claude Opus) for complex refactoring and architecture decisions
- Switch per-task using the model picker in the chat panel
Context management
Cursor indexes your codebase and uses that index to generate relevant suggestions. Two things are worth configuring:
Workspace indexing: On first open, Cursor indexes the project. Large repos (>10k files) can be slow to index. Exclude build artifacts and dependencies using .cursorignore:
node_modules/
dist/
build/
.next/
coverage/
Manual context: Use @file and @folder in chat to point the AI at specific files or directories:
@src/components/Header.vue How can I optimize this component?
Privacy controls
Cursor sends code to AI providers for analysis. Privacy options:
- Privacy Mode: Disables cloud AI and runs only local analysis
- Code indexing: Controls whether embeddings are stored in the cloud
- Telemetry: Turn off usage analytics under
Settings > Telemetry
For sensitive codebases, use Privacy Mode or configure a self-hosted model via the API.
AI features
Inline editing
Cmd+K (macOS) or Ctrl+K (Windows/Linux) opens inline AI editing. Describe what you want in plain English, and Cursor generates a diff. You can accept, reject, or keep prompting before anything is applied.
It has enough context from the surrounding code that suggestions tend to fit rather than being generic.
Codebase chat
Cmd+L opens the chat panel, which has access to your project structure. Useful for asking how something is implemented, getting explanations for unfamiliar code, or generating boilerplate that matches your existing patterns.
Chat history persists within a session, so you can build on earlier answers without re-explaining context.
Terminal integration
The terminal accepts natural language prefixed with #. Type a description, and Cursor suggests the command:
# find all TypeScript files modified in the last week
# Cursor suggests: find . -name "*.ts" -mtime -7
Useful for commands you half-remember.
Performance
AI features require network access and use API tokens. Check Settings > Cursor > Usage to monitor consumption against your subscription limit.
On large codebases, the initial workspace index takes time. After that, subsequent opens use a cached index. Excluding unnecessary directories (via .cursorignore) makes indexing faster and suggestions more accurate.
Offline, cloud AI is disabled but the editor still works. Extensions that depend on Cursor’s AI API will either degrade gracefully or stop working.
Compatibility
Cursor follows VS Code’s stable channel and typically lags one or two versions behind. Very new VS Code features may not be available yet.
Most marketplace extensions work without issues. Extensions using VS Code’s proposed (unstable) APIs may have problems—worth checking before migrating tools you depend on.
LSP integrations work the same as in VS Code. TypeScript, Python, Rust, and Go language servers need no extra configuration.
Wrapping up
Settings sync is the main operational difference from VS Code. Enable it on first launch, or use the manual migration if you’re coming from an existing VS Code setup.
The most useful configuration decisions are: which model you use for what tasks, what you exclude from indexing, and whether Privacy Mode is appropriate for your codebase.
Be awesome.
Keep building magic. ✊
Petar 🥃