settings: Apply VS Code minimap default when importing settings (#56483)
When importing settings from VS Code, the minimap is now enabled by
default (matching VS Code's behavior) even if the user hasn't explicitly
set minimap-related options in their VS Code settings.json.
Previously, if `editor.minimap.enabled` and `editor.minimap.autohide`
were absent from the VS Code config, Zed would leave minimap at its own
default ("never"). Since VS Code defaults to minimap on, this caused a
mismatch for users expecting their VS Code experience to carry over.
Closes #56297
Release Notes:
- Fixed apply VS Code minimap default when importing settings
Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
This commit is contained in:
1 parent
83a46af64f
commit
1ae9e78200
2 files changed
+47
-12
No files matched your search
@@ -2177,6 +2177,9 @@ mod tests {
|
||||
r#" { "editor.tabSize": 37 } "#.to_owned(),
|
||||
r#"{
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
},
|
||||
"tab_size": 37
|
||||
}
|
||||
"#
|
||||
@@ -2195,6 +2198,9 @@ mod tests {
|
||||
r#"{ "editor.tabSize": 42 }"#.to_owned(),
|
||||
r#"{
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
},
|
||||
"tab_size": 42,
|
||||
"preferred_line_length": 99,
|
||||
}
|
||||
@@ -2215,6 +2221,9 @@ mod tests {
|
||||
r#"{}"#.to_owned(),
|
||||
r#"{
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
},
|
||||
"preferred_line_length": 99,
|
||||
"tab_size": 42
|
||||
}
|
||||
@@ -2241,6 +2250,9 @@ mod tests {
|
||||
"base_keymap": "VSCode",
|
||||
"tabs": {
|
||||
"git_status": true
|
||||
},
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
@@ -2265,7 +2277,10 @@ mod tests {
|
||||
"sort_mode": "mixed",
|
||||
"sort_order": "lower"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2282,6 +2297,9 @@ mod tests {
|
||||
r#"{ "editor.fontFamily": "Cascadia Code, 'Consolas', Courier New" }"#.to_owned(),
|
||||
r#"{
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
},
|
||||
"buffer_font_fallbacks": [
|
||||
"Consolas",
|
||||
"Courier New"
|
||||
@@ -2305,7 +2323,10 @@ mod tests {
|
||||
"terminal": {
|
||||
"bell": "system"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2324,7 +2345,10 @@ mod tests {
|
||||
"terminal": {
|
||||
"bell": "off"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2343,7 +2367,10 @@ mod tests {
|
||||
"terminal": {
|
||||
"bell": "system"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2362,7 +2389,10 @@ mod tests {
|
||||
"terminal": {
|
||||
"bell": "off"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2385,7 +2415,10 @@ mod tests {
|
||||
"terminal": {
|
||||
"bell": "off"
|
||||
},
|
||||
"base_keymap": "VSCode"
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
}
|
||||
}
|
||||
"#
|
||||
.unindent(),
|
||||
@@ -2406,6 +2439,9 @@ mod tests {
|
||||
.to_owned(),
|
||||
r#"{
|
||||
"base_keymap": "VSCode",
|
||||
"minimap": {
|
||||
"show": "always"
|
||||
},
|
||||
"hover_popover_hiding_delay": 500,
|
||||
"hover_popover_sticky": false
|
||||
}
|
||||
|
||||
@@ -474,13 +474,12 @@ impl VsCodeSettings {
|
||||
}
|
||||
|
||||
fn minimap_content(&self) -> Option<MinimapContent> {
|
||||
let minimap_enabled = self.read_bool("editor.minimap.enabled");
|
||||
let autohide = self.read_bool("editor.minimap.autohide");
|
||||
let minimap_enabled = self.read_bool("editor.minimap.enabled").unwrap_or(true);
|
||||
let autohide = self.read_bool("editor.minimap.autohide").unwrap_or(false);
|
||||
let show = match (minimap_enabled, autohide) {
|
||||
(Some(true), Some(false)) => Some(ShowMinimap::Always),
|
||||
(Some(true), _) => Some(ShowMinimap::Auto),
|
||||
(Some(false), _) => Some(ShowMinimap::Never),
|
||||
_ => None,
|
||||
(true, false) => Some(ShowMinimap::Always),
|
||||
(true, true) => Some(ShowMinimap::Auto),
|
||||
(false, _) => Some(ShowMinimap::Never),
|
||||
};
|
||||
|
||||
skip_default(MinimapContent {
|
||||
|
||||
Reference in new issue
Block a user