【问题标题】:Does Google Apps Script support external IDEs?Google Apps 脚本是否支持外部 IDE?
【发布时间】:2014-07-14 14:47:56
【问题描述】:

我正在使用 Google Apps 脚本,并且想知道是否可以使用 Google 提供的编辑器之外的任何类型的编辑器。 (我购买了 Sublime Text 并想使用它。)

Google 提供的内容令人作呕,尽管我有一个巨大的屏幕和语法颜色,但我发现在带有小文本的白色背景上有点难以区分,而且我没有像 Sublime 这样的美感。大量的自定义键盘快捷键,我所有的包等等。

【问题讨论】:

  • 如果您按住 CTRL 键并滚动,您的屏幕将增大/减小(缩放)窗口。 (至少是 Windows)
  • @SandyGood - 我明白这一点,但这会缩放整个窗口,而不仅仅是我想要缩放的代码。
  • 和你一样的问题,还在等待。这家伙只有 ST2 的附加组件,ST3 的附加组件很快就会播出:github.com/revolunet/sublimetext-google-apps-scripts
  • 缩放并不能解决这个事实,我同意,它是一个非常糟糕的编辑器。

标签: google-apps-script ide code-editor


【解决方案1】:

从今天(2018 年 5 月)起,您添加到 Google App Scripts 上的每个脚本(包括 Google 云端硬盘上的脚本,例如电子表格)都可以通过 https://script.google.com 访问,并且将有一个特定的 ID,您可以通过以下网址获取该 ID打开它。

通过使用处理项目(如 git)的clasp,您可以:

clasp clone {id}

将您的脚本放在本地文件夹中。 然后,在使用您喜欢的文本编辑器编辑文件后,将其上传回来:

clasp push

【讨论】:

  • 这听起来很有趣。但这听起来好像不能用我最喜欢的编辑器真正测试、运行或调试代码,对吧?我会对其他编辑器非常感兴趣,因为在 Google 编辑器中登录控制台是一件非常痛苦的事情。
【解决方案2】:

Google 已放弃在 Eclipse 中对 Apps Script 的支持,但您可以使用 Apps Script Starter 套件和 CLASP 在 VS Code 中设置本地开发环境。

这里有一个video tutorial 可以帮助您入门。

