我的 IDE 是 Zend Studio 8,它具有针对 JavaScript 的相对基本的透视图(与 Eclipse PDT 中的透视图相似(如果不相同))。在我正在处理的应用程序中,我们在多个文件中扩展了一个基础对象,这有效地扼杀了自动完成功能。请参阅下面的示例场景...
// global.js
var App = {
objectA: {
method1: function() {},
method2: function() {}
},
objectB: {
method1: function() {},
method2: function() {}
}
};
// extend.js
App.Extend = {
anotherMethod: function() {}
};
在这种情况下,键入 App.
会导致自动完成显示 objectA
和 objectB
,但不会显示 Extend
.如果我将 Extend 添加到 global.js 中的 App 变量,它将出现在自动完成中,但不会出现在 anotherMethod 中。如果我使用 var Extend = {/* code */};
,自动完成将适用于 Extend
对象,所以问题似乎与代码跨多个文件扩展的事实。可能是因为单个对象分布在多个文件中……或者其他原因。
有人有什么想法吗?
最佳答案
由于 Javascript 不是编译语言,IDE 不知道您的扩展类在哪里。一些高级 IDE 试图通过将每个 javascript 文件视为单个项目的一部分来解决此问题,因此在后台将它们组合起来以提供自动完成功能。
我玩过各种 IDE,我见过它工作的唯一 IDE 是 Jetbrain's Webstorm
关于php - 在 Zend Studio (Eclipse PDT) 中跨多个文件扩展的单个 JavaScript 对象的自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299668/