Skip to content

feat(tools): add conditional breakpoint support - #109

Merged
CalvinAllen merged 1 commit into
CodingWithCalvin:mainfrom
hzwet:feat/tools/conditional-breakpoints
Sep 15, 2026
Merged

CalvinAllen merged 1 commit into
CodingWithCalvin:mainfrom
hzwet:feat/tools/conditional-breakpoints

Conversation

@hzwet

@hzwet hzwet commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Extend debugger_add_breakpoint with condition and hit-count options
  • Add breakpoint_enable for enabling and disabling breakpoints
  • Include condition types and hit-count rules in breakpoint listings
  • Add validation, tests, and documentation

Closes #78

Testing

  • 79/79 automated tests passed
  • Release VSIX built successfully
  • Verified a conditional breakpoint through the Visual Studio MCP interface

Copilot AI lite review requested due to automatic review settings September 14, 2026 08:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The EnvDTE hit-count call has incorrect parameter names, and enablement updates only the first matching breakpoint.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

Adds conditional, hit-count, and enable/disable breakpoint support across the Visual Studio service, RPC layer, MCP tools, tests, and documentation.

Changes:

  • Extends breakpoint creation and listing with conditions and hit-count rules.
  • Adds the breakpoint_enable tool.
  • Adds validation, tests, and documentation updates.
File summaries
File Summary
src/CodingWithCalvin.MCPServer/Services/VisualStudioService.cs Implements breakpoint configuration and enablement.
src/CodingWithCalvin.MCPServer/Services/RpcServer.cs Exposes updated breakpoint RPC methods.
src/CodingWithCalvin.MCPServer/Services/IVisualStudioService.cs Extends the service contract.
src/CodingWithCalvin.MCPServer.Tests/DebuggerBreakpointTests.cs Tests mappings and validation.
src/CodingWithCalvin.MCPServer.Shared/RpcContracts.cs Extends shared RPC contracts.
src/CodingWithCalvin.MCPServer.Shared/Models/DebuggerModels.cs Adds breakpoint condition and hit-count models.
src/CodingWithCalvin.MCPServer.Server/Tools/DebuggerTools.cs Adds parameters, validation, and enablement tooling.
src/CodingWithCalvin.MCPServer.Server/RpcClient.cs Forwards new breakpoint operations.
README.md Documents the new tools.
CLAUDE.md Updates debugger tool documentation.
Review details

Suppressed comments (1)

src/CodingWithCalvin.MCPServer/Services/VisualStudioService.cs:1881

  • This returns after updating only the first matching entry. Because callers can now add conditional or hit-count breakpoints at the same file/line, other matching entries can remain in their previous state while the tool reports success, and there is no condition/id selector to target a specific one. Update every matching breakpoint and return whether any match was found.
                if (breakpoint.File != null && PathsEqual(breakpoint.File, file) && breakpoint.FileLine == line)
                {
                    breakpoint.Enabled = enabled;
                    return true;
  • Files reviewed: 10/10 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +1848 to +1849
HitCount: hitCount.GetValueOrDefault(),
HitCountType: ToDteHitCountType(hitCountType));
@CalvinAllen
CalvinAllen merged commit 22e0c6c into CodingWithCalvin:main Sep 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

feat(tools): add breakpoint enable/disable and conditional breakpoint support

3 participants