Skip to content

Add diagnostic kill switch to VS Code and GoLand extensions #19

@willibrandon

Description

@willibrandon

Problem

Users currently have no convenient way to temporarily disable mtlog-analyzer diagnostics when they become disruptive. This can lead to frustration and potentially users disabling or uninstalling the extensions entirely.

Proposed Solution

Add a quick and discoverable "kill switch" to both the VS Code extension and GoLand plugin that allows users to:

  1. Quickly disable all mtlog diagnostics with a single action
  2. Easily re-enable them when ready
  3. See the current state (enabled/disabled)

VS Code Implementation

  • Add command palette commands: "mtlog: Disable all diagnostics" / "mtlog: Enable diagnostics"
  • Add status bar item showing state (e.g., "mtlog ✓" or "mtlog ✗") that's clickable to toggle
  • Add quick action on any diagnostic: "Disable all mtlog diagnostics"
  • Persist state in workspace settings

GoLand Implementation

  • Add intention action: "Disable all mtlog inspections"
  • Add notification bar when active: "mtlog analyzer is active [Disable] [Settings]"
  • Add status bar widget to toggle on/off
  • Respect IntelliJ's standard inspection suppression mechanisms

Acceptance Criteria

  • Users can disable all diagnostics with 2 clicks or less
  • The disabled state is clearly visible
  • Re-enabling is just as easy as disabling
  • Settings persist across IDE restarts
  • No loss of user configuration when toggling

Why This Matters

Even the best static analysis tools need an escape hatch. Users might need to temporarily disable diagnostics when:

  • Working on legacy code
  • Dealing with tight deadlines
  • Debugging unrelated issues
  • The analyzer has a bug causing false positives

Without this feature, frustrated users might permanently uninstall the extensions instead of just temporarily disabling them.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestgolandGoLand plugin and JetBrains IDE integrationvscodeVisual Studio Code extension and integration

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions