Flutter 如何在Flatter CLI中禁用小部件树打印(意外按下“T”键很烦人)
当我到达“R”进行热加载时,我不小心按下了终端中的“T”键,我的应用程序的小部件树总是被打印出来,并且需要几分钟才能完成,这让我非常恼火。如果可能,我确实需要关闭此功能,但我不知道如何关闭。TLDR: 注释掉中的第1285-1291行Flutter 如何在Flatter CLI中禁用小部件树打印(意外按下“T”键很烦人),flutter,terminal,Flutter,Terminal,当我到达“R”进行热加载时,我不小心按下了终端中的“T”键,我的应用程序的小部件树总是被打印出来,并且需要几分钟才能完成,这让我非常恼火。如果可能,我确实需要关闭此功能,但我不知道如何关闭。TLDR: 注释掉中的第1285-1291行 flatter/packages/flatter\u tools/lib/src/resident\u runner.dart 在本地flatter git repo中提交更改,“t”将被禁用 这发生在内部 flatter/packages/flatter\u
flatter/packages/flatter\u tools/lib/src/resident\u runner.dart
在本地flatter git repo中提交更改,“t”将被禁用
这发生在内部
flatter/packages/flatter\u tools/lib/src/resident\u runner.dart
在
Future\u commonTerminalInputHandler(字符串)
方法
这里处理
case 't':
case 'T':
if (residentRunner.supportsServiceProtocol) {
await residentRunner.debugDumpRenderTree();
return true;
}
return false;
以及唯一的检查insupportsServiceProtocol
getter,如果应用程序处于调试或配置文件模式,则返回true
如果该检查为真,则在VirtualMachine中调用该方法
Future<Map<String, dynamic>> flutterDebugDumpRenderTree() {
return invokeFlutterExtensionRpcRaw('ext.flutter.debugDumpRenderTree');
}
因此,您已成功更改颤振源。
现在需要重建颤振工具
为此,您可以按照以下步骤操作:
如果您想更改并重新测试工具本身的行为,请在git中本地提交您的工具更改,然后在下次运行Flatter时,将从packages/Flatter\u tools
中的Dart源重新生成工具。或者,删除bin/cache/flatter\u tools.snapshot
文件。这样做将在下次运行flutter时强制从本地源重建工具
简单地说,在flatterroot中打开终端并提交您的更改。
下次运行flatter run
时,您将在终端中看到消息输出:
建筑颤振工具…
当你想升级Flatter时,运行
git pull--rebase
,你的更改就会被保存。你找到解决方案了吗?没有,我开始认为大多数人不使用终端,或者不像我们那样犯错误,或者他们像精神病患者一样等待。在这里,你应该清楚如何定制你的终端工作流程。如果你还有任何问题,请告诉我
case 'S':
if (residentRunner.supportsServiceProtocol) {
await residentRunner.debugDumpSemanticsTreeInTraversalOrder();
return true;
}
return false;
// case 't':
// case 'T':
// if (residentRunner.supportsServiceProtocol) {
// await residentRunner.debugDumpRenderTree();
// return true;
// }
// return false;