Symptoms & Diagnosis
Visual Studio Code is generally fast, but heavy workspaces or bloated extension libraries can cause noticeable lag. You might experience delayed keystrokes, “Searching…” taking forever, or the dreaded high CPU usage notification.
To diagnose the root cause, use the built-in Process Explorer. Access it via Help > Open Process Explorer to see which extension or folder is consuming the most resources.

Troubleshooting Guide
The first step in fixing performance is identifying if the issue is core-related or extension-based. Use the following command to launch a clean instance of VS Code without any third-party plugins.
code --disable-extensions
If the performance improves, you should profile your startup to see which extension is the culprit. Run this command to generate a detailed status report of your environment.
code --status
Sometimes, the internal cache becomes corrupted or bloated, especially after multiple updates. You can clear the global storage and cache folders using the terminal commands below (macOS/Linux example).
rm -rf ~/Library/Application\ Support/Code/Cache/*
rm -rf ~/Library/Application\ Support/Code/CachedData/*
Adjusting specific editor settings can significantly reduce the load on your GPU and CPU. Use the table below to identify key settings to modify in your settings.json.
| Setting | Recommended Value | Performance Impact |
|---|---|---|
| editor.cursorBlinking | “solid” | Reduces UI redraw cycles. |
| editor.minimap.enabled | false | Saves memory on large files. |
| files.watcherExclude | “**/node_modules/**” | Drastically reduces CPU usage. |
Prevention
- Disable “Follow Symlinks” in the search settings to prevent recursive indexing of large directories.
- Use Workspace-specific extensions to ensure only necessary tools load for specific projects.
- Keep the “Files: Exclude” list updated to ignore build artifacts and temporary folders.
- Update VS Code and all extensions weekly to benefit from performance patches and memory leak fixes.
- Limit the number of open editors and tabs, as each consumes a portion of the shared process memory.