JavaScript AMD加载风格的IDE自动完成

26

有人知道一个可以自动完成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和我的包,但是不行,当然,没有知道别名路径的情况下也不可能。还有一个路径变量的概念,不能理解它的工作原理,文档非常贫乏!谢谢任何帮助。

2
您可以直接通过 WebStorm 的 bugtracker http://youtrack.jetbrains.com/issues/WEB?p=375&f=false 向其支持团队提问。那里的支持非常出色!(我不是他们的员工 ;) ) - Diosney
这应该是任何 AMD 和 JavaScript 开发人员最重要的问题。即使是那些编写非 AMD 模块的人,也需要知道它们的上下文/作用域内容来自加载 JS 文件的页面。 - Unicornist
3个回答

15

您可能正在寻找TernJS。通过插件,它声明对RequireJS的支持。

这是我所知道的最好的工具。然而,与纯文本编辑器相比,Tern需要消耗更多的内存。与Sublime Text的集成非常无缝,并且通过其他Sublime插件,您可以将其接近IDE的定义。

以下是TernJS文档的摘录:

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

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

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

目前支持以下编辑器的Tern:

  • Emacs
  • Vim
  • Sublime Text
  • Brackets(嵌入到基本编辑器中)

感谢您提供的信息,但是关于requireJS的文档中提到了2个全局变量define和requirejs,而第二个并不是由requireJS指定并且在任何地方都使用:它是'require',也许文档已经过时了?然后它只识别2个选项baseURL和paths,而不是packages,好吧,我可以尝试仅使用paths来查看它是否能够捕获我的结构...这是我迄今为止见过的最可配置的。我也尝试过Brackets、node scripted,但没有requireConfig...你试过Cloud9吗?我无法快速安装和测试它。还有一个问题:一些使用exports,而dojo则不使用... - dmidz
我的感觉是文档很久以前就更新过了。插件的源代码明显支持require - Baradzed

1
我现在正在使用PHPStorm 8.1(Webstorm也可以),并且... AMD自动完成功能很好! 我只需将我的js包声明为javascript库:

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

添加并指向每个包的文件夹,然后就能享受了 :) 必须提到JetBrains IDE非常棒,试试看,你肯定会喜欢它的,至少它解决了AMD样式...


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接