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!
- Check the language mode in the bottom status bar (.ts → TypeScript, .py → Python)
- Open Command Palette (Ctrl+Shift+P on Windows/Linux, ⌘+Shift+P on macOS) → run Developer: Reload Window
- 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 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
- Open Command Palette (Ctrl+Shift+P / ⌘+Shift+P) → Developer: Reload Window
- 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.jsonorjsconfig.jsonexists and verifyincludepaths - Python: Run Python: Select Interpreter and confirm the correct virtual environment
- C/C++: Use C/C++: Edit Configurations (UI) to check
includePathand 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
0 Comments