Integrate VS Code extensions with Cursor IDE: compatibility, Open VSX registry, VSIX installation, conflict resolution, and essential extensions. Triggers on "cursor extensions", "cursor vscode extensions", "cursor plugins", "cursor marketplace", "open vsx", "vsix install".
84
82%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Passed
No known issues
Integrate VS Code extensions with Cursor IDE. Covers the Open VSX Registry, VSIX installation for Microsoft-exclusive extensions, conflict resolution with AI features, and recommended extension stacks.
Cursor uses the Open VSX Registry instead of Microsoft's VS Code Marketplace. This is because Microsoft's marketplace terms restrict access to VS Code products only.
Impact: Most popular extensions are on Open VSX. Some Microsoft-published extensions are not.
| Extension | Category |
|---|---|
| ESLint | Linting |
| Prettier | Formatting |
| GitLens | Git visualization |
| Docker | Container management |
| Python | Python language support |
| Pylance | Python analysis (community build) |
| Go | Go language support |
| Rust Analyzer | Rust language support |
| Tailwind CSS IntelliSense | CSS utilities |
| Auto Rename Tag | HTML/JSX editing |
| Error Lens | Inline error display |
| TODO Highlight | Comment highlighting |
| Thunder Client | API testing |
| Extension | Reason | Workaround |
|---|---|---|
| GitHub Copilot | Microsoft exclusive | Use Cursor's built-in AI (better integration) |
| Live Share | Microsoft exclusive | Use other collaboration tools |
| Remote - SSH | Microsoft exclusive | Install via VSIX |
| C# Dev Kit | Microsoft exclusive | Install via VSIX |
| IntelliCode | Microsoft exclusive | Cursor's Tab replaces this |
Cmd+Shift+X → search extension name → InstallFor extensions not on Open VSX:
.vsix file)Cmd+Shift+P > Extensions: Install from VSIX....vsix file# Install from Open VSX
cursor --install-extension dbaeumer.vscode-eslint
# Install from VSIX file
cursor --install-extension ~/Downloads/extension.vsix
# List installed extensions
cursor --list-extensions
# Uninstall
cursor --uninstall-extension dbaeumer.vscode-eslint| Extension | Conflict | Resolution |
|---|---|---|
| GitHub Copilot | Duplicate Tab/ghost text suggestions | Disable Copilot. Cursor's built-in AI is better integrated |
| TabNine | Duplicate inline completions | Disable TabNine |
| Codeium | Duplicate inline completions | Disable Codeium |
| IntelliCode | Duplicate completions | Disable IntelliCode |
| Vim | Ctrl+K/L/I keybinding conflicts | Remap AI shortcuts (see below) |
// keybindings.json
[
{
"key": "ctrl+l",
"command": "aichat.focus",
"when": "!vim.active || vim.mode == 'Normal'"
},
{
"key": "ctrl+k",
"command": "cursor.edit",
"when": "editorTextFocus && vim.mode == 'Normal'"
},
{
"key": "ctrl+i",
"command": "composer.open",
"when": "!vim.active || vim.mode == 'Normal'"
}
]Cmd+K Cmd+S > search for the conflicting shortcut > see which commands are bound > reassign or disable.
Required:
dbaeumer.vscode-eslint # Linting
esbenp.prettier-vscode # Formatting
bradlc.vscode-tailwindcss # Tailwind CSS (if using)
Recommended:
formulahendry.auto-rename-tag # HTML/JSX tag renaming
usernamehw.errorlens # Inline error display
wix.vscode-import-cost # Import size display
christian-kohler.path-intellisense # Path autocompleteRequired:
ms-python.python # Python language support
charliermarsh.ruff # Fast Python linter
Recommended:
ms-python.debugpy # Python debugger
njpwerner.autodocstring # Docstring generator
ms-toolsai.jupyter # Jupyter notebook supportGo:
golang.go # Official Go extension
Rust:
rust-lang.rust-analyzer # Rust language server
tamasfe.even-better-toml # TOML config filesms-azuretools.vscode-docker # Docker support
redhat.vscode-yaml # YAML validation
hashicorp.terraform # Terraform HCL support
ms-kubernetes-tools.vscode-kubernetes-tools # KubernetesExtensions affect editor performance. Audit regularly:
Cmd+Shift+P > Developer: Show Running Extensions| Extension | Issue | Fix |
|---|---|---|
| GitLens | High CPU on large repos | Disable for repos > 100K commits |
| Prettier (on save) | Slow on large files | Configure file size limit |
| TypeScript | High memory on large projects | Increase tsserver.maxTsServerMemory |
| Spell checker | CPU on large files | Exclude generated files |
// .vscode/settings.json (per project)
{
"extensions.ignoreRecommendations": true
}Or right-click an extension > Disable (Workspace) to disable only for the current project.
Cursor does not sync extensions between machines automatically like VS Code Settings Sync. To transfer:
# Export extension list
cursor --list-extensions > cursor-extensions.txt
# On new machine, reinstall all
while read ext; do cursor --install-extension "$ext"; done < cursor-extensions.txt70e9fa4
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.