单步执行Google Apps脚本中的代码(等效的VBA-GAS)

时间:2013-06-23 23:10:31

标签: vba debugging google-apps-script google-sheets google-docs

    在编写我的VBA宏时,我经常使用“F8”来逐行调试宏。 Google Apps脚本中是否有类似的功能?

1 个答案:

答案 0 :(得分:19)

相似,但不一样。

Google Apps脚本是在专用的IDE 1 中开发的,称为脚本编辑器,它提供对单步执行和断点等的支持。 Screenshot - Script Editor

有关使用IDE进行调试的快速介绍,请参阅this video。在线文档的Troubleshooting部分包含对基础知识的快速概述。

带参数

的调试功能

在IDE中,您可以选择脚本中的任何功能执行,然后选择“运行”或“调试”图标以启动。不幸的是,没有办法以这种方式将参数传递给函数,所以这里有几种方法可以处理。

  1. 设置默认值。 javascript中有numerous ways to define defaults,这是使用最简单的函数在函数上运行的调试器的图片。来自this answer的函数toText()接受一个数字作为参数,因此对于此示例,我们将默认值强制为21。图为调试器在第40行暂停;如果我们继续单步执行该功能,我们希望结果为s == 'Twenty-one'

    Screenshot - OR for default

  2. 编写测试功能。这是一种比设置默认值更好的方法,因为它允许您编写多个测试用例,并避免使用调试代码污染目标函数。例如,目标函数flipFlopAndFly()及其测试函数test_flipFlopAndFly()this answer中提供。测试功能访问电子表格以提供用于测试目标的适当数据,因此我们可以轻松修改不同测试的数据。 另请注意,此功能包括错误检查,因此强制默认值进行测试是不合适的。

  3. 这些基本模式有很多变化,所以请随意根据自己的情况进行调整。它将帮助您的调试功能在您编写时思考,了解如何逐步执行代码:

    • 每个重要的对象和值都存储在var中,您可以看到它吗?
    • 您的功能结果(返回值)是var

    自定义函数

    在开发或调试将从电子表格调用的自定义函数时,请记住您无法“跳转”到IDE中。如果需要单步执行脚本,则需要完全在IDE中工作以观察代码的执行。您可以使用上述技术来调试自定义函数。


    1 Integrated Development Environment