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