VSCode: Как я могу заставить Intellisense работать с ванильным проектом Javascript? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть foo.js файл:

/**
 * Foo Class
 * @typedef {Object} Foo
 */
function Foo(){
}

Foo.prototype.sayHello = function (){
    alert("Hello!");
};

В моем bar.js файле у меня есть:

/** @type {Foo} */
var foo = new Foo();
foo.sayHello();

но если я наберу foo. Intellisense не предлагает sayHello().

Это старый ванильный проект Javascript (без npm / node / requirejs и т. Д.), Файл JS просто загружается в HTML с помощью:

<script src="foo.js"></script>
<script src="bar.js"></script>

Есть ли способ заставить Intellisense работать с ванильным проектом Javascript?

1 Ответ

0 голосов
/ 27 августа 2018

У вас должен быть совет от VSCode на function Foo(), предлагающий вместо этого использовать синтаксис ES2015 class. Этот синтаксис изменяет ваш код на

/**
 * Foo Class
 * @typedef {Object} Foo
 */
class Foo {
  constructor() {
  }
  sayHello() {
    alert("Hello!");
  }
}

И подсказки предоставляются в другом файле, как и ожидалось.

Тот же самый результат, интересно, сохраняя ваш код как есть и просто удаляя весь JSDoc.

...