在 vscode 基于 json 的设置编辑器中对设置进行排序

lon*_*nix 12 settings visual-studio-code

我使用 vscode 的原始设置编辑器 ( "workbench.settings.editor": "json"),因为它给了我更多的控制权。

截屏

问题是左侧的树 - 包含内部设置和扩展设置 - 未按字母顺序排序。非常难用。

在 vscode 存储库中,他们表示不会修复该问题,因为他们将重点放在新的 UI 上。

一定有办法对其进行排序。有谁知道如何(除了编写新的扩展)?

小智 11

是的,我们可以使用Sort Document的内置功能轻松对 VS Code JSON 设置进行排序,只需在编辑器视图中打开 JSON 设置文件,然后使用快捷方式打开命令面板,ctrl+shift+p或者cmd+shift+p 然后键入sort document(请参阅下面的 SS)并按 Enter 键。 在此输入图像描述

演示:

我的 VS Code JSON 设置

对文档进行排序之前:
{
  "cSpell.userWords": ["esbenp", "Monokai"],
  "#terminal.integrated.profiles.osx#": "bash",
  "chat.editor.fontSize": 11,
  "debug.console.fontSize": 10,
  "settingsSync.ignoredSettings": ["workbench.colorTheme"],
  "workbench.iconTheme": "material-icon-theme",
  "workbench.sideBar.location": "right",
  "workbench.tree.indent": 2,
  "workbench.colorCustomizations": {
    "tab.activeBackground": "#008080"
  },

  "editor.fontSize": 11,
  "editor.guides.bracketPairs": true,
  "editor.cursorBlinking": "expand",
  "editor.minimap.maxColumn": 30,
  "editor.wordWrap": "on",
  "editor.renderWhitespace": "all",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.formatOnPaste": true,
  "editor.tabSize": 2,
  "editor.fontFamily": "fira code, 'Courier New', monospace",
  "editor.fontLigatures": true,
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[markdown]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "terminal.integrated.fontSize": 10,
  "markdown.preview.fontSize": 10,
  "scm.inputFontSize": 11,
  "files.autoSave": "afterDelay",
  "tabnine.experimentalAutoImports": true,
  "files.eol": "\n"
}

Run Code Online (Sandbox Code Playgroud)
对文档进行排序后:
{
  "#terminal.integrated.profiles.osx#": "bash",
  "[css]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[html]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[jsonc]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[markdown]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[scss]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },
  "chat.editor.fontSize": 11,
  "cSpell.userWords": ["esbenp", "Monokai", "tabnine"],
  "debug.console.fontSize": 10,
  "editor.cursorBlinking": "expand",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.fontFamily": "fira code, 'Courier New', monospace",
  "editor.fontLigatures": true,
  "editor.fontSize": 11,
  "editor.formatOnPaste": true,
  "editor.formatOnSave": true,
  "editor.guides.bracketPairs": true,
  "editor.minimap.maxColumn": 30,
  "editor.renderWhitespace": "all",
  "editor.tabSize": 2,
  "editor.wordWrap": "on",
  "files.autoSave": "afterDelay",
  "files.eol": "\n",
  "markdown.preview.fontSize": 10,
  "scm.inputFontSize": 11,
  "settingsSync.ignoredSettings": ["workbench.colorTheme"],
  "tabnine.experimentalAutoImports": true,
  "terminal.integrated.fontSize": 10,
  "workbench.colorCustomizations": {
    "tab.activeBackground": "#008080"
  },
  "workbench.iconTheme": "material-icon-theme",
  "workbench.sideBar.location": "right",
  "workbench.tree.indent": 4
}

Run Code Online (Sandbox Code Playgroud)

谢谢。


lon*_*nix 2

从 1.59.0 开始,他们已经完全删除了split json 设置编辑器。

所以这个bug现在已经无关紧要了。

如果您希望将这些功能移植到新的设置编辑器,请投票此问题。除非人们表现出兴趣,否则他们会忽略它。