Есть ли способ получить все предложения во внешнем модуле в VS Code?

#javascript #node.js #visual-studio-code

#javascript #node.js #visual-studio-code

Вопрос:

VS Code не показывает все методы текущего объекта.

Текущее поведение: s

Чего я ожидаю:

После выполнения этого кода я вижу все методы объекта. Я хочу видеть их все во всплывающем окне предложений.

 const officegen = require("officegen");
var docx = officegen("docx");
console.log(docx);
 

Результат:

 officegen {
  ... // skipped a lot of output
  setTheme: [Function],
  setDocTitle: [Function],
  setDocSubject: [Function],
  setDocKeywords: [Function],
  setDescription: [Function],
  setDocCategory: [Function],
  setDocStatus: [Function],
  data: [],
  createP: [Function],
  createListOfDots: [Function],
  createListOfNumbers: [Function],
  putPageBreak: [Function],
  addPageBreak: [Function],
  createTable: [Function],
  createJson: [Function],
  createByJson: [Function],
  getHeader: [Function],
  getFooter: [Function] }
 

Ответ №1:

VSCode использует движок typescript для статического анализа кодовой базы js, а затем дает вам предложение. Однако из-за гибкости js невозможно выполнить идеальный статический анализ без некоторой помощи автора кода.

В вашем случае исходный код библиотеки «officegen», вероятно, не является оптимальным, чтобы позволить typescript анализировать и предоставлять наилучшие предложения. Нет конфигурации, которую вы могли бы улучшить.

Однако вы можете написать .d.ts файл, который поможет typescript понять содержимое библиотеки «officegen». Но эта работа требует больших усилий.