Cloud9 中多个 js 文件的自动完成

Autocompletion for multiple js files in Cloud9

我正在尝试将我的工作区移动到 c9,因为在我处理 NodeJS 项目时,Ace 编辑器的自动完成功能让我非常满意。

但现在我想在客户端处理 JS 文件。正是从这一点开始,自动完成出错了。实际上,在 JS 文件本身(除了使用一些插件)中,客户端 JS 中没有诸如 "require" 命令之类的命令来通知中使用的其他源文件。

因此,当我在我的一个 JS 文件中使用在另一个文件(甚至是库、框架:jquery 等)中定义的函数时,Ace 通知我该函数未定义(因为它无法知道该函数是在另一个文件中定义的,我猜)。

开始吧:我可以在我的代码中添加一些注释行,或者我可以设置一些 c9 配置来纠正该行为吗?

要删除错误和警告,您只需在 javascript 文件的顶部附近添加以下行:

/* globals jquery lodash someOtherLibrary */

但是,Cloud9 还没有对客户端库进行自动完成。

滥用 C9 需要支持

当您使用 var yourLibrary = require("./somefile.js"); 时,自动完成功能完美无缺。

但是,正如您所说,require() 不存在,您也不希望将 yourLibrary 设置为未定义。 (或者只是抛出一个错误)

事实证明,C9 并没有那么聪明:

//Your library was defined in some other file

var yourLibrary; //"This does nothing other than making C9 happy
function require() {return 1;} //Define the require function
if(false) {
   yourLibrary = require("yourLibraryFile.js");
}

现在,您可以使用自动完成功能(它甚至会显示文档注释)!

注意:它并不总是有效。