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