GoogleAppsScript - Webstorm中的自动完成?

时间:2016-02-06 19:19:42

标签: javascript google-apps-script

有没有办法在Webstorm或任何Jetbrains IDE中获得Google Apps脚本的自动完成功能?

我已阅读that it's possible for ecplise

我能以某种方式将GAS库带入Webstorm吗?或者我需要做什么才能使自动完成工作? :)

4 个答案:

答案 0 :(得分:4)

如何使用TypeScript而不是纯JavaScript?

此处提供GAS的定义文件。 https://github.com/DefinitelyTyped/DefinitelyTyped/pull/6723

我还没有尝试过,但我打算尝试一下。 我刚刚开始使用GAS,现在正在探索GAS。

<强> P.S 为了编写GAS代码,本文可能会有所帮助。 http://googleappsdeveloper.blogspot.jp/2015/12/advanced-development-process-with-apps.html

答案 1 :(得分:2)

您可以参考的类似问题:
How do I use WebStorm for Chrome Extension Development?
与高投票答案的唯一区别在于第5步,尝试搜索“google-app-script”而不是“chrome”。安装库并以javascript格式打开gs文件 然后你将有语法高亮和自动完成。

答案 2 :(得分:1)

我也环顾四周,但还没找到任何东西。我不这么认为,但我可能是错的。为了使它能够工作,你可以对Eclipse插件进行逆向工程,我猜这个插件并不简单。

答案 3 :(得分:0)

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社区存根,并获取更多信息。