Skip to content

feat(notification): allow customizable notification message #6

@CalvinAllen

Description

@CalvinAllen

Summary

Allow users to customize the notification message text via settings, with support for placeholder variables.

Motivation

Different developers have different preferences:

  • Some want minimal: "BP Hit"
  • Some want detailed: "Breakpoint triggered - time to check the debugger!"
  • Some want context: "{file}:{line} - Breakpoint Hit"

Implementation

Add a settings field for custom message format with placeholder support.

Available Placeholders

Code context:

  • {file} - File name (e.g., "UserService.cs")
  • {filepath} - Full file path
  • {line} - Line number
  • {method} - Method name
  • {class} - Class/type name
  • {namespace} - Namespace
  • {project} - Project name

Breakpoint metadata:

  • {hitcount} - How many times this breakpoint has been hit this session
  • {condition} - The condition expression (if conditional breakpoint)
  • {label} - User-assigned breakpoint label/name

Session/timing:

  • {time} - Current time (HH:mm:ss)
  • {elapsed} - Time since debug session started
  • {delta} - Time since last breakpoint hit

Process/thread:

  • {process} - Process name
  • {pid} - Process ID
  • {thread} - Thread name or ID

Environment:

  • {solution} - Solution name
  • {config} - Build configuration (Debug/Release)
  • {branch} - Current git branch

Default

Breakpoint Hit! (current behavior)

Example Custom Formats

  • {file}:{line} → "UserService.cs:42"
  • Breakpoint in {method} → "Breakpoint in GetUserById"
  • [{time}] BP: {file}:{line} → "[14:32:05] BP: UserService.cs:42"
  • [{branch}] {class}.{method} → "[feature/auth] UserService.GetUserById"
  • Hit #{hitcount}: {file}:{line} → "Hit Welcome to VS-BreakpointNotifier Discussions! #3: UserService.cs:42"

Considerations

  • Gracefully handle missing placeholder values (show empty string or placeholder name)
  • Provide a reasonable default
  • Works in combination with notification style toggle (MessageBox/Toast/Both)
  • Depends on Show file and line number in breakpoint notification #5 for extracting contextual info

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions