How to Enable Error Squiggles in VSCode

Summarize this article with:
You’re typing code. No red underlines. No warnings. Everything looks fine until you hit run and watch it crash.
Learning how to enable error squiggles in VSCode fixes this blind spot in minutes.
These red wavy underlines catch syntax errors, undefined variables, and code problems before you compile or execute anything.
Sometimes they get disabled accidentally. A misclick on the lightbulb menu. A workspace setting override. An extension conflict.
This guide walks you through 6 methods to restore real-time error highlighting for C/C++, Python, JavaScript, and TypeScript projects.
You’ll also find troubleshooting steps for when squiggles refuse to appear despite correct settings.
How to Enable Error Squiggles in VSCode

Enabling error squiggles in VSCode is the process of activating real-time error highlighting that displays red wavy underlines beneath code problems.
Developers need this feature when syntax errors go unnoticed, when IntelliSense stops showing diagnostic messages, or after accidentally disabling validation through the lightbulb menu.
This guide covers 5 methods requiring 2-3 minutes and basic familiarity with the VSCode interface.
Prerequisites
Before you start, make sure you have:
- Visual Studio Code version 1.60 or later installed
- A project folder open in the editor (squiggles won’t appear without one)
- The relevant language extension: C/C++ extension for C projects, Python extension for Python files, or ESLint for JavaScript
If you’re new to this code editor, understanding what VSCode is helps you grasp how extensions and settings interact.
Time needed: 2-3 minutes.
Step One: How Do You Access VSCode Settings?
Open the Settings panel using keyboard shortcuts or the menu to locate the error squiggles setting that controls code validation and syntax error detection in your workspace.
Action
- Keyboard shortcut: Press Ctrl + , (Windows/Linux) or Cmd + , (macOS)
- Menu path: File > Preferences > Settings
- Result: Settings panel opens with a search bar at the top
The search bar filters through hundreds of workspace configuration options instantly.
Purpose
All error highlighting toggles live in Settings. You can’t enable squiggles without accessing this panel first.
For direct JSON editing, learn how to open settings.json in VSCode instead.
Step Two: How Do You Enable Error Squiggles for C/C++ Projects?
Locate the CCpp.errorSquiggles setting in the search results, change its value to “enabled” or “enabledIfIncludesResolve,” and watch red squiggly lines appear under compiler errors immediately.
Action
- Settings search bar: Type “CCpp.errorSquiggles”
- Setting value: Select “enabled” from the dropdown
- Alternative value: Choose “enabledIfIncludesResolve” if you get false positives from unresolved includes
- Result: Red wavy underlines appear under code errors in .c and .cpp files
Purpose
The C/C++ extension controls its own error detection separately from other languages.
Without this setting enabled, the language server runs but hides all diagnostic squiggles from view.
This is a common frustration. Many developers click “Ignore this error” on the lightbulb and accidentally disable the entire feature.
Step Three: How Do You Enable Error Squiggles Using Command Palette?
Open the Command Palette with a keyboard shortcut, type “enable error squiggles,” and select the C/C++ command to activate syntax error highlighting without navigating through menus.
Action
- Keyboard shortcut: Press Ctrl + Shift + P (Windows/Linux) or Cmd + Shift + P (macOS)
- Alternative: Press F1
- Command search: Type “C/C++: Enable Error Squiggles”
- Result: Error squiggles activate immediately across all C/C++ files
Purpose
The Command Palette offers the fastest toggle. Two keystrokes plus a search gets you there.
This method also works for disabling squiggles. Just type “C/C++: Disable Error Squiggles” instead.
Knowing your way around the Command Palette speeds up everything in VSCode, from formatting code to switching color themes.
Step Four: How Do You Configure Error Squiggles in settings.json?
Create or edit the settings.json file in your .vscode folder to set workspace-level configuration that overrides global settings and persists across team members.
Action
- File location: Create .vscode folder in your project root if it doesn’t exist
- Create file: Add settings.json inside the .vscode folder
- Code to add:
"CCpp.errorSquiggles": "enabled" - Result: Workspace settings override any global user configuration
Full settings.json example:
“ { "CCpp.errorSquiggles": "enabled" } `
Purpose
Direct JSON editing gives you precise control over error validation settings.
Workspace settings travel with your project. Commit the .vscode folder to source control and every team member gets identical squiggle behavior.
Step Five: How Do You Enable Error Squiggles for Python?
Enable Python linting through the python.linting.enabled setting to activate Pylint error highlighting that marks syntax errors, undefined variables, and code problems with wavy underlines.
Action
- Settings search: Type “python.linting.enabled”
- Setting value: Check the box or set to true
- Select linter: Command Palette > “Python: Select Linter” > Choose Pylint, Flake8, or another option
- Result: Red underlines appear under Python errors
Make sure the Python extension is installed and you’ve selected the correct interpreter. Learn how to change the Python interpreter in VSCode if squiggles still don’t appear.
Purpose
Python uses a separate linting system from C/C++.
The language server handles IntelliSense, but linter configuration controls whether you see diagnostic squiggles in .py files.
Step Six: How Do You Enable Error Squiggles for JavaScript and TypeScript?
Enable the built-in validation settings for JavaScript and TypeScript to activate the Language Server Protocol error detection that highlights syntax problems without additional extensions.
Action
- Settings search: Type “javascript.validate.enable”
- Setting value: Set to true
- TypeScript: Also set “typescript.validate.enable” to true
- Result: Built-in language server marks syntax errors with red squiggles
For stricter code analysis, install ESLint and create an .eslintrc configuration file in your project root.
Purpose
VSCode includes native JavaScript and TypeScript validation. No extensions required for basic error squiggles.
ESLint adds style rules and catches more issues, but the built-in validator handles syntax errors out of the box.
Verification
Test that error squiggles work correctly after changing settings:
- Open any code file in your target language
- Type an intentional syntax error (missing semicolon, undefined variable, unclosed bracket)
- Check for red wavy underlines beneath the error
- Hover over the squiggle to see the diagnostic message tooltip
- Check the Problems panel (Ctrl + Shift + M) for the same error
If squiggles appear and the hover tooltip shows error details, configuration succeeded.
Troubleshooting
Issue: Error Squiggles Not Appearing After Enabling
Solution:
- Verify the language extension is installed: Extensions sidebar (Ctrl + Shift + X) > search for C/C++, Python, or ESLint
- Confirm a folder is open: File > Open Folder > select your project directory
- Restart VSCode completely: close all windows and reopen
- Reload window: Command Palette > “Developer: Reload Window”
Issue: Workspace Settings Override Global Settings
Solution:
- Open .vscode/settings.json in your project
- Look for “CCpp.errorSquiggles”: “disabled”
- Change “disabled” to “enabled” or delete the line entirely
- Save and reload the window
Workspace settings always win. If someone committed a settings.json with squiggles disabled, your global preferences won’t apply.
Issue: Error Squiggles Show False Positives
Solution:
- Update the language extension to the latest version
- Check includePath in ccppproperties.json for C/C++ projects
- Set errorSquiggles to “enabledIfIncludesResolve” to hide errors from unresolved headers
- For TypeScript, restart the TS Server: Command Palette > “TypeScript: Restart TS Server”
Issue: Python Squiggles Missing Despite Linting Enabled
Solution:
- Select a linter: Command Palette > “Python: Select Linter” > Pylint
- Install the linter: open the terminal in VSCode and run pip install pylint
- Check the correct Python interpreter is selected in the status bar
Related Processes
After enabling error squiggles, explore these related VSCode features:
- How to use Prettier in VSCode for automatic code formatting
- How to debug Python in VSCode for stepping through code execution
- How to run Python in VSCode for executing scripts directly
- How to comment in VSCode for keyboard shortcuts
- How to connect VSCode to GitHub for version control integration
Understanding the code review process helps you catch errors that squiggles miss.
For larger projects, proper defect tracking complements real-time error detection in your editor.
FAQ on How To Enable Error Squiggles In VSCode
Why Are Error Squiggles Not Showing in VSCode?
The CCpp.errorSquiggles setting might be disabled in your workspace or user settings.
Other causes include missing language extensions, no folder open in the editor, or conflicting settings in your .vscode/settings.json file that override global configuration.
How Do I Turn On Error Squiggles in VSCode?
Press Ctrl + , to open Settings, search for “CCpp.errorSquiggles,” and set it to “enabled.”
For Python, enable “python.linting.enabled” instead. JavaScript and TypeScript use “javascript.validate.enable” and “typescript.validate.enable.”
What Is the CCpp.errorSquiggles Setting?
This setting controls whether the C/C++ extension displays red wavy underlines for compiler errors and syntax problems.
Options include “enabled,” “disabled,” and “enabledIfIncludesResolve” which hides squiggles when header files can’t be found.
How Do I Enable Error Squiggles for Python in VSCode?
Enable linting through Settings by setting “python.linting.enabled” to true.
Then select a linter like Pylint or Flake8 via Command Palette > “Python: Select Linter.” Install the linter package if prompted.
Can I Customize the Color of Error Squiggles?
Yes. Open Settings and search for “workbench.colorCustomizations.”
Add “editorError.foreground” for error underline color and “editorWarning.foreground” for warnings. These override your current color theme settings.
What Is the Difference Between Enabled and EnabledIfIncludesResolve?
“Enabled” shows all detected errors regardless of include resolution status.
“EnabledIfIncludesResolve” only displays error squiggles when all header files resolve correctly. Use this option to reduce false positives in complex projects.
Why Do Error Squiggles Show False Positives?
The IntelliSense engine can’t find your include paths or the language server is outdated.
Fix this by configuring ccppproperties.json with correct includePath values, or update your language extension to the latest version.
How Do I Enable Error Squiggles Using the Command Palette?
Press Ctrl + Shift + P to open the Command Palette.
Type “C/C++: Enable Error Squiggles” and select the command. This instantly activates syntax error highlighting without navigating through Settings menus.
Do Error Squiggles Work for JavaScript and TypeScript?
Yes. VSCode includes built-in validation for both languages.
Set “javascript.validate.enable” and “typescript.validate.enable” to true in Settings. For stricter code analysis, install the ESLint extension and configure rules.
How Do I Disable Error Squiggles in VSCode?
Open Settings and set “CCpp.errorSquiggles” to “disabled.”
Alternatively, use Command Palette > “C/C++: Disable Error Squiggles.” For Python, set “python.linting.enabled” to false or select “Disable Linting” from the linter menu.
Conclusion
Knowing how to enable error squiggles in VSCode keeps your code validation active and catches problems before they compile.
You now have six methods: Settings panel, Command Palette, settings.json editing, and language-specific configurations for C/C++, Python, and JavaScript.
The CCpp.errorSquiggles setting handles most cases. Workspace overrides in the .vscode folder cause most “squiggles disappeared” issues.
Check the Problems panel (Ctrl + Shift + M) alongside the editor for a complete list of diagnostic messages and warning underlines.
When error markers still refuse to appear, verify your language extension is installed and a project folder is open.
These error indicators save hours of debugging. Enable them once, forget about configuration, and let IntelliSense catch mistakes as you type.
- 4 Scalable Hosting Providers for Growing Small Business Websites - April 9, 2026
- 7 Best Private Equity CRM Platforms for Middle-Market Deal Teams [2026 Comparison] - April 8, 2026
- Markdown Cheat Sheet - April 8, 2026






