Zed editor json

Here is my zed editor json. Themes, fonts are all these daily changes activities and a topic of ignorance as that is something a personal preference. What is important is how to use this json. I read and then wrote this json and if you want you can use. The only change that you have to make is your font and theme plus drop and add the programming language as per your choice.

// Zed settings
{
    // The name of the Zed theme to use for the UI
    "theme": "Zedokai Darker (Filter Ristretto)",
    "base_keymap": "VSCode",
    "features": {
        "copilot": false
    },
    "buffer_font_family": "Cascadia Code NF",
    "buffer_font_features": {
        "calt": true
    },
    "buffer_font_size": 23,
    "buffer_line_height": "standard",
    "ui_font_family": ".SystemUIFont",
    "ui_font_features": {
        "calt": true
    },
    "indent_guides": {
        "enabled": true,
        "line_width": 1,
        "active_line_width": 1,
        "coloring": "indent_aware",
        "background_coloring": "disabled"
    },
    "ui_font_size": 20,
    "active_pane_magnification": 1.0,
    "centered_layout": {
        "left_padding": 0.2,
        "right_padding": 0.2
    },
    "multi_cursor_modifier": "alt",
    "vim_mode": false,
    "hover_popover_enabled": true,
    "confirm_quit": true,
    "restore_on_startup": "last_workspace",
    "drop_target_size": 0.2,
    "cursor_blink": true,
    "show_completions_on_input": true,
    "show_completion_documentation": true,
    "completion_documentation_secondary_query_debounce": 400,
    "show_wrap_guides": true,
    "wrap_guides": [],
    "redact_private_values": true,
    "private_files": [
        "**/.env*",
        "**/*.pem",
        "**/*.key",
        "**/*.cert",
        "**/*.crt",
        "**/secrets.yml"
    ],
    "use_on_type_format": true,
    "use_autoclose": true,
    "always_treat_brackets_as_autoclosed": true,
    "show_copilot_suggestions": true,
    "show_whitespaces": "selection",
    "calls": {
        "mute_on_join": false,
        "share_on_join": true
    },
    "toolbar": {
        "breadcrumbs": true,
        "quick_actions": true
    },
    "scrollbar": {
        "show": "always",
        "git_diff": true,
        "search_results": true,
        "selected_symbol": true,
        "diagnostics": true
    },
    "double_click_in_multibuffer": "select",
    "gutter": {
        "line_numbers": true,
        "code_actions": true,
        "folds": true
    },
    "vertical_scroll_margin": 1,
    "scroll_sensitivity": 1.0,
    "relative_line_numbers": false,
    "seed_search_query_from_cursor": "always",
    "inlay_hints": {
        "enabled": true,
        "show_type_hints": true,
        "show_parameter_hints": true,
        "show_background": true,
        "show_other_hints": true,
        "edit_debounce_ms": 100,
        "scroll_debounce_ms": 100
    },
    "project_panel": {
        "button": true,
        "default_width": 140,
        "dock": "left",
        "file_icons": true,
        "folder_icons": true,
        "git_status": true,
        "indent_size": 1,
        "auto_reveal_entries": true,
        "auto_fold_dirs": false
    },
    "collaboration_panel": {
        "button": true,
        "dock": "left",
        "default_width": 100
    },
    "chat_panel": {
        "button": true,
        "dock": "right",
        "default_width": 200
    },
    "message_editor": {
        "auto_replace_emoji_shortcode": true
    },
    "notification_panel": {
        "button": true,
        "dock": "right",
        "default_width": 500
    },
    "assistant": {
        "default_model": {
            "provider": "openai",
            "model": "gpt-4o"
        },
        "version": "2",
        "enabled": true,
        "button": true,
        "dock": "right",
        "default_width": 640,
        "default_height": 320,
        "provider": {
            "name": "openai",
            "default_model": "gpt-4-turbo-preview"
        }
    },
    "language_models": {
        "ollama": {
            "api_url": "http://localhost:11434",
        },
    },
    "show_call_status_icon": true,
    "enable_language_server": true,
    "autosave": "on_focus_change",
    "tab_bar": {
        "show_nav_history_buttons": true
    },
    "tabs": {
        "git_status": true,
        "close_position": "right"
    },
    "preview_tabs": {
        "enabled": true,
        "enable_preview_from_file_finder": true
    },
    "remove_trailing_whitespace_on_save": true,
    "extend_comment_on_newline": true,
    "ensure_final_newline_on_save": true,
    "format_on_save": "on",
    "formatter": "auto",
    "soft_wrap": "none",
    "preferred_line_length": 50,
    "hard_tabs": false,
    "tab_size": 4,
    "telemetry": {
        "diagnostics": false,
        "metrics": false,
    },
    "auto_update": true,
    "diagnostics": {
        "include_warnings": true
    },
    "git": {
        "git_gutter": "tracked_files",
        "inline_blame": {
            "enabled": true
        }
    },
    "copilot": {
        "disabled_globs": [
            ".env"
        ]
    },
    "journal": {
        "path": "~",
        "hour_format": "hour12"
    },
    "terminal": {
        "shell": "system",
        "dock": "bottom",
        "default_width": 600,
        "default_height": 600,
        "working_directory": "current_project_directory",
        "blinking": "terminal_controlled",
        "alternate_scroll": "on",
        "option_as_meta": false,
        "copy_on_select": true,
        "button": true,
        "env": {},
        "line_height": "standard",
        "detect_venv": {
            "on": {
                "directories": [
                    ".env",
                    "env",
                    ".venv",
                    "venv"
                ],
                "activate_script": "default"
            }
        },
        "toolbar": {
            "title": true
        }
    },
    "deno": {
        "enable": true
    },
    "code_actions_on_format": {},
    "file_types": {},
    "languages": {
        "Go": {
            "code_actions_on_format": {
                "source.organizeImports": true
            }
        },
        "Rust": {
            "tab_size": 3
        },
        "TSX": {
            "formatter": {
                "external": {
                    "command": "prettier",
                    "arguments": [
                        "--stdin-filepath",
                        "{buffer_path}",
                        "--tab-width",
                        "2"
                    ]
                }
            },
            "code_actions_on_format": {
                "source.organizeImports": true,
                "source.fixAll.eslint": true
            }
        },
        "JavaScript": {
            "formatter": {
                "external": {
                    "command": "prettier",
                    "arguments": [
                        "--stdin-filepath",
                        "{buffer_path}",
                        "--tab-width",
                        "2"
                    ]
                }
            },
            "code_actions_on_format": {
                "source.fixAll.eslint": true
            }
        },
        "TypeScript": {
            "formatter": {
                "external": {
                    "command": "prettier",
                    "arguments": [
                        "--stdin-filepath",
                        "{buffer_path}",
                        "--tab-width",
                        "2"
                    ]
                }
            },
            "Python": {
                "format_on_save": {
                    "language_servers": [
                        "pyright",
                        "ruff"
                    ]
                },
                "formatter": {
                    "language_server": {
                        "name": "ruff"
                    }
                },
                "language_servers": [
                    "pyright",
                    "ruff"
                ],
            },
            "code_actions_on_format": {
                "source.organizeImports": true,
                "source.fixAll.eslint": true
            }
        }
    },
    "lsp": {
        "rust-analyzer": {
            "initialization_options": {
                "checkOnSave": {}
            }
        },
        "lsp": {
            "gopls": {
                "initialization_options": {
                    "hints": {
                        "assignVariableTypes": true,
                        "compositeLiteralFields": true,
                        "compositeLiteralTypes": true,
                        "constantValues": true,
                        "functionTypeParameters": true,
                        "parameterNames": true,
                        "rangeVariableTypes": true
                    }
                }
            }
        },
        "eslint": {
            "settings": {
                "codeActionOnSave": {
                    "rules": [
                        "import/order"
                    ]
                }
            }
        },
        "tailwindcss-language-server": {
            "settings": {
                "classAttributes": [
                    "class",
                    "className",
                    "ngClass",
                    "styles"
                ],
            },
        },
        "typescript-language-server": {
            "initialization_options": {
                "preferences": {
                    "strictNullChecks": true
                }
            }
        },
        "Markdown": {
            "enable_language_server": true
        },
        "julia": {
            "enable_language_server": true
        },
        "bash": {
            "enable_language_server": true
        },
    },
    "prettier": {
        "trailingComma": "es5",
        "tabWidth": 4,
        "semi": false,
        "singleQuote": true
    },
    "vim": {
        "use_system_clipboard": "always",
        "use_multiline_find": false,
        "use_smartcase_find": false
    },
    "server_url": "https://zed.dev",
    "preview": {},
    "nightly": {},
    "stable": {},
    "dev": {},
    "task": {
        "show_status_indicator": true
    },
    "line_indicator_format": "long",
    "file_scan_exclusions": [
        "**/.git",
        "**/.svn",
        "**/.hg",
        "**/CVS",
        "**/.DS_Store",
        "**/Thumbs.db",
        "**/.classpath",
        "**/.settings",
        "**/out",
        "**/dist",
        "**/.husky",
        "**/.turbo",
        "**/.vscode-test",
        "**/.vscode",
        "**/.next",
        "**/.storybook",
        "**/node_modules",
    ],
}

