更新时间:2023-09-27 GMT+08:00
分享

设置优先级

配置可以在多个级别上被不同的设置范围覆盖。在以下列表中,较晚的作用域覆盖较早的作用域:

  • Default settings:此范围表示默认未配置的设置值。
  • User settings:全局应用于所有CodeArts IDE实例。
  • Workspace settings:应用于打开的文件夹或工作区。
  • Language-specific default settings:这些是特定于语言的默认值,可由扩展提供。
  • Language-specific user settings:特定于语言的用户设置:与用户设置相同,但特定于语言。
  • Language-specific workspace settings:与工作区设置相同,但特定于语言。

设置值可以是多种类型:

  • String:"files.autoSave":"afterDelay"
  • Boolean:"editor.minimap.enabled":true
  • Number:"files.autoSaveDelay":1000
  • Array:"editor.rulers":[]
  • Object:"search.exclude":{ "**/node_modules": true, "**/bower_components": true }

具有基元类型和数组类型的值将被覆盖,这意味着使用作用域中优先于另一个作用域的配置值,而不是另一个作用域中的值。但是,具有对象类型的值将合并。

例如,workbench.colorCustomizations采用一个对象,该对象指定一组UI元素及其所需颜色。如果您的用户设置将编辑器背景设置为蓝色和绿色。

  "workbench.colorCustomizations": {
    "editor.background": "#000088",
    "editor.selectionBackground": "#008800"
  }

打开的工作区设置将编辑器前景设置为红色:

  "workbench.colorCustomizations": {
    "editor.foreground": "#880000",
    "editor.selectionBackground": "#00FF00"
  }

当该工作区打开时,结果是这两种颜色自定义的组合,就像您指定了:

  "workbench.colorCustomizations": {
    "editor.background": "#000088",
    "editor.selectionBackground": "#00FF00",
    "editor.foreground": "#880000"
  }

如果存在冲突的值,如上面示例中的editor.selectionBackground,则会发生通常的覆盖行为,工作区值优先于用户值,语言特定的值优先于非语言特定的值。

相关文档