project panel: Add setting to disable auto opening project panel (#34752)

Release Notes:

- Add `project_panel.starts_open` to control opening project panel in
new projects.
This commit is contained in:
maan2003 2025-08-08 10:32:11 +05:30 committed by GitHub
parent 9edc01d9a5
commit 0169bddb59
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 13 additions and 1 deletions

View file

@ -596,6 +596,8 @@
// when a corresponding project entry becomes active.
// Gitignored entries are never auto revealed.
"auto_reveal_entries": true,
// Whether the project panel should open on startup.
"starts_open": true,
// Whether to fold directories automatically and show compact folders
// (e.g. "a/b/c" ) when a directory has only one subdirectory inside.
"auto_fold_dirs": true,

View file

@ -5625,6 +5625,10 @@ impl Panel for ProjectPanel {
}
fn starts_open(&self, _: &Window, cx: &App) -> bool {
if !ProjectPanelSettings::get_global(cx).starts_open {
return false;
}
let project = &self.project.read(cx);
project.visible_worktrees(cx).any(|tree| {
tree.read(cx)

View file

@ -43,6 +43,7 @@ pub struct ProjectPanelSettings {
pub sticky_scroll: bool,
pub auto_reveal_entries: bool,
pub auto_fold_dirs: bool,
pub starts_open: bool,
pub scrollbar: ScrollbarSettings,
pub show_diagnostics: ShowDiagnostics,
pub hide_root: bool,
@ -139,6 +140,10 @@ pub struct ProjectPanelSettingsContent {
///
/// Default: true
pub auto_fold_dirs: Option<bool>,
/// Whether the project panel should open on startup.
///
/// Default: true
pub starts_open: Option<bool>,
/// Scrollbar-related settings
pub scrollbar: Option<ScrollbarSettingsContent>,
/// Which files containing diagnostic errors/warnings to mark in the project panel.

View file

@ -3213,7 +3213,8 @@ Run the `theme selector: toggle` action in the command palette to see a current
"indent_guides": {
"show": "always"
},
"hide_root": false
"hide_root": false,
"starts_open": true
}
}
```