在编写我的VBA宏时,我经常使用“F8”来逐行调试宏。 Google Apps脚本中是否有类似的功能?
答案 0 :(得分:19)
相似,但不一样。
Google Apps脚本是在专用的IDE 1 中开发的,称为脚本编辑器,它提供对单步执行和断点等的支持。
有关使用IDE进行调试的快速介绍,请参阅this video。在线文档的Troubleshooting部分包含对基础知识的快速概述。
在IDE中,您可以选择脚本中的任何功能执行,然后选择“运行”或“调试”图标以启动。不幸的是,没有办法以这种方式将参数传递给函数,所以这里有几种方法可以处理。
设置默认值。 javascript中有numerous ways to define defaults,这是使用最简单的函数在函数上运行的调试器的图片。来自this answer的函数toText()
接受一个数字作为参数,因此对于此示例,我们将默认值强制为21
。图为调试器在第40行暂停;如果我们继续单步执行该功能,我们希望结果为s == 'Twenty-one'
。
编写测试功能。这是一种比设置默认值更好的方法,因为它允许您编写多个测试用例,并避免使用调试代码污染目标函数。例如,目标函数flipFlopAndFly()
及其测试函数test_flipFlopAndFly()
在this answer中提供。测试功能访问电子表格以提供用于测试目标的适当数据,因此我们可以轻松修改不同测试的数据。 另请注意,此功能包括错误检查,因此强制默认值进行测试是不合适的。
这些基本模式有很多变化,所以请随意根据自己的情况进行调整。它将帮助您的调试功能在您编写时思考,了解如何逐步执行代码:
var
中,您可以看到它吗?var
?在开发或调试将从电子表格调用的自定义函数时,请记住您无法“跳转”到IDE中。如果需要单步执行脚本,则需要完全在IDE中工作以观察代码的执行。您可以使用上述技术来调试自定义函数。