【发布时间】:2013-06-23 23:10:30
【问题描述】:
在编写我的 VBA 宏时,我经常使用“F8”来逐行调试宏。 Google Apps 脚本中是否有类似的功能?
【问题讨论】:
标签: vba debugging google-apps-script google-sheets google-docs
在编写我的 VBA 宏时,我经常使用“F8”来逐行调试宏。 Google Apps 脚本中是否有类似的功能?
【问题讨论】:
标签: vba debugging google-apps-script google-sheets google-docs
类似,但不一样。
Google Apps 脚本是在称为 Script Editor 的专用 IDE1 中开发的,它支持单步执行和断点等。
有关使用 IDE 进行调试的快速介绍,请参阅this video。在线文档的Troubleshooting 部分包含对基础知识的快速概述。
在 IDE 中,您可以选择脚本中的任何函数来执行,然后选择“运行”或“调试”图标启动。不幸的是,没有办法以这种方式将参数传递给函数,所以这里有一些方法可以解决这个问题。
设置默认值。 javascript中有numerous ways to define defaults,这是调试器使用其中最简单的函数操作函数的图片。来自this answer 的函数toText() 接受一个数字作为参数,因此在本例中,我们将默认值强制为21。图为调试器在第 40 行暂停;如果我们继续单步执行我们期望得到的结果 s == 'Twenty-one' 的函数。
编写一个测试函数。这是比设置默认值更好的方法,因为它允许您编写多个测试用例,并且可以避免调试代码污染目标函数。例如,this answer 中提供了目标函数flipFlopAndFly() 及其测试函数test_flipFlopAndFly()。测试功能访问电子表格,为测试目标提供适当的数据,因此我们可以轻松修改数据以进行不同的测试。 另请注意,此功能包括错误检查,因此不适合通过强制使用默认值进行测试。
这些基本模式有很多变体,因此请根据自己的情况随意调整它们。这将有助于您的调试能力在编写时考虑您将如何逐步执行代码:
var中,这样你就可以看到了吗?var 中?在开发或调试将从电子表格调用的自定义函数时,请记住您不能“跳转”到 IDE。如果需要单步执行脚本,则需要完全在 IDE 中工作以观察代码的执行情况。您可以使用上述技术来调试自定义函数。
【讨论】:
o.o;被策略性插入,然后我按下bug按钮运行我的测试函数。
function toText(num=21) { ... }