Моя 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
, поэтому проблема, похоже, не связана с тем, что код распространяется на несколько файлов. Возможно, это потому, что один объект распространяется на несколько файлов... или что-то еще.
У кого-нибудь есть идеи?