【问题标题】:IDE autocompletion for javascript AMD loading style [closed]javascript AMD加载样式的IDE自动完成[关闭]
【发布时间】:2013-08-13 14:24:24
【问题描述】:

有谁知道可以自动完成 javascript AMD 样式的 IDE:

// my dojoConfig defined aliases to the packages I use (dojo, dmidz)
// so in dmidz/my-module.js
define(['dojo/dom-construct'], function(cons){// requiring some dojo module
   cons.// <- oh it is nicely displaying list of dom-construct module methods
});

请不要只提供您喜欢的最好、最酷的 IDE。我尝试了 Komodo 和 Webstorm,我只是无法让它们工作,或者我没有正确配置它们……但是没有一个可以设置与 dojoConfig 中相同的别名(太难了?)。 比如在Webstorm中,有一个库的概念,我添加了dojo和我的包,但是没办法,当然,不知道别名路径怎么可能。还有一个Path Variables的概念,没办法理解它是怎么工作的,文档太差了!

感谢您的帮助。

【问题讨论】:

  • 您可以通过其 bugtracker youtrack.jetbrains.com/issues/WEB?p=375&f=false 直接请求 WebStorm 支持。那里的支持很棒! (我不为他们工作;))
  • 这应该是任何 amd javascript 开发者最重要的问题。即使对于那些在非 AMD 模块中编写的人,他们也需要从加载 js 文件的页面中了解其上下文/范围的内容。

标签: javascript ide amd


【解决方案1】:

您可能正在寻找 TernJS。 It declares support of RequireJS via a plugin

这是我所知道的最适合这项工作的工具。不过,Tern 相当消耗 RAM(与纯文本编辑器相比)。 与 Sublime Text 的集成是无缝的,使用其他 Sublime 插件,您可以使其非常接近 IDE 的定义。

以下是 TernJS 文档的摘录:

Tern 是一个独立的 JavaScript 代码分析引擎。它是 旨在与代码编辑器插件一起使用以增强编辑器的 支持智能 JavaScript 编辑。提供的功能有:

  • 变量和属性的自动完成
  • 函数参数提示
  • 查询表达式的类型
  • 寻找事物的定义
  • 自动重构

Tern 是开源的(MIT 许可),用 JavaScript 编写,并且功能强大 在 node.js 和浏览器中运行。编辑器插件

目前 Tern 支持以下编辑器:

  • Emacs
  • Vim
  • 崇高的文字
  • 括号(基本编辑器内置)

【讨论】:

  • 感谢您的跟踪,但 requireJS 周围的文档正在谈论 2 个全局定义和 requirejs,第二个不是 requireJS 指定的并在任何地方使用:它是“require”,也许是文档过时了吗?然后它只识别 2 个选项 baseURL 和路径,而不是包,我可以尝试只使用路径来查看它是否可以捕获我的结构......这是迄今为止我见过的最可配置的。我尝试了括号,节点也编写了脚本,但没有一个 requireConfig ...您尝试过 Cloud9 吗?无法快速安装和测试。另一个问题:有些使用导出,dojo 没有...
  • 我的感觉是文档上次更新是很久以前的事了。插件的source code显然支持require
【解决方案2】:

http://plugins.jetbrains.com/plugin/7264?pr=idea 它没有自动完成功能,快捷方式有点困难:)但对我来说非常有用。

【讨论】:

    【解决方案3】:

    好吧,我现在正在使用 PHPStorm 8.1(Webstorm 也应该没问题)并且... AMD 自动补全效果很好! 我只是将我的 js 包声明为 javascript 库:

    设置 > 语言和框架 > JavaScript > 库 > 添加...

    添加并指向您的每个包的文件夹并享受 :) 不得不提到 JetBrains IDE,试试吧,确保您会采用它,因为 - 至少 - 它解决了 AMD 风格......

    【讨论】:

      猜你喜欢
      • 2013-03-26
      • 1970-01-01
      • 2011-06-02
      • 2012-05-29
      • 2020-06-05
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多