Моя 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 в переменную App в global.js, она появится в автозаполнении, но не с помощью метода anotherMethod. Если бы я использовал var Extend = { /* code */ };, автообъект работал бы для объекта Extend, поэтому проблема, похоже, не связана с тем, что код распространяется на несколько файлов. Возможно, это потому, что один объект распространяется на несколько файлов... или что-то еще.
У кого-нибудь есть идеи?