Javascript Cloud9中多个js文件的自动完成
我正试图将我的工作区移动到c9,因为当我在NodeJS项目上工作时,Ace编辑器的自动完成功能让我非常高兴 但现在我想在客户端处理JS文件。正是从这一点上,自动完成出错了。事实上,在JS文件本身内部的客户端JS中并没有诸如“require”命令之类的命令(除了使用一些插件)来通知在JS中使用的其他源文件 因此,当我在一个JS文件中使用在另一个文件中定义的函数(甚至是库、框架:jquery等)时,Ace会通知我该函数未定义(因为我猜它无法知道该函数是在另一个文件中定义的)Javascript Cloud9中多个js文件的自动完成,javascript,autocomplete,cloud9-ide,ace-editor,Javascript,Autocomplete,Cloud9 Ide,Ace Editor,我正试图将我的工作区移动到c9,因为当我在NodeJS项目上工作时,Ace编辑器的自动完成功能让我非常高兴 但现在我想在客户端处理JS文件。正是从这一点上,自动完成出错了。事实上,在JS文件本身内部的客户端JS中并没有诸如“require”命令之类的命令(除了使用一些插件)来通知在JS中使用的其他源文件 因此,当我在一个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");
}
现在,您可以使用autocomplete(它甚至显示文档注释)
注意:它并不总是有效。好的,我想这是我能期望的最好答案。感谢