2017-08-07 1 views
0

J'ai utilisé des modules node.js que VS Code a fournis pour intellisense. Par exemple, j'ai installé une bibliothèque appelée jsonfile (via npm install jsonfile --save) et IntelliSense fonctionne comme ceci:Comment puis-je écrire des modules JavaScript de sorte que VS Code (et d'autres éditeurs) fournisse intellisense?

const j = require('jsonfile'); 
j. // VS Code intellisense suggests all the methods with a brief description of parameters nad the method itself 

En regardant le code jsonfile, je vois:

var jsonfile = { 
    spaces: null, 
    readFile: readFile, 
    readFileSync: readFileSync, 
    writeFile: writeFile, 
    writeFileSync: writeFileSync 
} 

module.exports = jsonfile 

Ceci est similaire à mon code, et Je ne reçois pas IntelliSense:

my-module.js

module.exports = (function() { 
    var x = "Hello I'm x" 
    var y = function() { 
     return "Hello I'm y" 
    } 
    return { 
     x: x, 
     y: y 
    } 
})() 

index.js

const m = require('./my-module.js'); 
m. // No intellisense :(

Question

Comment puis-je structurer mes propres modules pour que le code VS sera en mesure de fournir IntelliSense de base pour mon propre code ? Est-ce quelque chose à voir avec l'installation via npm? Ou y a-t-il un fichier externe dont j'ai besoin? Ou autre chose ...

Ceci est en fait similaire à une question posée ici: How can I make Visual Studio 2013 resolve Node.js require() modules and provide intellisense?. Mais, hélas, il n'y a pas de réponse. En outre, VS Code peut être différent de VS en termes d'implémentation d'intellisense.

Je suis également 100% sûr que c'est possible, puisque la bibliothèque jsonfile fait exactement cela.

En regardant plus loin, j'ai trouvé cette documentation: https://code.visualstudio.com/docs/languages/javascript. Ce qui semble être des instructions sur la façon d'atteindre ce qui précède. Je pense toujours que la question est pertinente, cependant, puisque je suis assez sûr qu'une réponse d'un paragraphe sur la façon d'obtenir intellisense rendrait beaucoup plus facile le fait de passer au crible la documentation.

Répondre

-1

Eh bien, voici un bref résumé que j'ai trouvé, en parcourant la documentation.

VS code IntelliSense est prévu JavaScript, tapuscrit, JSON, HTML, CSS, Moins, et Sass hors de la boîte. IntelliSense

Vous pouvez déclencher IntelliSense dans une fenêtre de l'éditeur en tapant Ctrl + Espace ou en tapant un caractère de déclenchement (tel que le caractère point (.) Dans JavaScript). Vous pouvez personnaliser votre expérience IntelliSense dans les paramètres et les raccourcis . Customizing IntelliSense

Si vous constatez que IntelliSense a cessé de fonctionner, le service de langue ne peut pas être en cours d'exécution. Essayez de redémarrer VS Code et ceci devrait résoudre le problème . Troubleshooting

Espérons que cela aide quelqu'un.

+0

presque :). Je ne demande pas comment intellisense fonctionne ou comment l'utiliser. Je demande comment je peux écrire des modules qui fonctionneront avec intellisense. c'est-à-dire que je veux intellisense pour mon propre code –

+0

Quelle langue spécifiquement? Javascript? Vous pouvez appuyer sur 'ctrl + space' s'il ne fonctionne pas par défaut. Cela a fonctionné pour moi au moins – Mekicha

+0

Je n'ai aucun problème en utilisant intellisense avec JavaScript merci. Essayez de relire la question –