Skip to content

Disabling Unwanted Suggestions and Hints in VSCode

VS Code's intelligent code suggestions often boost productivity, but what happens when they become intrusive? For many Python developers, typing common words like None gets interrupted by unwanted auto-suggestions like NotImplemented that replace text when pressing Enter. Instead of boosting efficiency, this behavior forces constant corrections and interrupts workflow.

Understanding the Problem

When VS Code's suggestions trigger at inconvenient times:

  1. Popup suggestions appear automatically during typing
  2. Pressing Enter unexpectedly accepts suggestions instead of creating new lines
  3. Suggestions override intentional code (like replacing None with NotImplemented)
  4. Repeated interruptions lead to frustration and wasted time

This occurs due to VS Code's:

  • Inline suggestion feature
  • Auto-complete accept behaviors
  • Per-language quick suggestions settings

Step-by-Step Solutions

Preserve suggestions but prevent accidental acceptance when pressing Enter:

  1. Open VS Code Settings:
    File > Preferences > Settings (Windows/Linux) or
    Code > Preferences > Settings (macOS)

  2. Search for "accept suggestion"

  3. Select Off for Accept Suggestion On Enter

INFO

This solution allows suggestions to appear but prevents accidental replacement when pressing Enter. Use Tab to accept suggestions intentionally.

Method 2: Disable Quick Suggestions Entirely

Completely hide the suggestions dropdown:

  1. In Settings:
  2. Search for "quick suggestions"
  3. Set all dropdowns to Off under Editor › Quick Suggestions
    • Other
    • Comments
    • Strings

WARNING

Disabling this will turn off all IntelliSense suggestions in the editor, not just problematic ones.

Method 3: Configure Advanced Settings Manually

For granular control using settings.json:

  1. Open settings.json:
    Ctrl+, (Windows/Linux) or Cmd+, (macOS) then click the JSON icon
    OR use Ctrl+Shift+P > Preferences: Open Settings (JSON)

  2. Add these Python-specific configurations:

json
{
  // Disable inline ghost text suggestions
  "editor.inlineSuggest.enabled": false,
  
  // Disable function parameter hints
  "editor.parameterHints.enabled": false,
  
  // Language-specific settings
  "[python]": {
    // Disable automatic suggestion triggering
    "editor.quickSuggestions": {
      "other": false,
      "comments": false,
      "strings": false
    },
    
    // Disable word-based suggestions
    "editor.suggest.showWords": false,
    
    // Disable code snippet suggestions
    "editor.suggest.showSnippets": false
  }
}

Method 4: Disable Specific Suggestion Types

Refine suggestions without eliminating all help:

  1. In Settings:
  2. Disable unwanted suggestion types:
    • Editor > Suggest: Show Words
    • Editor > Suggest: Show Snippets
    • Editor > Suggest: Show Keywords
  3. Keep Editor > Suggest: Show Methods enabled for method suggestions

Key Settings Explained

SettingDefaultRecommendedEffect
Accept Suggestion On EnteronoffPrevents Enter from accepting suggestions
Quick SuggestionsonoffDisables automatic suggestion popups
Inline Suggest: EnabledonoffRemoves ghost text preview suggestions
Parameter HintsonoffDisables function parameter tooltips

Productivity Preservation

Disable only problematic features rather than all assistance:

  1. Keep Accept Suggestion On Enter disabled
  2. Maintain core IntelliSense functionality
  3. Use Ctrl+Space to manually trigger suggestions

Final Recommendations

For most Python developers experiencing the None → NotImplemented issue:

  1. First try: Disable Accept Suggestion On Enter (Method 1)
  2. If persistent: Add the [python] configuration from Method 3
  3. For extreme cases: Disable all quick suggestions (Method 2)
json
// Sample Final Configuration (settings.json)
{
  "editor.acceptSuggestionOnEnter": "off",
  "[python]": {
    "editor.quickSuggestions": false,
    "editor.suggest.showWords": false
  }
}

After modifying settings, reload VS Code (Ctrl+R or Cmd+R) to ensure changes apply completely. This preserves core IntelliSense while eliminating disruptive automatic replacements.