VSCode 监视变量 - 复制值而不是复制完整值

问题描述 投票:0回答:1

我的 VSCode 调试监视面板中有一些大对象,具有很多属性。当我右键单击它并选择“复制值”时

然后粘贴它,它不会粘贴整个对象值,而是粘贴一些第一个属性,然后'...'。

例如,如果对象是:

{
  "key1": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key2": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key3": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key4": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key5": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key6": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key7": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key8": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key9": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
}

当我粘贴它时,我看到:

{
  "key1": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key2": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  "key3": "LTE1OGQtNDczNi04ZjlkLTQwZDgxODkyMThjOSIsInByZWZlcnJlZF91c2VybmFtZSI6InRlc3QtZ3JhcGhAYW55Y2xpcC5vbm1pY3Jvc29mdC5jb20iLCJyaCI6IjAuQVFzQTc2azRRNmlPbzAyTmVLeFdERDhKQ2d4QTc5Wkh2aXhHcjF",
  ...
}

如何复制完整值?

debugging visual-studio-code watch
1个回答
0
投票

此行为取决于为您正在调试的任何内容提供调试支持的扩展()。另请参阅维护者 Isidor Nikolic 在调试器中的高级复制变量值中的 此评论 #27950,概述了调试扩展维护者如何实现此功能。引用:

亲爱的调试扩展作者,

现在可以为调试器实现高级复制变量值:

您的分机需要发送功能

supportsClipboardContext
在评估调用中,您应该检查上下文是否为“剪贴板”,如果是,则意味着用户正在触发“复制值”命令,并且您可以返回“高级复制”的结果 - 评估的完全序列化值 示例 @connor4312 如何为 js-debug microsoft/vscode-js-debug@
a136ba5
完成此操作 在上面的gif中,您可以看到它在实践中是如何工作的。

如果您使用的调试扩展还没有做到这一点,您可以礼貌地要求他们这样做,或者更好的是,起草一个实现并提出 Pull 请求。

如果扩展程序应该支持它,但它无法正常工作,您应该搜索他们的问题跟踪器以查看是否已提出错误报告,如果尚未提出,请自行提出。例如,“监视”面板中的“复制值”将使用 ... 复制长/大字符串的截断值。 #175758,与 JS 调试相关(VS Code 附带内置 JS 调试器,vscode-js-debug

)。

或者,如果您懒得与维护人员交谈并长期解决问题(在这里我请求您选择该路径),您可以查看您的调试扩展是否支持在监视面板中编写表达式,以及您的语言是否支持支持以适合您的格式轻松地对变量进行字符串化,您可以这样做,这是在 VS Code 的扩展 API 添加上述功能之前很多人所做的事情(

source)。

© www.soinside.com 2019 - 2024. All rights reserved.