The font and the theme changes according to the language i am writing code in. I mainly use this for the Julia, Golang, Python, RUST, Javascript. You can configure as many as you like. Just paste this in your setting and you are ready to go with the editor for writing yourself.

If you need anything then let me know.

Thank you all,
Gaurav

2 Likes

@hydn thank you and i really enjoy using this editor for code writing. It works and do what an editor should be doing. No hangs, complete support for the normal text based code writing. No gimmcks like lot of themes and plugins. Complete language level support.

Give a try and you will like the same.
Gaurav

Here @hydn here is my one week of using Zed editor mainly for the code final touch up and not actually writing. Verdict: very good editor, fast, good language sever support and everything but lacks rainbow brackets so languages which are typed languages such as all i use have actually no support. Without rainbow bracket you cant find the opening and closing functions and everything and it was very difficult to work with. Apart from that very good editor.

I used it and since it lacks the rainbow bracket, so i uninstalled it. Like i said that these are all personal preferences and choices and many people who write their own code do it on a monthly basis or try everything new to keep themselves updated and also with whom they are working.

I dont estimate a person, by what font what code editor, browser or what language or anything such personal preferences as that shows lack of integrity and mental aptitude on my account and not on the other person. Any sensible person will say does it make any sense taking about these?.

Give it a try and let me know how you feel using it.

Thank you and evening from Germany,
Gaurav

Thank you and now I am only using the JetBrains Mono font. It looks much clear on the short laptop and i have a small one.

After taking a bigger one, will change the settings.

Evening to you from Germany,
Gaurav