{ // The name of the Zed theme to use for the UI. // // `mode` is one of: // - "system": Use the theme that corresponds to the system's appearance // - "light": Use the theme indicated by the "light" field // - "dark": Use the theme indicated by the "dark" field "theme": { "mode": "system", "light": "One Light", "dark": "One Dark" }, // The name of a base set of key bindings to use. // This setting can take four values, each named after another // text editor: // // 1. "VSCode" // 2. "JetBrains" // 3. "SublimeText" // 4. "Atom" "base_keymap": "VSCode", // Features that can be globally enabled or disabled "features": { // Which inline completion provider to use. "inline_completion_provider": "copilot" }, // The name of a font to use for rendering text in the editor "buffer_font_family": "Zed Plex Mono", // The OpenType features to enable for text in the editor. "buffer_font_features": { // Disable ligatures: // "calt": false }, // The default font size for text in the editor "buffer_font_size": 15, // The weight of the editor font in standard CSS units from 100 to 900. "buffer_font_weight": 400, // Set the buffer's line height. // May take 3 values: // 1. Use a line height that's comfortable for reading (1.618) // "buffer_line_height": "comfortable" // 2. Use a standard line height, (1.3) // "buffer_line_height": "standard", // 3. Use a custom line height // "buffer_line_height": { // "custom": 2 // }, "buffer_line_height": "comfortable", // The name of a font to use for rendering text in the UI // (On macOS) You can set this to ".SysmtemUIFont" to use the system font "ui_font_family": "Zed Plex Sans", // The OpenType features to enable for text in the UI "ui_font_features": { // Disable ligatures: "calt": false }, // The weight of the UI font in standard CSS units from 100 to 900. "ui_font_weight": 400, // The default font size for text in the UI "ui_font_size": 16, // The factor to grow the active pane by. Defaults to 1.0 // which gives the same size as all other panes. "active_pane_magnification": 1.0, // Centered layout related settings. "centered_layout": { // The relative width of the left padding of the central pane from the // workspace when the centered layout is used. "left_padding": 0.2, // The relative width of the right padding of the central pane from the // workspace when the centered layout is used. "right_padding": 0.2 }, // The key to use for adding multiple cursors // Currently "alt" or "cmd_or_ctrl" (also aliased as // "cmd" and "ctrl") are supported. "multi_cursor_modifier": "alt", // Whether to enable vim modes and key bindings. "vim_mode": false, // Whether to show the informational hover box when moving the mouse // over symbols in the editor. "hover_popover_enabled": true, // Whether to confirm before quitting Zed. "confirm_quit": false, // Whether to restore last closed project when fresh Zed instance is opened. "restore_on_startup": "last_workspace", // Size of the drop target in the editor. "drop_target_size": 0.2, // Whether the window should be closed when using 'close active item' on a window with no tabs. // May take 3 values: // 1. Use the current platform's convention // "when_closing_with_no_tabs": "platform_default" // 2. Always close the window: // "when_closing_with_no_tabs": "close_window", // 3. Never close the window // "when_closing_with_no_tabs": "keep_window_open", "when_closing_with_no_tabs": "platform_default", // Whether the cursor blinks in the editor. "cursor_blink": true, // How to highlight the current line in the editor. // // 1. Don't highlight the current line: // "none" // 2. Highlight the gutter area: // "gutter" // 3. Highlight the editor area: // "line" // 4. Highlight the full line (default): // "all" "current_line_highlight": "all", // Whether to pop the completions menu while typing in an editor without // explicitly requesting it. "show_completions_on_input": true, // Whether to display inline and alongside documentation for items in the // completions menu "show_completion_documentation": true, // The debounce delay before re-querying the language server for completion // documentation when not included in original completion list. "completion_documentation_secondary_query_debounce": 300, // Whether to show wrap guides (vertical rulers) in the editor. // Setting this to true will show a guide at the 'preferred_line_length' value // if softwrap is set to 'preferred_line_length', and will show any // additional guides as specified by the 'wrap_guides' setting. "show_wrap_guides": true, // Character counts at which to show wrap guides in the editor. "wrap_guides": [], // Hide the values of in variables from visual display in private files "redact_private_values": false, // The default number of lines to expand excerpts in the multibuffer by. "expand_excerpt_lines": 3, // Globs to match against file paths to determine if a file is private. "private_files": [ "**/.env*", "**/*.pem", "**/*.key", "**/*.cert", "**/*.crt", "**/secrets.yml" ], // Whether to use additional LSP queries to format (and amend) the code after // every "trigger" symbol input, defined by LSP server capabilities. "use_on_type_format": true, // Whether to automatically add matching closing characters when typing // opening parenthesis, bracket, brace, single or double quote characters. // For example, when you type (, Zed will add a closing ) at the correct position. "use_autoclose": true, // Whether to automatically surround selected text when typing opening parenthesis, // bracket, brace, single or double quote characters. // For example, when you select text and type (, Zed will surround the text with (). "use_auto_surround": true, // Controls how the editor handles the autoclosed characters. // When set to `false`(default), skipping over and auto-removing of the closing characters // happen only for auto-inserted characters. // Otherwise(when `true`), the closing characters are always skipped over and auto-removed // no matter how they were inserted. "always_treat_brackets_as_autoclosed": false, // Controls whether inline completions are shown immediately (true) // or manually by triggering `editor::ShowInlineCompletion` (false). "show_inline_completions": true, // Whether to show tabs and spaces in the editor. // This setting can take three values: // // 1. Draw tabs and spaces only for the selected text (default): // "selection" // 2. Do not draw any tabs or spaces: // "none" // 3. Draw all invisible symbols: // "all" // 4. Draw whitespaces at boundaries only: // "boundary" // For a whitespace to be on a boundary, any of the following conditions need to be met: // - It is a tab // - It is adjacent to an edge (start or end) // - It is adjacent to a whitespace (left or right) "show_whitespaces": "selection", // Settings related to calls in Zed "calls": { // Join calls with the microphone live by default "mute_on_join": false, // Share your project when you are the first to join a channel "share_on_join": false }, // Toolbar related settings "toolbar": { // Whether to show breadcrumbs. "breadcrumbs": true, // Whether to show quick action buttons. "quick_actions": true, // Whether to show the Selections menu in the editor toolbar "selections_menu": true }, // Scrollbar related settings "scrollbar": { // When to show the scrollbar in the editor. // This setting can take four values: // // 1. Show the scrollbar if there's important information or // follow the system's configured behavior (default): // "auto" // 2. Match the system's configured behavior: // "system" // 3. Always show the scrollbar: // "always" // 4. Never show the scrollbar: // "never" "show": "auto", // Whether to show cursor positions in the scrollbar. "cursors": true, // Whether to show git diff indicators in the scrollbar. "git_diff": true, // Whether to show buffer search results in the scrollbar. "search_results": true, // Whether to show selected symbol occurrences in the scrollbar. "selected_symbol": true, // Whether to show diagnostic indicators in the scrollbar. "diagnostics": true }, // What to do when multibuffer is double clicked in some of its excerpts // (parts of singleton buffers). // May take 2 values: // 1. Behave as a regular buffer and select the whole word (default). // "double_click_in_multibuffer": "select" // 2. Open the excerpt clicked as a new buffer in the new tab. // "double_click_in_multibuffer": "open", // For the case of "open", regular selection behavior can be achieved by holding `alt` when double clicking. "double_click_in_multibuffer": "select", "gutter": { // Whether to show line numbers in the gutter. "line_numbers": true, // Whether to show code action buttons in the gutter. "code_actions": true, // Whether to show runnables buttons in the gutter. "runnables": true, // Whether to show fold buttons in the gutter. "folds": true }, "indent_guides": { /// Whether to show indent guides in the editor. "enabled": true, /// The width of the indent guides in pixels, between 1 and 10. "line_width": 1, /// The width of the active indent guide in pixels, between 1 and 10. "active_line_width": 1, /// Determines how indent guides are colored. /// This setting can take the following three values: /// /// 1. "disabled" /// 2. "fixed" /// 3. "indent_aware" "coloring": "fixed", /// Determines how indent guide backgrounds are colored. /// This setting can take the following two values: /// /// 1. "disabled" /// 2. "indent_aware" "background_coloring": "disabled" }, // Whether the editor will scroll beyond the last line. "scroll_beyond_last_line": "one_page", // The number of lines to keep above/below the cursor when scrolling. "vertical_scroll_margin": 3, // Scroll sensitivity multiplier. This multiplier is applied // to both the horizontal and vertical delta values while scrolling. "scroll_sensitivity": 1.0, "relative_line_numbers": false, // When to populate a new search's query based on the text under the cursor. // This setting can take the following three values: // // 1. Always populate the search query with the word under the cursor (default). // "always" // 2. Only populate the search query when there is text selected // "selection" // 3. Never populate the search query // "never" "seed_search_query_from_cursor": "always", // Inlay hint related settings "inlay_hints": { // Global switch to toggle hints on and off, switched off by default. "enabled": false, // Toggle certain types of hints on and off, all switched on by default. "show_type_hints": true, "show_parameter_hints": true, // Corresponds to null/None LSP hint type value. "show_other_hints": true, // Time to wait after editing the buffer, before requesting the hints, // set to 0 to disable debouncing. "edit_debounce_ms": 700, // Time to wait after scrolling the buffer, before requesting the hints, // set to 0 to disable debouncing. "scroll_debounce_ms": 50 }, "project_panel": { // Whether to show the project panel button in the status bar "button": true, // Default width of the project panel. "default_width": 240, // Where to dock the project panel. Can be 'left' or 'right'. "dock": "left", // Whether to show file icons in the project panel. "file_icons": true, // Whether to show folder icons or chevrons for directories in the project panel. "folder_icons": true, // Whether to show the git status in the project panel. "git_status": true, // Amount of indentation for nested items. "indent_size": 20, // Whether to reveal it in the project panel automatically, // when a corresponding project entry becomes active. // Gitignored entries are never auto revealed. "auto_reveal_entries": 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": false, /// Scrollbar-related settings "scrollbar": { /// When to show the scrollbar in the project panel. /// /// Default: always "show": "always" } }, "outline_panel": { // Whether to show the outline panel button in the status bar "button": true, // Default width of the outline panel. "default_width": 300, // Where to dock the outline panel. Can be 'left' or 'right'. "dock": "left", // Whether to show file icons in the outline panel. "file_icons": true, // Whether to show folder icons or chevrons for directories in the outline panel. "folder_icons": true, // Whether to show the git status in the outline panel. "git_status": true, // Amount of indentation for nested items. "indent_size": 20, // Whether to reveal it in the outline panel automatically, // when a corresponding outline entry becomes active. // Gitignored entries are never auto revealed. "auto_reveal_entries": true, /// Whether to fold directories automatically /// when a directory has only one directory inside. "auto_fold_dirs": true }, "collaboration_panel": { // Whether to show the collaboration panel button in the status bar. "button": true, // Where to dock the collaboration panel. Can be 'left' or 'right'. "dock": "left", // Default width of the collaboration panel. "default_width": 240 }, "chat_panel": { // Whether to show the chat panel button in the status bar. "button": true, // Where to the chat panel. Can be 'left' or 'right'. "dock": "right", // Default width of the chat panel. "default_width": 240 }, "message_editor": { // Whether to automatically replace emoji shortcodes with emoji characters. // For example: typing `:wave:` gets replaced with `👋`. "auto_replace_emoji_shortcode": true }, "notification_panel": { // Whether to show the notification panel button in the status bar. "button": true, // Where to dock the notification panel. Can be 'left' or 'right'. "dock": "right", // Default width of the notification panel. "default_width": 380 }, "assistant": { // Version of this setting. "version": "1", // Whether the assistant is enabled. "enabled": true, // Whether to show the assistant panel button in the status bar. "button": true, // Where to dock the assistant panel. Can be 'left', 'right' or 'bottom'. "dock": "right", // Default width when the assistant is docked to the left or right. "default_width": 640, // Default height when the assistant is docked to the bottom. "default_height": 320, // AI provider. "provider": { "name": "openai", // The default model to use when creating new contexts. This // setting can take three values: // // 1. "gpt-3.5-turbo" // 2. "gpt-4" // 3. "gpt-4-turbo-preview" // 4. "gpt-4o" "default_model": "gpt-4o" } }, // Whether the screen sharing icon is shown in the os status bar. "show_call_status_icon": true, // Whether to use language servers to provide code intelligence. "enable_language_server": true, // Whether to perform linked edits of associated ranges, if the language server supports it. // For example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well. "linked_edits": true, // The list of language servers to use (or disable) for all languages. // // This is typically customized on a per-language basis. "language_servers": ["..."], // When to automatically save edited buffers. This setting can // take four values. // // 1. Never automatically save: // "autosave": "off", // 2. Save when changing focus away from the Zed window: // "autosave": "on_window_change", // 3. Save when changing focus away from a specific buffer: // "autosave": "on_focus_change", // 4. Save when idle for a certain amount of time: // "autosave": { "after_delay": {"milliseconds": 500} }, "autosave": "off", // Settings related to the editor's tab bar. "tab_bar": { // Whether or not to show the tab bar in the editor "show": true, // Whether or not to show the navigation history buttons. "show_nav_history_buttons": true }, // Settings related to the editor's tabs "tabs": { // Show git status colors in the editor tabs. "git_status": false, // Position of the close button on the editor tabs. "close_position": "right" }, // Settings related to preview tabs. "preview_tabs": { // Whether preview tabs should be enabled. // Preview tabs allow you to open files in preview mode, where they close automatically // when you switch to another file unless you explicitly pin them. // This is useful for quickly viewing files without cluttering your workspace. "enabled": true, // Whether to open tabs in preview mode when selected from the file finder. "enable_preview_from_file_finder": false, // Whether a preview tab gets replaced when code navigation is used to navigate away from the tab. "enable_preview_from_code_navigation": false }, // Whether or not to remove any trailing whitespace from lines of a buffer // before saving it. "remove_trailing_whitespace_on_save": true, // Whether to start a new line with a comment when a previous line is a comment as well. "extend_comment_on_newline": true, // Whether or not to ensure there's a single newline at the end of a buffer // when saving it. "ensure_final_newline_on_save": true, // Whether or not to perform a buffer format before saving // // Keep in mind, if the autosave with delay is enabled, format_on_save will be ignored "format_on_save": "on", // How to perform a buffer format. This setting can take 4 values: // // 1. Format code using the current language server: // "formatter": "language_server" // 2. Format code using an external command: // "formatter": { // "external": { // "command": "prettier", // "arguments": ["--stdin-filepath", "{buffer_path}"] // } // } // 3. Format code using Zed's Prettier integration: // "formatter": "prettier" // 4. Default. Format files using Zed's Prettier integration (if applicable), // or falling back to formatting via language server: // "formatter": "auto" "formatter": "auto", // How to soft-wrap long lines of text. // Possible values: // // 1. Do not soft wrap. // "soft_wrap": "none", // 2. Prefer a single line generally, unless an overly long line is encountered. // "soft_wrap": "prefer_line", // 3. Soft wrap lines that overflow the editor. // "soft_wrap": "editor_width", // 4. Soft wrap lines at the preferred line length. // "soft_wrap": "preferred_line_length", "soft_wrap": "prefer_line", // The column at which to soft-wrap lines, for buffers where soft-wrap // is enabled. "preferred_line_length": 80, // Whether to indent lines using tab characters, as opposed to multiple // spaces. "hard_tabs": false, // How many columns a tab should occupy. "tab_size": 4, // Control what info is collected by Zed. "telemetry": { // Send debug info like crash reports. "diagnostics": true,Lines 1–500 of 920. Load more
{ // The name of the Zed theme to use for the UI. // // `mode` is one of: // - "system": Use the theme that corresponds to the system's appearance // - "light": Use the theme indicated by the "light" field // - "dark": Use the theme indicated by the "dark" field "theme": { "mode": "system", "light": "One Light", "dark": "One Dark" }, // The name of a base set of key bindings to use. // This setting can take four values, each named after another // text editor: // // 1. "VSCode" // 2. "JetBrains" // 3. "SublimeText" // 4. "Atom" "base_keymap": "VSCode", // Features that can be globally enabled or disabled "features": { // Which inline completion provider to use. "inline_completion_provider": "copilot" }, // The name of a font to use for rendering text in the editor "buffer_font_family": "Zed Plex Mono", // The OpenType features to enable for text in the editor. "buffer_font_features": { // Disable ligatures: // "calt": false }, // The default font size for text in the editor "buffer_font_size": 15, // The weight of the editor font in standard CSS units from 100 to 900. "buffer_font_weight": 400, // Set the buffer's line height. // May take 3 values: // 1. Use a line height that's comfortable for reading (1.618) // "buffer_line_height": "comfortable" // 2. Use a standard line height, (1.3) // "buffer_line_height": "standard", // 3. Use a custom line height // "buffer_line_height": { // "custom": 2 // }, "buffer_line_height": "comfortable", // The name of a font to use for rendering text in the UI // (On macOS) You can set this to ".SysmtemUIFont" to use the system font "ui_font_family": "Zed Plex Sans", // The OpenType features to enable for text in the UI "ui_font_features": { // Disable ligatures: "calt": false }, // The weight of the UI font in standard CSS units from 100 to 900. "ui_font_weight": 400, // The default font size for text in the UI "ui_font_size": 16, // The factor to grow the active pane by. Defaults to 1.0 // which gives the same size as all other panes. "active_pane_magnification": 1.0, // Centered layout related settings. "centered_layout": { // The relative width of the left padding of the central pane from the // workspace when the centered layout is used. "left_padding": 0.2, // The relative width of the right padding of the central pane from the // workspace when the centered layout is used. "right_padding": 0.2 }, // The key to use for adding multiple cursors // Currently "alt" or "cmd_or_ctrl" (also aliased as // "cmd" and "ctrl") are supported. "multi_cursor_modifier": "alt", // Whether to enable vim modes and key bindings. "vim_mode": false, // Whether to show the informational hover box when moving the mouse // over symbols in the editor. "hover_popover_enabled": true, // Whether to confirm before quitting Zed. "confirm_quit": false, // Whether to restore last closed project when fresh Zed instance is opened. "restore_on_startup": "last_workspace", // Size of the drop target in the editor. "drop_target_size": 0.2, // Whether the window should be closed when using 'close active item' on a window with no tabs. // May take 3 values: // 1. Use the current platform's convention // "when_closing_with_no_tabs": "platform_default" // 2. Always close the window: // "when_closing_with_no_tabs": "close_window", // 3. Never close the window // "when_closing_with_no_tabs": "keep_window_open", "when_closing_with_no_tabs": "platform_default", // Whether the cursor blinks in the editor. "cursor_blink": true, // How to highlight the current line in the editor. // // 1. Don't highlight the current line: // "none" // 2. Highlight the gutter area: // "gutter" // 3. Highlight the editor area: // "line" // 4. Highlight the full line (default): // "all" "current_line_highlight": "all", // Whether to pop the completions menu while typing in an editor without // explicitly requesting it. "show_completions_on_input": true, // Whether to display inline and alongside documentation for items in the // completions menu "show_completion_documentation": true, // The debounce delay before re-querying the language server for completion // documentation when not included in original completion list. "completion_documentation_secondary_query_debounce": 300, // Whether to show wrap guides (vertical rulers) in the editor. // Setting this to true will show a guide at the 'preferred_line_length' value // if softwrap is set to 'preferred_line_length', and will show any // additional guides as specified by the 'wrap_guides' setting. "show_wrap_guides": true, // Character counts at which to show wrap guides in the editor. "wrap_guides": [], // Hide the values of in variables from visual display in private files "redact_private_values": false, // The default number of lines to expand excerpts in the multibuffer by. "expand_excerpt_lines": 3, // Globs to match against file paths to determine if a file is private. "private_files": [ "**/.env*", "**/*.pem", "**/*.key", "**/*.cert", "**/*.crt", "**/secrets.yml" ], // Whether to use additional LSP queries to format (and amend) the code after // every "trigger" symbol input, defined by LSP server capabilities. "use_on_type_format": true, // Whether to automatically add matching closing characters when typing // opening parenthesis, bracket, brace, single or double quote characters. // For example, when you type (, Zed will add a closing ) at the correct position. "use_autoclose": true, // Whether to automatically surround selected text when typing opening parenthesis, // bracket, brace, single or double quote characters. // For example, when you select text and type (, Zed will surround the text with (). "use_auto_surround": true, // Controls how the editor handles the autoclosed characters. // When set to `false`(default), skipping over and auto-removing of the closing characters // happen only for auto-inserted characters. // Otherwise(when `true`), the closing characters are always skipped over and auto-removed // no matter how they were inserted. "always_treat_brackets_as_autoclosed": false, // Controls whether inline completions are shown immediately (true) // or manually by triggering `editor::ShowInlineCompletion` (false). "show_inline_completions": true, // Whether to show tabs and spaces in the editor. // This setting can take three values: // // 1. Draw tabs and spaces only for the selected text (default): // "selection" // 2. Do not draw any tabs or spaces: // "none" // 3. Draw all invisible symbols: // "all" // 4. Draw whitespaces at boundaries only: // "boundary" // For a whitespace to be on a boundary, any of the following conditions need to be met: // - It is a tab // - It is adjacent to an edge (start or end) // - It is adjacent to a whitespace (left or right) "show_whitespaces": "selection", // Settings related to calls in Zed "calls": { // Join calls with the microphone live by default "mute_on_join": false, // Share your project when you are the first to join a channel "share_on_join": false }, // Toolbar related settings "toolbar": { // Whether to show breadcrumbs. "breadcrumbs": true, // Whether to show quick action buttons. "quick_actions": true, // Whether to show the Selections menu in the editor toolbar "selections_menu": true }, // Scrollbar related settings "scrollbar": { // When to show the scrollbar in the editor. // This setting can take four values: // // 1. Show the scrollbar if there's important information or // follow the system's configured behavior (default): // "auto" // 2. Match the system's configured behavior: // "system" // 3. Always show the scrollbar: // "always" // 4. Never show the scrollbar: // "never" "show": "auto", // Whether to show cursor positions in the scrollbar. "cursors": true, // Whether to show git diff indicators in the scrollbar. "git_diff": true, // Whether to show buffer search results in the scrollbar. "search_results": true, // Whether to show selected symbol occurrences in the scrollbar. "selected_symbol": true, // Whether to show diagnostic indicators in the scrollbar. "diagnostics": true }, // What to do when multibuffer is double clicked in some of its excerpts // (parts of singleton buffers). // May take 2 values: // 1. Behave as a regular buffer and select the whole word (default). // "double_click_in_multibuffer": "select" // 2. Open the excerpt clicked as a new buffer in the new tab. // "double_click_in_multibuffer": "open", // For the case of "open", regular selection behavior can be achieved by holding `alt` when double clicking. "double_click_in_multibuffer": "select", "gutter": { // Whether to show line numbers in the gutter. "line_numbers": true, // Whether to show code action buttons in the gutter. "code_actions": true, // Whether to show runnables buttons in the gutter. "runnables": true, // Whether to show fold buttons in the gutter. "folds": true }, "indent_guides": { /// Whether to show indent guides in the editor. "enabled": true, /// The width of the indent guides in pixels, between 1 and 10. "line_width": 1, /// The width of the active indent guide in pixels, between 1 and 10. "active_line_width": 1, /// Determines how indent guides are colored. /// This setting can take the following three values: /// /// 1. "disabled" /// 2. "fixed" /// 3. "indent_aware" "coloring": "fixed", /// Determines how indent guide backgrounds are colored. /// This setting can take the following two values: /// /// 1. "disabled" /// 2. "indent_aware" "background_coloring": "disabled" }, // Whether the editor will scroll beyond the last line. "scroll_beyond_last_line": "one_page", // The number of lines to keep above/below the cursor when scrolling. "vertical_scroll_margin": 3, // Scroll sensitivity multiplier. This multiplier is applied // to both the horizontal and vertical delta values while scrolling. "scroll_sensitivity": 1.0, "relative_line_numbers": false, // When to populate a new search's query based on the text under the cursor. // This setting can take the following three values: // // 1. Always populate the search query with the word under the cursor (default). // "always" // 2. Only populate the search query when there is text selected // "selection" // 3. Never populate the search query // "never" "seed_search_query_from_cursor": "always", // Inlay hint related settings "inlay_hints": { // Global switch to toggle hints on and off, switched off by default. "enabled": false, // Toggle certain types of hints on and off, all switched on by default. "show_type_hints": true, "show_parameter_hints": true, // Corresponds to null/None LSP hint type value. "show_other_hints": true, // Time to wait after editing the buffer, before requesting the hints, // set to 0 to disable debouncing. "edit_debounce_ms": 700, // Time to wait after scrolling the buffer, before requesting the hints, // set to 0 to disable debouncing. "scroll_debounce_ms": 50 }, "project_panel": { // Whether to show the project panel button in the status bar "button": true, // Default width of the project panel. "default_width": 240, // Where to dock the project panel. Can be 'left' or 'right'. "dock": "left", // Whether to show file icons in the project panel. "file_icons": true, // Whether to show folder icons or chevrons for directories in the project panel. "folder_icons": true, // Whether to show the git status in the project panel. "git_status": true, // Amount of indentation for nested items. "indent_size": 20, // Whether to reveal it in the project panel automatically, // when a corresponding project entry becomes active. // Gitignored entries are never auto revealed. "auto_reveal_entries": 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": false, /// Scrollbar-related settings "scrollbar": { /// When to show the scrollbar in the project panel. /// /// Default: always "show": "always" } }, "outline_panel": { // Whether to show the outline panel button in the status bar "button": true, // Default width of the outline panel. "default_width": 300, // Where to dock the outline panel. Can be 'left' or 'right'. "dock": "left", // Whether to show file icons in the outline panel. "file_icons": true, // Whether to show folder icons or chevrons for directories in the outline panel. "folder_icons": true, // Whether to show the git status in the outline panel. "git_status": true, // Amount of indentation for nested items. "indent_size": 20, // Whether to reveal it in the outline panel automatically, // when a corresponding outline entry becomes active. // Gitignored entries are never auto revealed. "auto_reveal_entries": true, /// Whether to fold directories automatically /// when a directory has only one directory inside. "auto_fold_dirs": true }, "collaboration_panel": { // Whether to show the collaboration panel button in the status bar. "button": true, // Where to dock the collaboration panel. Can be 'left' or 'right'. "dock": "left", // Default width of the collaboration panel. "default_width": 240 }, "chat_panel": { // Whether to show the chat panel button in the status bar. "button": true, // Where to the chat panel. Can be 'left' or 'right'. "dock": "right", // Default width of the chat panel. "default_width": 240 }, "message_editor": { // Whether to automatically replace emoji shortcodes with emoji characters. // For example: typing `:wave:` gets replaced with `👋`. "auto_replace_emoji_shortcode": true }, "notification_panel": { // Whether to show the notification panel button in the status bar. "button": true, // Where to dock the notification panel. Can be 'left' or 'right'. "dock": "right", // Default width of the notification panel. "default_width": 380 }, "assistant": { // Version of this setting. "version": "1", // Whether the assistant is enabled. "enabled": true, // Whether to show the assistant panel button in the status bar. "button": true, // Where to dock the assistant panel. Can be 'left', 'right' or 'bottom'. "dock": "right", // Default width when the assistant is docked to the left or right. "default_width": 640, // Default height when the assistant is docked to the bottom. "default_height": 320, // AI provider. "provider": { "name": "openai", // The default model to use when creating new contexts. This // setting can take three values: // // 1. "gpt-3.5-turbo" // 2. "gpt-4" // 3. "gpt-4-turbo-preview" // 4. "gpt-4o" "default_model": "gpt-4o" } }, // Whether the screen sharing icon is shown in the os status bar. "show_call_status_icon": true, // Whether to use language servers to provide code intelligence. "enable_language_server": true, // Whether to perform linked edits of associated ranges, if the language server supports it. // For example, when editing opening <html> tag, the contents of the closing </html> tag will be edited as well. "linked_edits": true, // The list of language servers to use (or disable) for all languages. // // This is typically customized on a per-language basis. "language_servers": ["..."], // When to automatically save edited buffers. This setting can // take four values. // // 1. Never automatically save: // "autosave": "off", // 2. Save when changing focus away from the Zed window: // "autosave": "on_window_change", // 3. Save when changing focus away from a specific buffer: // "autosave": "on_focus_change", // 4. Save when idle for a certain amount of time: // "autosave": { "after_delay": {"milliseconds": 500} }, "autosave": "off", // Settings related to the editor's tab bar. "tab_bar": { // Whether or not to show the tab bar in the editor "show": true, // Whether or not to show the navigation history buttons. "show_nav_history_buttons": true }, // Settings related to the editor's tabs "tabs": { // Show git status colors in the editor tabs. "git_status": false, // Position of the close button on the editor tabs. "close_position": "right" }, // Settings related to preview tabs. "preview_tabs": { // Whether preview tabs should be enabled. // Preview tabs allow you to open files in preview mode, where they close automatically // when you switch to another file unless you explicitly pin them. // This is useful for quickly viewing files without cluttering your workspace. "enabled": true, // Whether to open tabs in preview mode when selected from the file finder. "enable_preview_from_file_finder": false, // Whether a preview tab gets replaced when code navigation is used to navigate away from the tab. "enable_preview_from_code_navigation": false }, // Whether or not to remove any trailing whitespace from lines of a buffer // before saving it. "remove_trailing_whitespace_on_save": true, // Whether to start a new line with a comment when a previous line is a comment as well. "extend_comment_on_newline": true, // Whether or not to ensure there's a single newline at the end of a buffer // when saving it. "ensure_final_newline_on_save": true, // Whether or not to perform a buffer format before saving // // Keep in mind, if the autosave with delay is enabled, format_on_save will be ignored "format_on_save": "on", // How to perform a buffer format. This setting can take 4 values: // // 1. Format code using the current language server: // "formatter": "language_server" // 2. Format code using an external command: // "formatter": { // "external": { // "command": "prettier", // "arguments": ["--stdin-filepath", "{buffer_path}"] // } // } // 3. Format code using Zed's Prettier integration: // "formatter": "prettier" // 4. Default. Format files using Zed's Prettier integration (if applicable), // or falling back to formatting via language server: // "formatter": "auto" "formatter": "auto", // How to soft-wrap long lines of text. // Possible values: // // 1. Do not soft wrap. // "soft_wrap": "none", // 2. Prefer a single line generally, unless an overly long line is encountered. // "soft_wrap": "prefer_line", // 3. Soft wrap lines that overflow the editor. // "soft_wrap": "editor_width", // 4. Soft wrap lines at the preferred line length. // "soft_wrap": "preferred_line_length", "soft_wrap": "prefer_line", // The column at which to soft-wrap lines, for buffers where soft-wrap // is enabled. "preferred_line_length": 80, // Whether to indent lines using tab characters, as opposed to multiple // spaces. "hard_tabs": false, // How many columns a tab should occupy. "tab_size": 4, // Control what info is collected by Zed. "telemetry": { // Send debug info like crash reports. "diagnostics": true,