2010-05-04 5 views
1

Depuis que javascript intellisense semble fonctionner dans VS2010, j'ai pensé que je pourrais en ajouter à ces scripts que j'inclus dans presque tout. la peine que je suis en cours d'exécution en est, il ne semble pasVS2010: javascript intellisense: spécification des propriétés pour les objets 'options' passées aux méthodes

function myFunc(options){ 
    var myVar1 = options.myVar1, 
     myVar2 = options.myVar2, 
     myVar3 = options.myVar3; 
    ... 
} 

être un:

Le problème est, sur certaines fonctions complexes, j'utiliser l'option des objets au lieu de passer des paramètres je ne sais combien différents, comme si façon de spécifier quelles propriétés doivent avoir options. Je l'ai essayé ceci:

function myFunc(options){ 
    ///<summary>my func does stuff...</summary> 
    ///<param name="options"> 
    ///myVar1 : the first var 
    ///myVar2 : the second var 
    ///myVar3 : the third var 
    ///</param> 

    var myVar1 = options.myVar1, 
     myVar2 = options.myVar2, 
     myVar3 = options.myVar3; 
    ... 
} 

mais les sauts de ligne sont supprimés et tous les commentaires de propriété courir ensemble, ce qui les rend difficiles à lire bêtement.

J'ai essayé les balises <para>, mais en vain.

Si quelqu'un a des idées sur la façon dont je pourrais y parvenir, s'il vous plaît faites le moi savoir.

-Brandon

Répondre

0

Le fichier vsdoc pour jQuery utilise cette approche. Vous devez juste essayer de le formater pour qu'il soit plus lisible même si tout est sur une ligne. Par exemple, voici un extrait du fichier vsdoc jQuery 1.4.1:

jQuery.fn[ "blur" ] = function(fn) { 
/// <summary> 
///  1: blur() - Triggers the blur event of each matched element. 
///  2: blur(fn) - Binds a function to the blur event of each matched element. 
/// </summary> 
/// <param name="fn" type="Function">The function to execute.</param> 
/// <returns type="jQuery" /> 

return fn ? this.bind("blur", fn) : this.trigger("blur"); 

}; Les info-bulles qui en résultent mettent tout sur une ligne, mais elles sont encore assez lisibles, grâce à la structure de chacun des éléments (surtout parce qu'il y a un '.' À la fin de chacun d'entre eux).

2

Vous pouvez forcer des sauts de ligne en utilisant cette syntaxe:

/// <summary> 
/// My method description 
/// </summary> 
/// <param name="options" type="Object"> 
///  A JSON Object 
///  &#10;1 - prop1: name 
///  &#10;2 - prop2: id 
///  &#10;3 - onSuccess: function to exec 
/// </param> 
Questions connexes