【讨论】:

  • 请注意,这仅适用于独立脚本。如果您正在开发包含的脚本(例如在电子表格中),您将需要使用 GAS 编辑器,尽管您可以通过在 Eclipse 中进行库开发并从包含的脚本中调用库来限制这种依赖性。
  • @Mogsdad 是的。尽管如 Google 的文档中所述,如果最终结果是开发附加组件或扩展程序,则库调用速度很慢并且不推荐使用。
  • 您可以随时执行 SpreadSheetApp.OpenByID("1234abcd...包括设置菜单等。您甚至可以设置触发器来运行此代码。但不确定。
  • 这个答案现在已经过时了。 Google 将于 2018 年 1 月弃用此插件。迁移到 Cloud Tools for Eclipse 和/或 GWT Eclipse 插件。
  • @Amit Agarwal - 我没有看到任何 Apps 脚本插件,只有 AppEngine?
【解决方案3】:
  1. eclipse插件现在是migrated。你应该安装很多 文件。最后它无法导入我的谷歌脚本文件。
  2. nod-google-apps-script 已弃用。
  3. gdrive 无法处理 google 脚本,只能将项目导出到单个 json 文件中。 issueissue
  4. sublime-editor-plug-in 对我不起作用(我阅读了整个文档和问题)

对我来说唯一可行的解​​决方案(ubuntu xenial)是clasp

根据doc可以:

本地开发:clasp 允许您在本地开发您的 Apps 脚本项目。这意味着您可以将代码签入源代码管理,与其他开发人员协作,并使用您喜欢的工具来开发 Apps 脚本。

管理部署版本:创建、更新和查看项目的多个部署。

结构代码: clasp 会自动将您在 script.google.com 上的平面项目转换为文件夹。例如:

在 script.google.com 上: 测试/幻灯片.gs 测试/sheets.gs

本地: 测试/ 幻灯片.js sheet.js

注意: Eclipse 插件不支持“管理部署版本”的功能。

它给出以下命令:

clasp login [--no-localhost]
clasp logout
clasp create [scriptTitle] [scriptParentId]
clasp clone <scriptId>
clasp pull
clasp push
clasp open
clasp deployments
clasp deploy [version] [description]
clasp redeploy <deploymentId> <version> <description>
clasp version [description]
clasp versions

通过使用它;您可以使用自己喜欢的脚本编辑器;然后推送更改。

编辑 GAS Editor Autocomplete

感谢@tehhowch 的评论。

google objects 的自动完成几乎是在线 GAS 编辑器独有的,如果您使用任何外部编辑器,您将只能自动完成您自己脚本的函数和变量(我不确定 eclipse)。

但在线编辑器提供了自动完成功能,可以显示在脚本当前上下文中有效的全局对象以及方法和枚举。

要显示自动完成建议,请选择菜单项编辑 > 内容辅助或按 Ctrl+Space。每当您在返回 Apps Script 类的全局对象、枚举或方法调用之后键入句点时,自动完成建议也会自动出现。例如:

  • 如果您单击脚本编辑器中的空白行并激活自动完成功能,您将看到一个全局对象列表。
  • 如果您键入全局对象的全名或从自动完成中选择一个,请键入 . (句号),您将看到该类的所有方法和枚举。
  • 如果您键入几个字符并激活自动完成功能,您将看到以这些字符开头的所有有效建议。

【讨论】:

  • 您应该添加有关 Google 内置自动完成功能的 cmets。
  • 请注意,现在有一个 TypeScript @types/google-apps-script 包,允许外部编辑器享受核心 Apps 脚本功能的自动完成功能。随着时间的推移,高级服务的自动完成功能也可能会有所改善。
【解决方案4】:

您可以使用node-google-apps-script 在本地编辑脚本(在 2015 年 12 月 17 日谷歌应用开发者博客中的this blog post 中进行了描述)。这样您就可以使用更舒适的编辑器、版本控制和构建脚本。

注意事项:

  • 与 eclipse 插件一样,node-google-apps-script 要求您的插件是独立脚本。
  • 调试仍然需要 google 的脚本编辑器。通过一些额外的设置,您可以通过Execution API 运行函数
  • 如果有一个 Sublime Text 插件来完成谷歌库方法的代码,那就太棒了,但我还没有找到(不过我认为他们的默认浏览器编辑器甚至不提供这个)

【讨论】:

    【解决方案5】:

    这是针对在编写 Google App Scripts 应用程序时寻找代码完成的 Intellij 基本/初学者用户的答案。上面的大多数答案都有助于我前进,尤其是使用 Clasp。但他们都没有真正让 Intellij 完成代码。但这确实:

    选择文件、设置、语言和框架、JavaScript、库。

    然后在右侧选择下载,向下滚动到“google-app-scripts”。 (大量滚动)下载并安装,您就完成了。几乎很容易找到它真的不应该那么难。

    【讨论】:

      【解决方案6】:

      另一个需要考虑的选项:使用“AppsScript Color”Google Chrome 插件和 GAS 编辑器快捷方式。

      这里有一个最有用的快捷键列表: https://opensourceseo.org/useful-tips-for-using-the-google-apps-script-editor/

      【讨论】:

        【解决方案7】:

        您可以只安装一个 Google Drive 命令行客户端(例如https://github.com/prasmussen/gdrive)并直接编辑 .gs 脚本。

        还有一种在 Eclipse 中编辑 Google Apps 脚本的方法,这可能很有趣。 https://developers.google.com/eclipse/docs/apps_script

        【讨论】:

        • 那么你如何在 ide 中运行和调试呢?
        • 遗憾的是,这个问题的答案是,你没有。
        • 在另一个线程中,我写了关于 google 执行 api 以及将其连接到 eclipse 导入的可能性。似乎有可能,但我从未尝试过,并且不确定我需要做什么才能使其正常工作......
        • @pashute 我不确定,但也许这很有用developers.google.com/eclipse/docs/apps_script
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多