如何使用WebStorm进行Chrome扩展开发?

mat*_*pie 84 javascript autocomplete intellij-idea google-chrome-extension webstorm

我刚买了WebStorm 5,到目前为止一直非常享受它的检测功能.我在开发Chrome扩展程序时遇到的一个问题是它无法识别chrome变量:

未解析的变量或类型chrome

有没有办法可以将chrome变量添加到Inspector中,以便它可以在我输入时自动完成?我猜我需要将Chromium添加为外部库,但我不确定从哪里开始.

Mis*_*ant 178

首次安装

  1. 打开Settings对话框(File> Settings)

  2. 点击Languages & Frameworks> Javascript>Libraries

  3. 点击 Download

  4. 确保TypeScript community stubs被选中

  5. chrome从列表中选择(只需输入即可快速找到chrome)

  6. 点击 Download and Install

  7. 单击OK以关闭"设置"对话框.


步骤2-6如下图所示:

Webstorm截图


在后续项目中

在任何后续项目中,您只需:

  1. Settings再次打开对话框(File> Settings)

  2. 点击Languages & Frameworks> Javascript> Libraries再次

  3. 校验 chrome-DefinitelyTyped

  4. 单击OK以关闭对话框.


步骤2-4如下所示:

Webstorm截图

  • 在 Intellij 中也能正常工作 (6认同)
  • 由于IntelliJ IDEA 2017.1在"TypeScript社区存根"下未显示"chrome",因此需要更新的答案.知道如何添加吗? (2认同)
  • 事实证明这是 IntelliJ IDEA 2017.1 中的一个错误 https://youtrack.jetbrains.com/issue/WEB-26160#u=1490671035044 (2认同)
  • 应该注意的是,WebStorm将需要重新启动。 (2认同)
  • @TylerCrompton 但不再了 (2认同)

Cra*_*der 41

更新2:

它现在支持开箱即用,请参阅下面完整答案.

下载库

更新:

有一个更完整的存根文件,可以添加为库以获得代码完成.它是Closure Compiler项目的一部分.下载chrome_extensions.js.

另请参阅WebStorm功能请求,以便从IDE自动添加此库.


您需要在某处获取Chrome API的JavaScript库,或使用存根来获得基本完成.

可以在WebStorm中配置库或存根.


我找到了带有Extension APIJSON文件.可以编写一个脚本来构建来自这些JSON文件的JS存根,存根看起来像上面GitHub上链接的基本版本,但是通过自动生成,它们将包含几乎完整的API和JSDoc注释,以便可以查看此处的文档直接在IDE中.

JSON => JavaScript对象存根映射在这种情况下非常简单,编写这种转换器不应该花费超过一天(或熟练的编码器几个小时).

如果有人继续实施,请在此处发布结果链接.

  • 我下载了[Chrome扩展程序](https://code.google.com/p/closure-compiler/source/browse/contrib/externs/chrome_extensions.js)但是为了摆脱WebStorm中的"Unresolved variable"警告,我必须将以下行添加到`chrome_extension.js`:`var chrome = {}`并将其作为库包含在我的项目中. (2认同)