设置优先级
配置可以在多个级别上被不同的设置范围覆盖。在以下列表中,较晚的作用域覆盖较早的作用域:
- 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,则会发生通常的覆盖行为,工作区值优先于用户值,语言特定的值优先于非语言特定的值。