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

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