【发布时间】:2016-05-16 16:20:27
【问题描述】:
有没有办法在 Webstorm 或任何 Jetbrains IDE 中自动完成 Google Apps 脚本?
我已阅读,that it's possible for ecplise。
我可以以某种方式将 GAS 库导入 Webstorm 吗?或者我究竟需要做什么才能让自动完成功能起作用? :)
【问题讨论】:
标签: javascript google-apps-script
有没有办法在 Webstorm 或任何 Jetbrains IDE 中自动完成 Google Apps 脚本?
我已阅读,that it's possible for ecplise。
我可以以某种方式将 GAS 库导入 Webstorm 吗?或者我究竟需要做什么才能让自动完成功能起作用? :)
【问题讨论】:
标签: javascript google-apps-script
类似的问题可以参考:
How do I use WebStorm for Chrome Extension Development?,与参考答案的唯一区别在于第5步,尝试搜索google-apps-script(而不是chrome )。
安装库并以 JavaScript 格式打开 gs 文件。
然后你将有语法高亮和自动完成。
【讨论】:
clasp,这会将您的项目gs文件转换为js,例如stackoverflow.com/questions/24739294/…
使用 TypeScript 代替纯 JavaScript 怎么样?
GAS 的定义文件可在此处获得。 https://github.com/DefinitelyTyped/DefinitelyTyped/pull/6723
我还没有尝试过,但我打算尝试一下。 我刚开始使用 GAS,现在正在探索 GAS。
附言 为了编码 GAS,这篇文章可能会有所帮助。 http://googleappsdeveloper.blogspot.jp/2015/12/advanced-development-process-with-apps.html
【讨论】:
我也环顾四周,但还没有找到任何东西。我不这么认为,但我可能是错的。为了让它工作,你可以对 Eclipse 插件进行逆向工程,我猜这并不简单。
【讨论】:
WebStorm(以及任何带有 JavaScript 插件的 JetBrains IDE)现在可以使用 TypeScript 社区存根自动处理此问题。详情在Configuring JavaScript Libraries - Help - WebStorm。
按照该页面上在“设置/首选项”对话框中下载 TypeScript 定义下的说明进行操作。搜索名为 google-apps-script 的 TypeScript 社区存根。
WebStorm 将尝试根据上下文猜测变量的类型,但您也可以明确告诉它。例如,这告诉 WebStorm 线程是 GmailThread。所以getLabels 可以自动完成。
/**
* @param {GoogleAppsScript.Gmail.GmailThread} thread
*/
function getThreadInfo(thread) {
thread.getLabels()
}
仅供参考,您可以在 https://microsoft.github.io/TypeSearch/ 上搜索 TypeScript 社区存根并获取有关每个存根的更多信息。
【讨论】: