vscode 在调试过程中,变量面板中自动展开组的选项

4uqofj5v  于 6个月前  发布在  Vscode
关注(0)|答案(2)|浏览(48)

在调试过程中,当前的行为是变量面板中的所有组(节点)都已折叠,可能除了第一个(通常标题为“local”)。
不幸的是,经常有许多“Block”组,表示技术上不是“本地”但仍然非常接近和相关的代码范围,如条件语句、循环体、函数闭包等。这些“block”组中的每个组通常只包含几个变量。
由于默认情况下隐藏了每个组的内容信息,因此很难找到特定的变量,往往迫使用户使用一种“试错法”依次展开每个组:

在上面的示例中,没有简单的方法(例如)来定位包含 var5 的“Block”组,除了通过试错法逐个检查每个组并依次展开它们。没有任何指示可以帮助知道某个组包含这个特定的变量。
这就像 for many years 一样。它使调试体验更加繁琐和令人沮丧,但似乎最近并没有太多努力来改进它(最近的相关问题是几年前的)。也许人们已经放弃了某种方式,接受了它作为VSCode调试体验的一部分?
另一个令人沮丧的行为是在单个调试会话中,UI经常会在达到新断点时“忘记”一个或多个组的展开状态并再次折叠它们,迫使用户再次尝试猜测(有时通过试错法)包含他们感兴趣的变量的组(我的经验来自TypeScript调试,但它可能对许多其他语言也适用)。
由于多年来已经在不太重要或关键的领域投入了大量精力来改善UI体验,我想知道是否有可能仅通过提供一个选项(例如自动展开所有“block”组)或提供一个“展开所有”按钮来简单地改进这一点?或者提供一个特定类型或合理范围内的所有组的按钮?
总的来说,有没有希望在不久的将来改善调试体验,特别是变量面板?

5hcedyr0

5hcedyr01#

这也让我很困扰,我必须重新审视一下逻辑。@connor4312 我认为我们应该使用 Scope.expensive?解决更多范围的代价有多高?

oiopk7p5

oiopk7p52#

在js-debug中,expensive仅设置为"全局"作用域,因此这可能是我们希望在vscode本身中更改的行为。

相关问题