VS Code IntelliSense not working? Quick fixes for autocomplete & missing signature help

Last Updated: · For: Beginner to Intermediate VS Code Users

Quick Summary

When VS Code's autocomplete, parameter hints (Signature Help), and "Go to Definition" stop working, it's usually due to one of four issues: incorrect language mode, language server errors, extension conflicts, or workspace trust problems.

This typically manifests as IntelliSense not working with broken autocomplete, or a non-functional Go to Definition. The fixes below will get you back up and running in under 5 minutes.

Quick Fix (3 minutes)

⚠️ Try This First!

  1. Check the language mode in the bottom status bar (.ts → TypeScript, .py → Python)
  2. Open Command Palette (Ctrl+Shift+P on Windows/Linux, ⌘+Shift+P on macOS) → run Developer: Reload Window
  3. Restart the language server for your language:
    • TypeScript/JavaScript: TypeScript: Restart TS Server
    • Python: Python: Select Interpreter → then Python/Pylance: Restart Language Server
    • C/C++: C/C++: Reset IntelliSense Database
VS Code Command Palette showing the 'Developer: Reload Window' command being executed

VS Code Command Palette with 'Developer: Reload Window' command

Problem Symptoms

  • Autocomplete suggestions don't appear or only show basic word completions
  • Parameter hints (Signature Help) are missing
  • F12 (Go to Definition) doesn't work
  • Status bar shows Plain Text instead of the correct language
  • Restricted Mode banner appears when opening folders

Detailed Solutions

1️⃣ Verify Correct Language Mode

Click the language name in the bottom-right of the status bar and select the correct language for your file extension.

2️⃣ Check Essential Extension Status

Make sure required extensions for your language are enabled:

  • JavaScript/TypeScript: TypeScript and JavaScript Language Features (built-in)
  • Python: Python + Pylance
  • C/C++: C/C++ (ms-vscode.cpptools)

3️⃣ Reload VS Code Window and Language Servers

  1. Open Command Palette (Ctrl+Shift+P / ⌘+Shift+P) → Developer: Reload Window
  2. Then restart language-specific servers:
    • TypeScript: Restart TS Server
    • Python/Pylance: Restart Language Server
    • C/C++: Reset IntelliSense Database

4️⃣ Configure Workspace Trust

If a Restricted Mode banner appears, open the Trust editor and mark the folder as trusted.

5️⃣ Verify Project Configuration Files

  • TS/JS: Ensure tsconfig.json or jsconfig.json exists and verify include paths
  • Python: Run Python: Select Interpreter and confirm the correct virtual environment
  • C/C++: Use C/C++: Edit Configurations (UI) to check includePath and standards

6️⃣ Diagnose Extension Conflicts

  • Command Palette: Extensions: Disable All Installed Extensions (temporary)
  • Terminal: code --disable-extensions
  • If the issue disappears, run Help: Start Extension Bisect to identify the culprit

7️⃣ Reset User Settings

Open Preferences: Open User Settings (JSON) and remove suspicious configuration entries.

✅ Final Checklist

  • Language mode matches file extension
  • Required extensions are enabled
  • Window/language server restart completed
  • Workspace is trusted
  • Configuration files are correct
  • Extension conflict check completed

Frequently Asked Questions

No autocomplete appears and it shows Plain Text.
Open Command Palette → change Language Mode to match your file extension.
TypeScript/ESLint stopped working after switching Git branches.
Open Command Palette → run TypeScript: Restart TS Server, then Developer: Reload Window.
Only Python IntelliSense isn't working.
Open Command Palette → run Python: Select Interpreter → choose correct environment → then Python/Pylance: Restart Language Server.
I've tried everything but nothing works.
Completely close and restart VS Code, or temporarily move your user data directory. (⚠️ Advanced users only)

Post a Comment

0 Comments