Skip to content

Make CodeLens compact, actionable, and scope-aware #19

Description

@Perdolique

Summary

Make Zero Reference findings compact, actionable, honest about their scope, and explicit about configuration target.

Motivation

The current CodeLens repeats the symbol name in a full sentence and uses an empty command. The Toggle CodeLens command can also update the global setting when no workspace override exists, without telling the user which scope changed.

Scope

  • Replace "<symbol>" has zero references with 0 workspace references.
  • Add a tooltip explaining that external and dynamic consumers might not be visible to the current language server.
  • Give CodeLens and inline labels a real command.
  • Present relevant actions such as refresh, ignore this declaration, and open Zero Reference settings.
  • Replace the opaque toggle with explicit workspace and global enable/disable commands, or an equally clear scope selection.
  • If display modes are introduced, migrate from the implementation-specific useCodeLens setting to an enabled setting without breaking existing configuration.
  • Avoid informational notification spam during normal editing.

Acceptance criteria

  • Every rendered CodeLens has a meaningful command and tooltip.
  • The label does not repeat the declaration name.
  • Workspace commands never mutate global configuration, and global commands never create a workspace override.
  • Existing zeroReference.useCodeLens values are migrated or honored with a documented deprecation path.
  • Command visibility and configuration-target behavior have Extension Host tests.

Dependencies

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions