Код Visual Studio Intellisense не работает для Javascript

Я использую Visual Studio Code (VSC) 0.10.11 для Windows и Mac. Для этого вопроса у меня есть этот небольшой фрагмент JavaScript:

'use strict';

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

Я последовал за Джоном Папой в коде Visual Studio (Запись в блоге и Код Visual Studio Visual Studio JavaScript Intellisense - для тех, у кого есть учетная запись), и поэтому я ожидаю, что VSC предоставит опции Intellisense и Quick fix, когда доступны типы.

В фрагменте выше VSC распознается console и log() (я использую hoover, но он совпадает с Intellisense):

console log

но не os и homedir():

os homedir

Но все 4 типа доступны в typings/main/ambient/node/index.d.ts. Я знаю, что разница в require в случае os, но в видеоролике John Papa VSC также предоставила IntelliSense для требуемых модулей. Разница в том, что Джон Папа использовал tsd, пока я использую typings.

Итак, мои вопросы

  • Как включить Intellisense для всех известных типов?
  • Что мне нужно сделать, что VSC предлагает мне быстрое исправление (зеленая линия по модулю с отсутствующими типом)?

Ответы

Ответ 1

Вышеупомянутые ссылки устарели. В более старых версиях кода VS вам нужно было ссылаться на ваши типизации типа /// <reference path> for somelibrary.d.ts.

С новой версией вам нужно инициализировать проект, создав jsconfig.json в корне вашего проекта и добавив следующее внутри:

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

Затем введите нужную вам команду. Вы можете использовать либо tsd, либо typings. В вашем случае вам нужно установить tsd install node или typings install node --ambient. Убедитесь, что у вас установлен typings/tsd. Перезапустите проект.

Обратитесь к документам:

Update:

Начиная с версии 1.7 нет необходимости вручную устанавливать типизацию, они должны быть загружены автоматически. Улучшенный JavaScript IntelliSense