Cursor IDE: AI-Powered Development Setup Guide
Tech Setup3 min read
TS
Published August 2, 2026 · Editorial policy

What is Cursor?
Cursor is a fork of VS Code with built-in AI coding assistance. It uses Claude, GPT-4, and other models to help you write, debug, and understand code — all within a familiar editor.
Installation
Download
- Go to cursor.sh
- Download for Windows/macOS/Linux
- Install and open
Import VS Code Settings
Cursor auto-detects VS Code on first launch:
- "Import VS Code Settings" → Yes
- Extensions migrate automatically
- Keybindings transfer
Core Features
Chat (Ctrl+L)
Open the AI chat panel:
- Ask questions about your code
- Get explanations for complex functions
- Generate code snippets
- Refactor suggestions
Cmd+K (Inline Edit)
Select code → press Ctrl+K:
- Type instructions: "add error handling"
- AI modifies the selected code in place
- Accept/reject changes
Tab Completion
Cursor suggests code as you type:
- Press
Tabto accept - Press
Escto dismiss - Press
Ctrl+→to accept word-by-word
Composer (Ctrl+I)
Multi-file edits:
Ctrl+Iopens Composer- Describe changes: "Add a login page with email validation"
- AI creates/modifies multiple files
- Review and apply changes
Configuration
Settings (Ctrl+,)
AI Settings
{
"cursor.ai.enabled": true,
"cursor.chat.model": "claude-3.5-sonnet",
"cursor.tab.enabled": true,
"cursor.tab.maxTokens": 1000
}
Editor Settings
{
"editor.fontSize": 14,
"editor.fontFamily": "JetBrains Mono, Consolas, monospace",
"editor.lineHeight": 1.6,
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": true,
"editor.minimap.enabled": false,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.suggestSelection": "first",
"editor.wordWrap": "on"
}
Terminal Settings
{
"terminal.integrated.fontFamily": "JetBrainsMono Nerd Font",
"terminal.integrated.fontSize": 13,
"terminal.integrated.defaultProfile.windows": "PowerShell"
}
Keybindings (keybindings.json)
[
{ "key": "ctrl+shift+/", "command": "editor.action.toggleBlockComment" },
{ "key": "ctrl+d", "command": "editor.action.addSelectionToNextFindMatch" },
{ "key": "alt+up", "command": "editor.action.moveLinesUpAction" },
{ "key": "alt+down", "command": "editor.action.moveLinesDownAction" },
{ "key": "ctrl+shift+k", "command": "editor.action.deleteLines" },
{ "key": "ctrl+enter", "command": "editor.action.insertLineAfter" },
{ "key": "ctrl+shift+enter", "command": "editor.action.insertLineBefore" },
{ "key": "alt+shift+up", "command": "editor.action.copyLinesUpAction" },
{ "key": "f12", "command": "editor.action.revealDefinition" },
{ "key": "alt+f12", "command": "editor.action.peekDefinition" },
{ "key": "ctrl+k ctrl+f", "command": "editor.action.formatDocument" }
]
Essential Extensions
Must-Have
| Extension | Purpose |
|---|---|
| Prettier | Code formatting |
| ESLint | JavaScript linting |
| GitLens | Git blame, history |
| Error Lens | Inline error display |
| Better Comments | Color-coded comments |
| Import Cost | Show package sizes |
| DotENV | .env file syntax |
Productivity
| Extension | Purpose |
|---|---|
| Todo Tree | Find TODO/FIXME |
| Bracket Pair Colorizer | Nested bracket colors |
| Path Intellisense | Auto-complete file paths |
| Auto Rename Tag | HTML tag sync |
| Thunder Client | API testing |
| REST Client | HTTP requests in editor |
Git
| Extension | Purpose |
|---|---|
| GitLens | See who changed what |
| GitHub Actions | Workflow support |
| Conventional Commits | Commit message helper |
AI Workflows
Code Review
- Open a file with changes
Ctrl+L→ "Review this code for bugs and improvements"- AI suggests fixes
- Apply changes with
Cmd+K
Generate Tests
- Select a function
Ctrl+I→ "Write unit tests for this function using Jest"- Review generated tests
- Accept and adjust
Explain Code
- Select unfamiliar code
Ctrl+L→ "Explain what this code does step by step"- Get detailed explanation
Refactor
- Select messy code
Ctrl+K→ "Refactor this to use the Strategy pattern"- AI restructures code
Debug
Ctrl+L→ "I'm getting this error: [paste error]"- AI suggests fix with explanation
- Apply and test
.cursorrules
Create .cursorrules in project root for context:
# Project: Tech Setup Blog
- Framework: Next.js 16, React 19
- Language: TypeScript strict
- Styling: Tailwind CSS 4
- Database: Supabase (PostgreSQL)
- Package manager: npm
- Code style:
- Use const over let
- Prefer early returns
- Use TypeScript interfaces over types
- No semicolons
- Single quotes
- Trailing commas
Performance Tips
- Disable extensions you don't use
- Close unused tabs — each tab uses memory
- Use workspace settings instead of user settings
- Exclude folders in settings:
{
"files.exclude": {
"**/node_modules": true,
"**/.next": true,
"**/dist": true
}
}
- Restart extensions host periodically:
Ctrl+Shift+P→ "Restart Extension Host"
Keyboard Shortcuts Cheat Sheet
| Action | Shortcut |
|---|---|
| Quick Open | Ctrl+P |
| Command Palette | Ctrl+Shift+P |
| AI Chat | Ctrl+L |
| Inline Edit | Ctrl+K |
| Composer | Ctrl+I |
| Toggle Terminal | Ctrl+grave |
| Split Editor | Ctrl+Shift+backslash |
| Go to Definition | F12 |
| Rename Symbol | F2 |
| Find in Files | Ctrl+Shift+F |
| Replace in Files | Ctrl+Shift+H |
| Toggle Comment | Ctrl+/ |
| Duplicate Line | Shift+Alt+Down |
| Move Line Up/Down | Alt+Up/Down |
| Select Next Occurrence | Ctrl+D |
| Multi-Cursor | Alt+Click |
Syncing Settings
Export Settings
Ctrl+Shift+P→ "Export Settings"- Save to cloud drive or dotfiles repo
Import on New Machine
Ctrl+Shift+P→ "Import Settings"- Select exported file
Git Dotfiles
# Backup settings
cp ~/AppData/Roaming/Cursor/User/settings.json ~/dotfiles/cursor-settings.json
Related articles

AI & Development
OpenCode CLI Guide: AI-Powered Coding for Developers

AI & Development
OpenAI Codex CLI: Getting Started with Autonomous Coding

AI & Development