簡體   English   中英

有沒有辦法在運行時獲取擴展的設置(在package.json中定義)?

[英]Is there a way to get the extension's settings (defined in package.json) at runtime?

在Visual Studio代碼擴展中,有沒有辦法在運行時獲取擴展的設置(在package.json中定義)? 我想得到一些值(如displayName)。

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 使用諸如vscode-read-manifest之類的Node包, 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');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM