11

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

4

1 回答 1

20

类似,但不一样。

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

有关使用 IDE 进行调试的快速介绍,请参阅此视频。在线文档的故障排除部分包括基本知识的快速概述。

带参数的调试函数

在 IDE 中,您可以选择脚本中的任何函数来执行,然后选择“运行”或“调试”图标启动。不幸的是,没有办法以这种方式将参数传递给函数,所以这里有一些方法可以解决这个问题。

  1. 设置默认值。在 javascript 中定义默认值的方法有很多种,这里是调试器使用其中最简单的方法对函数进行操作的图片。此答案中的函数toText()接受一个数字作为参数,因此对于此示例,我们将默认值强制为. 图为调试器在第 40 行暂停;如果我们继续单步执行我们期望得到结果的函数。21s == 'Twenty-one'

    屏幕截图 - 或默认

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

这些基本模式有很多变化,所以请随意调整它们以适应您自己的情况。这将有助于您在编写有关如何逐步执行代码时进行思考的调试能力:

  • 是否每个重要的对象和值都存储在 a 中var,所以您可以看到它?
  • 您的函数结果(返回值)是否在 a 中var

自定义函数

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


1 集成开发环境

于 2013-06-24T02:03:13.960 回答