2016-03-26 25 views
15

Sto usando Visual Studio Code (VSC) 0.10.11 su Windows e Mac. Ai fini di questa domanda che ho questo piccolo frammento di codice JavaScript:Codice di Visual Studio Intellisense non funziona per Javascript

'use strict'; 

const os = require('os'); 
console.log(os.homedir()); 

ho seguito John Papa sul codice Visual Studio (Blog entry e Pluralsight Visual Studio Code JavaScript Intellisense - per coloro che hanno un account) e quindi mi aspetterei che VSC fornisce Intellisense e Opzioni di correzione rapida quando sono disponibili le tipizzazioni.

del frammento precedente VSC riconosce console e log() (uso aspirapolvere, ma è lo stesso con Intellisense):

console log

ma non os e homedir():

os homedir

Ma tutte e 4 le tipizzazioni sono disponibili in typings/main/ambient/node/index.d.ts. So che la differenza è require nel caso di os, ma nel corso di video di Giovanni Papa VSC ha anche fornito IntelliSense per i moduli richiesti. Una differenza è che John Papa ha utilizzato tsd mentre sto usando typings.

Quindi le mie domande sono

  • come posso abilitare IntelliSense per tutte le tipizzazioni noti?
  • cosa devo fare che VSC mi offre la correzione rapida (linea verde sotto moduli con digitings mancanti)?

risposta

16

I collegamenti precedenti non sono aggiornati. Nelle versioni precedenti del codice VS era necessario fare riferimento ai tipi di battitura come /// <reference path> for somelibrary.d.ts.

Con la nuova versione è necessario inizializzare il vostro progetto con la creazione di jsconfig.json alla base del progetto e aggiungere il seguente all'interno:

{ 
    "compilerOptions": { 
     "target": "es5", 
     "module": "commonjs" 
    }, 
    "exclude": [ 
     "node_modules" 
    ] 
} 

successiva installazione digitando il necessario. Puoi usare tsd o typings. Nel tuo caso devi installare tsd install node o typings install node --ambient. Assicurati di aver installato typings/tsd. Riavvia il progetto.

Si prega di fare riferimento alla documentazione:

  1. Setup progetto JS - https://code.visualstudio.com/docs/languages/javascript
  2. Node.js - https://code.visualstudio.com/docs/runtimes/nodejs
  3. Debug - https://code.visualstudio.com/docs/editor/debugging

Aggiornamento:

Dalla versione 1.7 c'è non è necessario installare manualmente i tipi, essi sh potrebbe essere scaricato automaticamente Better JavaScript IntelliSense

+2

Con un appropriato 'jsconfig.json' IntelliSense sta funzionando. Tuttavia, quando leggi la documentazione al tuo primo collegamento, dovrebbe essere il comportamento predefinito, anche quando non è disponibile 'jsconfig.json ': * Nota: Se non hai un jsconfig.json nel tuo spazio di lavoro, il codice VS sarà predefinito escludere la cartella node_modules e la cartella definita dall'attributo out. * + * IntelliSense viene fornito automaticamente per i moduli CommonJS e AMD all'interno delle cartelle del progetto. * Quindi penso che sia solo un bug che non funzioni senza il file di configurazione. Comunque, ora funziona. Grazie per la tua risposta! – ChrLipp

+4

https://code.visualstudio.com/updates/ Hanno modificato questo comportamento per jsconfig.json. > Se non si dispone di jsconfig.json nell'area di lavoro, vengono utilizzate le seguenti impostazioni predefinite: l'elenco di esclusione include la cartella node_modules e la cartella definita dall'attributo out. Tieni presente che se non hai definito jsconfig.json per contrassegnare la radice del tuo progetto, ogni file JavaScript viene considerato un'isola da Salsa. Senza un file jsconfig.json, il file incrociato e il file Typings IntelliSense non funzioneranno. –

+2

Penso che questo sia uno svantaggio dell'uso del software beta, le cose cambiano rapidamente. –

Problemi correlati