Расширение кода Visual Studio написано на JavaScript и ничем не отличается от стандартного сценария Node, поэтому, вообще говоря, вы можете использовать fs.readFile
для чтения манифеста расширения и JSON.parse
для чтения его значений.
В зависимости от вашего варианта использования возможны более простые варианты.
требуют ()
Чтобы прочитать собственное расширение package.json
, вы можете просто использовать require()
Пример:
// lib/extension.js
const meta = require('../package.json')
импорт
То же, что и выше, возможно с import
, по крайней мере при использовании TypeScript.
Пример
// src/extension.ts
import * as meta from '../package.json'
Обязательно добавьте объявления типов для файлов JSON
// src/index.d.ts
declare module '*.json' {
const value: any;
export default value;
}
Узловая зависимость
И последнее, но не менее важное: вы можете программно читать любое расширение package.json
. Упрощение использования пакетов Node, таких как vscode-read-manifest , read-pkg (или read-pkg-up ).
Пример:
const readManifest = require('vscode-read-manifest');
// Async
(async () => {
let manifest = await readManifest('ms-python.python');
})();
// Sync
let manifest = readManifest.sync('ms-python.python');