2010-11-22 23 views
1

Je n'arrive pas à obtenir Intellisense pour afficher des méthodes autres que les méthodes Object lorsque j'hérite via Ext.extend(). Est-il possible pour Intellisense d'afficher les méthodes supplémentaires?Est-ce que Intellisense fonctionne avec des objets étendus avec Ext.extend?

J'ai utilisé la solution de contournement proposée dans this SO question pour obtenir les espaces de noms fonctionnels, donc je ne crois pas que cela soit lié à ce problème.

Exemple de code est ci-dessous:

///<reference path="ext-base.js" /> 
///<reference path="ext-all.js" /> 
///<reference path="namespace.js" /> 
MNS.Production.DetailedGrid = Ext.extend(MNS.commonUI.GridPanel, 
{ 
    initComponent: function() { 
    var columns = this.getColumns(); 
    }, 

    getColumns: function() { 
    var columns = 
    //...build columns 
    }, 
    //.... 
    //....Additional methods, etc. 
}); 


var detailedGrid = new MNS.Production.DetailedGrid(); 

Bien que je reçois IntelliSense pour la commande MNS.Production.DetailedGrid(), je ne suis pas IntelliSense sur les méthodes de l'objet detailedGrid, à l'exception des méthodes par défaut. Comment obtenir Visual Studio pour afficher ces méthodes?

Répondre

0

J'ai trouvé que bien qu'il y ait two ways to extend an object using ExtJS, la seule façon que IntelliSense fonctionnera avec votre code est si vous utilisez la syntaxe suivante:

///<reference path="ext-base.js" /> 
///<reference path="ext-all.js" />  
// create constructor for new class 
Ext.ResizableConstrained = function(el, config){ 
    Ext.ResizableConstrained.superclass.constructor.call(this, el, config); 
}; 

// extend the base class 
Ext.extend(Ext.ResizableConstrained, Ext.Resizable, { 
    setXConstraint : function(left, right){ 
     // Obtain a reference to parent dd property and setXConstraint 
     this.dd.setXConstraint(left, right); 
    }, 

    setYConstraint : function(up, down){ 
    // Obtain a reference to parent dd property and setYConstraint 
    this.dd.setYConstraint(up, down); 
    } 
}); 

Les /// références doivent être au haut du fichier.

0

Avez-vous vu ce message MSDN? MSDN Blog

+0

Cet article de blog mentionne que le correctif est pour 2008, et serait corrigé pour la prochaine version. Comme j'utilise 2010, je ne m'attendais pas à ce que ça marche, mais je l'ai essayé de toute façon sans aucune chance. – amccormack