You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Visual Studio调试器中维护可提交到git的异常忽略列表

解决方案

以下方案完全不影响你执行git clean的操作习惯,可实现异常忽略配置的持久化与Git管理:

配置丢失的核心原因:Visual Studio默认将用户自定义的异常设置存储在解决方案目录下.vs文件夹内的.suo文件中,该文件默认被纳入Git忽略规则,执行git clean -fdx时会被一并删除。

方案1:导出异常配置文件纳入Git管理(最通用)

  • 完成所有异常忽略配置后,按下Ctrl+Alt+E打开「异常设置」窗口
  • 点击窗口右上角的「将异常设置导出到文件」按钮,将配置保存为比如ExceptionSettings.json,放在解决方案根目录
  • 将该配置文件提交到Git,只要是已被Git跟踪的文件,git clean -fdx不会删除
  • 每次执行完git clean操作后,在异常设置窗口点击「从文件导入异常设置」,选择该文件即可恢复所有配置,全程仅需几秒

方案2:脚本自动化导入(减少手动操作)

你可以编写简单的PowerShell脚本存放在解决方案根目录,调用Visual Studio的DTE接口自动导入配置,示例脚本如下:

# 导入异常配置脚本 ImportExceptionSettings.ps1
$dte = [System.Runtime.InteropServices.Marshal]::GetActiveObject("VisualStudio.DTE")
$dte.Debugger.Exceptions.Import("$(Split-Path $MyInvocation.MyCommand.Path)\ExceptionSettings.json")

每次git clean后执行一次脚本即可完成配置恢复,不需要手动操作窗口。

方案3:代码级配置(一劳永逸,适合自有项目)

如果这些框架内部捕获的异常属于你可控的代码范围,可以在抛出并内部捕获异常的方法/类上添加[DebuggerNonUserCode]特性:

[DebuggerNonUserCode]
public void FrameworkInternalMethod()
{
    try
    {
        // 业务逻辑
    }
    catch
    {
        // 内部捕获处理,不会抛出到用户代码
    }
}

标记为非用户代码的逻辑中抛出并被捕获的异常,调试器默认不会触发中断,该特性跟随代码提交到Git,完全不受git clean操作影响,所有协作者都可以共享该配置。

内容的提问来源于stack exchange,提问作者JoelFan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:45:00