簡體   English   中英

如何獲取 settings.json 內容來自 vscode api 擴展

[英]How to get settings.json content from vscode api extension

我正在構建一個 vscode 擴展,我需要 settings.json 文件的內容。 我嘗試了下面的一個來獲得一個特定的值,比如colorTheme

const workSpaceConfig = vscode.workspace.getConfiguration("editor");
console.log(workSpaceConfig.get("fontSize")); // which returns 14

如果想要 settings.json 中的全部內容怎么辦,如下所示。

Settings.json(示例),

{
  "workbench.colorTheme": "Quiet Light",
  "workbench.iconTheme": "material-icon-theme",
  "editor.fontSize": 14,
  "editor.formatOnSave": true,
  ...
}

這可能會幫助您入門,但尚不清楚您打算如何使用返回的信息。

  let all = await vscode.workspace.getConfiguration();

  let allAsJSON = JSON.parse(JSON.stringify(all));  // the key line

  const editorSettings = allAsJSON.editor;

  ==> 
    {
      tabSize: 2,
      insertSpaces: true,
      detectIndentation: false,
      trimAutoWhitespace: true,
      largeFileOptimizations: true,
      wordBasedSuggestions: true,
      wordBasedSuggestionsMode: "matchingDocuments",
      semanticHighlighting: {
        enabled: "configuredByTheme",
      },
      <etc.>
    }

  const editorFontSizeSetting = editorSettings.fontSize;  // 14

  // all["editor"].fontSize ==> 14  // this also works
  

另一種方法是找到settings.json文件, JSON.parse()它。

正如@LexLi 在他的評論中暗示的那樣,例如,用戶設置可以被工作場所設置覆蓋。

暫無
暫無

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

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